feat(chat): sqlc queries for conversations/messages/attachments/templates/endpoints/models/usage

This commit is contained in:
2026-05-04 09:52:06 +08:00
parent ca5a018cd4
commit a1d0fbc3d3
17 changed files with 1929 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
-- name: InsertLLMModel :one
INSERT INTO llm_models (
id, endpoint_id, model_id, display_name, capabilities,
context_window, max_output_tokens,
prompt_price_per_million_usd, completion_price_per_million_usd, thinking_price_per_million_usd,
is_title_generator, enabled, sort_order
) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)
RETURNING *;
-- name: GetLLMModel :one
SELECT * FROM llm_models WHERE id = $1;
-- name: GetTitleGeneratorModel :one
SELECT * FROM llm_models WHERE is_title_generator = true AND enabled = true LIMIT 1;
-- name: ListLLMModels :many
SELECT * FROM llm_models
WHERE ($1::boolean = false) OR enabled = true
ORDER BY sort_order, display_name;
-- name: UpdateLLMModel :exec
UPDATE llm_models
SET display_name = COALESCE($2, display_name),
capabilities = COALESCE($3, capabilities),
context_window = COALESCE($4, context_window),
max_output_tokens = COALESCE($5, max_output_tokens),
prompt_price_per_million_usd = COALESCE($6, prompt_price_per_million_usd),
completion_price_per_million_usd = COALESCE($7, completion_price_per_million_usd),
thinking_price_per_million_usd = COALESCE($8, thinking_price_per_million_usd),
is_title_generator = COALESCE($9, is_title_generator),
enabled = COALESCE($10, enabled),
sort_order = COALESCE($11, sort_order),
updated_at = NOW()
WHERE id = $1;
-- name: DeleteLLMModel :exec
DELETE FROM llm_models WHERE id = $1;