Page MenuHomePhabricator

D7122.diff
No OneTemporary

D7122.diff

diff --git a/web/database/queries/draft-queries.js b/web/database/queries/draft-queries.js
new file mode 100644
--- /dev/null
+++ b/web/database/queries/draft-queries.js
@@ -0,0 +1,36 @@
+// @flow
+
+import type { SqliteDatabase } from 'sql.js';
+
+function removeAllDrafts(db: SqliteDatabase) {
+ db.exec(`DELETE FROM drafts`);
+}
+
+function updateDraft(db: SqliteDatabase, key: string, text: string) {
+ const query = `
+ INSERT OR REPLACE INTO drafts (key, text)
+ VALUES ($key, $text)
+ `;
+ const params = {
+ $key: key,
+ $text: text,
+ };
+
+ db.exec(query, params);
+}
+
+function moveDraft(db: SqliteDatabase, oldKey: string, newKey: string) {
+ const query = `
+ UPDATE OR REPLACE drafts
+ SET key = $newKey, text = (SELECT text FROM drafts WHERE key = $oldKey)
+ WHERE key = $oldKey
+ `;
+ const params = {
+ $newKey: newKey,
+ $oldKey: oldKey,
+ };
+
+ db.exec(query, params);
+}
+
+export { removeAllDrafts, updateDraft, moveDraft };

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 24, 8:21 AM (21 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2574680
Default Alt Text
D7122.diff (987 B)

Event Timeline