favourited notes
This commit is contained in:
1 parent
87b61d6088
commit
f9cf17554a
25 files changed
+1534
-22
No files matched your search
@@ -178,6 +178,39 @@ pub fn get(query: Query) -> &'static str {
|
||||
Query::USER_LIST_PADS => {
|
||||
r#"SELECT p.slug, CAST(p.title AS CHAR CHARACTER SET utf8mb4) AS title, CAST(CASE WHEN p.password_hash IS NULL THEN 0 ELSE 1 END AS SIGNED) AS protected, p.updated_at, CAST(CASE WHEN p.is_private THEN 1 ELSE 0 END AS SIGNED) AS private, CAST(1 AS SIGNED) AS owned, 'rw' AS permission, '' AS shared_by FROM user_pads up JOIN pads p ON p.id = up.pad_id WHERE up.user_id = ? UNION SELECT p.slug, CAST(p.title AS CHAR CHARACTER SET utf8mb4) AS title, CAST(CASE WHEN p.password_hash IS NULL THEN 0 ELSE 1 END AS SIGNED), p.updated_at, CAST(CASE WHEN p.is_private THEN 1 ELSE 0 END AS SIGNED), CAST(0 AS SIGNED), rp.permission, COALESCE((SELECT u.nickname FROM user_pads owner_up JOIN users u ON u.id = owner_up.user_id WHERE owner_up.pad_id = p.id LIMIT 1), 'Unknown user') AS shared_by FROM resource_permissions rp JOIN pads p ON p.slug = rp.resource_slug WHERE rp.resource_kind = 'pad' AND rp.user_id = ? ORDER BY updated_at DESC"#
|
||||
}
|
||||
Query::USER_FAVORITE_PAD_INSERT => {
|
||||
r#"INSERT IGNORE INTO user_pad_favorites (user_id, pad_id) VALUES (?, ?)"#
|
||||
}
|
||||
Query::USER_FAVORITE_PAD_DELETE => {
|
||||
r#"DELETE FROM user_pad_favorites WHERE user_id = ? AND pad_id = ?"#
|
||||
}
|
||||
Query::USER_FAVORITE_PAD_EXISTS => {
|
||||
r#"SELECT COUNT(*) FROM user_pad_favorites WHERE user_id = ? AND pad_id = ?"#
|
||||
}
|
||||
Query::USER_FAVORITE_PAD_LIST => {
|
||||
r#"SELECT p.id, p.slug, CAST(p.title AS CHAR CHARACTER SET utf8mb4) AS title, p.updated_at, CAST(CASE WHEN p.is_private THEN 1 ELSE 0 END AS SIGNED) AS private, CAST(CASE WHEN p.password_hash IS NULL THEN 0 ELSE 1 END AS SIGNED) AS protected, f.created_at AS favorited_at FROM user_pad_favorites f JOIN pads p ON p.id = f.pad_id WHERE f.user_id = ? ORDER BY f.created_at DESC, p.id DESC"#
|
||||
}
|
||||
Query::USER_FAVORITE_NOTE_INSERT => {
|
||||
r#"INSERT IGNORE INTO user_note_favorites (user_id, note_id) VALUES (?, ?)"#
|
||||
}
|
||||
Query::USER_FAVORITE_NOTE_DELETE => {
|
||||
r#"DELETE FROM user_note_favorites WHERE user_id = ? AND note_id = ?"#
|
||||
}
|
||||
Query::USER_FAVORITE_NOTE_EXISTS => {
|
||||
r#"SELECT COUNT(*) FROM user_note_favorites WHERE user_id = ? AND note_id = ?"#
|
||||
}
|
||||
Query::USER_FAVORITE_NOTE_LIST => {
|
||||
r#"SELECT n.id, n.slug, CAST(n.title AS CHAR CHARACTER SET utf8mb4) AS title, n.updated_at, w.slug AS workspace_slug, CAST(w.title AS CHAR CHARACTER SET utf8mb4) AS workspace_title, CAST(CASE WHEN w.is_private THEN 1 ELSE 0 END AS SIGNED) AS private, CAST(CASE WHEN w.password_hash IS NULL THEN 0 ELSE 1 END AS SIGNED) AS protected, f.created_at AS favorited_at FROM user_note_favorites f JOIN notes n ON n.id = f.note_id JOIN workspaces w ON w.id = n.workspace_id WHERE f.user_id = ? ORDER BY f.created_at DESC, n.id DESC"#
|
||||
}
|
||||
Query::USER_FAVORITE_NOTE_IDS_BY_WORKSPACE => {
|
||||
r#"SELECT f.note_id FROM user_note_favorites f JOIN notes n ON n.id = f.note_id WHERE f.user_id = ? AND n.workspace_id = ?"#
|
||||
}
|
||||
Query::USER_FAVORITE_PADS_DELETE_BY_USER => {
|
||||
r#"DELETE FROM user_pad_favorites WHERE user_id = ?"#
|
||||
}
|
||||
Query::USER_FAVORITE_NOTES_DELETE_BY_USER => {
|
||||
r#"DELETE FROM user_note_favorites WHERE user_id = ?"#
|
||||
}
|
||||
Query::USER_OWNS_WORKSPACE => {
|
||||
r#"SELECT COUNT(*) FROM user_workspaces uw JOIN workspaces w ON w.id = uw.workspace_id WHERE uw.user_id = ? AND w.slug = ?"#
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user