feat: upsert is easier
This commit is contained in:
@@ -3,12 +3,23 @@ import type { Note } from "./note"
|
||||
|
||||
export const db = new DB("notes.db");
|
||||
|
||||
export const createNote = async (note: Note) => {
|
||||
return db.query(
|
||||
export const upsertNote = async (note: Note) => {
|
||||
db.query(
|
||||
`
|
||||
INSERT INTO note (
|
||||
title, content, publishedAt, createdAt, did, rkey
|
||||
) VALUES (?, ?, ?, ?, ?, ?)
|
||||
title,
|
||||
content,
|
||||
publishedAt,
|
||||
createdAt,
|
||||
did,
|
||||
rkey
|
||||
)
|
||||
VALUES (?, ?, ?, ?, ?, ?)
|
||||
ON CONFLICT(did, rkey)
|
||||
DO UPDATE SET
|
||||
title = excluded.title,
|
||||
content = excluded.content,
|
||||
publishedAt = excluded.publishedAt
|
||||
`,
|
||||
[
|
||||
note.title,
|
||||
@@ -20,24 +31,3 @@ export const createNote = async (note: Note) => {
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
export const updateNote = async (note: Note) => {
|
||||
db.query(
|
||||
`
|
||||
UPDATE note
|
||||
SET
|
||||
title = ?,
|
||||
content = ?,
|
||||
publishedAt = ?
|
||||
WHERE did = ?
|
||||
AND rkey = ?
|
||||
`,
|
||||
[
|
||||
note.title,
|
||||
note.content,
|
||||
note.publishedAt, // publishedAt
|
||||
note.did,
|
||||
note.rkey,
|
||||
],
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user