Files
Memoh/db/queries/settings.sql
T
2026-02-07 20:45:26 +08:00

56 lines
2.3 KiB
SQL

-- name: GetSettingsByUserID :one
SELECT user_id, chat_model_id, memory_model_id, embedding_model_id, max_context_load_time, language
FROM user_settings
WHERE user_id = $1;
-- name: UpsertUserSettings :one
INSERT INTO user_settings (user_id, chat_model_id, memory_model_id, embedding_model_id, max_context_load_time, language)
VALUES ($1, $2, $3, $4, $5, $6)
ON CONFLICT (user_id) DO UPDATE SET
chat_model_id = EXCLUDED.chat_model_id,
memory_model_id = EXCLUDED.memory_model_id,
embedding_model_id = EXCLUDED.embedding_model_id,
max_context_load_time = EXCLUDED.max_context_load_time,
language = EXCLUDED.language
RETURNING user_id, chat_model_id, memory_model_id, embedding_model_id, max_context_load_time, language;
-- name: GetSettingsByBotID :one
SELECT bot_id, max_context_load_time, language, allow_guest
FROM bot_settings
WHERE bot_id = $1;
-- name: GetBotModelConfigByBotID :one
SELECT
bot_model_configs.bot_id,
chat_models.model_id AS chat_model_id,
memory_models.model_id AS memory_model_id,
embedding_models.model_id AS embedding_model_id
FROM bot_model_configs
LEFT JOIN models AS chat_models ON chat_models.id = bot_model_configs.chat_model_id
LEFT JOIN models AS memory_models ON memory_models.id = bot_model_configs.memory_model_id
LEFT JOIN models AS embedding_models ON embedding_models.id = bot_model_configs.embedding_model_id
WHERE bot_model_configs.bot_id = $1;
-- name: UpsertBotSettings :one
INSERT INTO bot_settings (bot_id, max_context_load_time, language, allow_guest)
VALUES ($1, $2, $3, $4)
ON CONFLICT (bot_id) DO UPDATE SET
max_context_load_time = EXCLUDED.max_context_load_time,
language = EXCLUDED.language,
allow_guest = EXCLUDED.allow_guest
RETURNING bot_id, max_context_load_time, language, allow_guest;
-- name: UpsertBotModelConfig :one
INSERT INTO bot_model_configs (bot_id, chat_model_id, memory_model_id, embedding_model_id)
VALUES ($1, $2, $3, $4)
ON CONFLICT (bot_id) DO UPDATE SET
chat_model_id = COALESCE(EXCLUDED.chat_model_id, bot_model_configs.chat_model_id),
memory_model_id = COALESCE(EXCLUDED.memory_model_id, bot_model_configs.memory_model_id),
embedding_model_id = COALESCE(EXCLUDED.embedding_model_id, bot_model_configs.embedding_model_id)
RETURNING bot_id, chat_model_id, memory_model_id, embedding_model_id;
-- name: DeleteSettingsByBotID :exec
DELETE FROM bot_settings
WHERE bot_id = $1;