messages.sql

 1-- name: GetMessage :one
 2SELECT *
 3FROM messages
 4WHERE id = ? LIMIT 1;
 5
 6-- name: ListMessagesBySession :many
 7SELECT *
 8FROM messages
 9WHERE session_id = ?
10ORDER BY created_at ASC;
11
12-- name: CreateMessage :one
13INSERT INTO messages (
14    id,
15    session_id,
16    role,
17    parts,
18    model,
19    created_at,
20    updated_at
21) VALUES (
22    ?, ?, ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
23)
24RETURNING *;
25
26-- name: UpdateMessage :exec
27UPDATE messages
28SET
29    parts = ?,
30    finished_at = ?,
31    updated_at = strftime('%s', 'now')
32WHERE id = ?;
33
34
35-- name: DeleteMessage :exec
36DELETE FROM messages
37WHERE id = ?;
38
39-- name: DeleteSessionMessages :exec
40DELETE FROM messages
41WHERE session_id = ?;