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