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: ListAllMessages :many
13SELECT *
14FROM messages
15WHERE role = 'user'
16ORDER BY created_at ASC;
17
18-- name: CreateMessage :one
19INSERT INTO messages (
20    id,
21    session_id,
22    role,
23    parts,
24    model,
25    provider,
26    is_summary_message,
27    created_at,
28    updated_at
29) VALUES (
30    ?, ?, ?, ?, ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
31)
32RETURNING *;
33
34-- name: UpdateMessage :exec
35UPDATE messages
36SET
37    parts = ?,
38    finished_at = ?,
39    updated_at = strftime('%s', 'now')
40WHERE id = ?;
41
42
43-- name: DeleteMessage :exec
44DELETE FROM messages
45WHERE id = ?;
46
47-- name: DeleteSessionMessages :exec
48DELETE FROM messages
49WHERE session_id = ?;