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    created_at,
19    updated_at
20) VALUES (
21    ?, ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
22)
23RETURNING *;
24
25-- name: UpdateMessage :exec
26UPDATE messages
27SET
28    parts = ?,
29    updated_at = strftime('%s', 'now')
30WHERE id = ?;
31
32-- name: DeleteMessage :exec
33DELETE FROM messages
34WHERE id = ?;
35
36-- name: DeleteSessionMessages :exec
37DELETE FROM messages
38WHERE session_id = ?;