feat: upsert is easier

This commit is contained in:
Julien Calixte
2026-02-09 00:17:38 +01:00
parent 7e956c3293
commit 6988450446
2 changed files with 18 additions and 28 deletions

View File

@@ -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,
],
);
}