// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: settings.sql package sqlc import ( "context" "github.com/jackc/pgx/v5/pgtype" ) const deleteSettingsByBotID = `-- name: DeleteSettingsByBotID :exec UPDATE bots SET max_context_load_time = 1440, language = 'auto', allow_guest = false, updated_at = now() WHERE id = $1 ` func (q *Queries) DeleteSettingsByBotID(ctx context.Context, id pgtype.UUID) error { _, err := q.db.Exec(ctx, deleteSettingsByBotID, id) return err } const getSettingsByBotID = `-- name: GetSettingsByBotID :one SELECT bots.id AS bot_id, bots.max_context_load_time, bots.language, bots.allow_guest, 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 bots LEFT JOIN models AS chat_models ON chat_models.id = bots.chat_model_id LEFT JOIN models AS memory_models ON memory_models.id = bots.memory_model_id LEFT JOIN models AS embedding_models ON embedding_models.id = bots.embedding_model_id WHERE bots.id = $1 ` type GetSettingsByBotIDRow struct { BotID pgtype.UUID `json:"bot_id"` MaxContextLoadTime int32 `json:"max_context_load_time"` Language string `json:"language"` AllowGuest bool `json:"allow_guest"` ChatModelID pgtype.Text `json:"chat_model_id"` MemoryModelID pgtype.Text `json:"memory_model_id"` EmbeddingModelID pgtype.Text `json:"embedding_model_id"` } func (q *Queries) GetSettingsByBotID(ctx context.Context, id pgtype.UUID) (GetSettingsByBotIDRow, error) { row := q.db.QueryRow(ctx, getSettingsByBotID, id) var i GetSettingsByBotIDRow err := row.Scan( &i.BotID, &i.MaxContextLoadTime, &i.Language, &i.AllowGuest, &i.ChatModelID, &i.MemoryModelID, &i.EmbeddingModelID, ) return i, err } const getSettingsByUserID = `-- name: GetSettingsByUserID :one SELECT id AS user_id, chat_model_id, memory_model_id, embedding_model_id, max_context_load_time, language FROM users WHERE id = $1 ` type GetSettingsByUserIDRow struct { UserID pgtype.UUID `json:"user_id"` ChatModelID pgtype.Text `json:"chat_model_id"` MemoryModelID pgtype.Text `json:"memory_model_id"` EmbeddingModelID pgtype.Text `json:"embedding_model_id"` MaxContextLoadTime int32 `json:"max_context_load_time"` Language string `json:"language"` } func (q *Queries) GetSettingsByUserID(ctx context.Context, id pgtype.UUID) (GetSettingsByUserIDRow, error) { row := q.db.QueryRow(ctx, getSettingsByUserID, id) var i GetSettingsByUserIDRow err := row.Scan( &i.UserID, &i.ChatModelID, &i.MemoryModelID, &i.EmbeddingModelID, &i.MaxContextLoadTime, &i.Language, ) return i, err } const upsertBotSettings = `-- name: UpsertBotSettings :one WITH updated AS ( UPDATE bots SET max_context_load_time = $1, language = $2, allow_guest = $3, chat_model_id = COALESCE($4::uuid, bots.chat_model_id), memory_model_id = COALESCE($5::uuid, bots.memory_model_id), embedding_model_id = COALESCE($6::uuid, bots.embedding_model_id), updated_at = now() WHERE bots.id = $7 RETURNING bots.id, bots.max_context_load_time, bots.language, bots.allow_guest, bots.chat_model_id, bots.memory_model_id, bots.embedding_model_id ) SELECT updated.id AS bot_id, updated.max_context_load_time, updated.language, updated.allow_guest, 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 updated LEFT JOIN models AS chat_models ON chat_models.id = updated.chat_model_id LEFT JOIN models AS memory_models ON memory_models.id = updated.memory_model_id LEFT JOIN models AS embedding_models ON embedding_models.id = updated.embedding_model_id ` type UpsertBotSettingsParams struct { MaxContextLoadTime int32 `json:"max_context_load_time"` Language string `json:"language"` AllowGuest bool `json:"allow_guest"` ChatModelID pgtype.UUID `json:"chat_model_id"` MemoryModelID pgtype.UUID `json:"memory_model_id"` EmbeddingModelID pgtype.UUID `json:"embedding_model_id"` ID pgtype.UUID `json:"id"` } type UpsertBotSettingsRow struct { BotID pgtype.UUID `json:"bot_id"` MaxContextLoadTime int32 `json:"max_context_load_time"` Language string `json:"language"` AllowGuest bool `json:"allow_guest"` ChatModelID pgtype.Text `json:"chat_model_id"` MemoryModelID pgtype.Text `json:"memory_model_id"` EmbeddingModelID pgtype.Text `json:"embedding_model_id"` } func (q *Queries) UpsertBotSettings(ctx context.Context, arg UpsertBotSettingsParams) (UpsertBotSettingsRow, error) { row := q.db.QueryRow(ctx, upsertBotSettings, arg.MaxContextLoadTime, arg.Language, arg.AllowGuest, arg.ChatModelID, arg.MemoryModelID, arg.EmbeddingModelID, arg.ID, ) var i UpsertBotSettingsRow err := row.Scan( &i.BotID, &i.MaxContextLoadTime, &i.Language, &i.AllowGuest, &i.ChatModelID, &i.MemoryModelID, &i.EmbeddingModelID, ) return i, err } const upsertUserSettings = `-- name: UpsertUserSettings :one UPDATE users SET chat_model_id = $2, memory_model_id = $3, embedding_model_id = $4, max_context_load_time = $5, language = $6, updated_at = now() WHERE id = $1 RETURNING id AS user_id, chat_model_id, memory_model_id, embedding_model_id, max_context_load_time, language ` type UpsertUserSettingsParams struct { ID pgtype.UUID `json:"id"` ChatModelID pgtype.Text `json:"chat_model_id"` MemoryModelID pgtype.Text `json:"memory_model_id"` EmbeddingModelID pgtype.Text `json:"embedding_model_id"` MaxContextLoadTime int32 `json:"max_context_load_time"` Language string `json:"language"` } type UpsertUserSettingsRow struct { UserID pgtype.UUID `json:"user_id"` ChatModelID pgtype.Text `json:"chat_model_id"` MemoryModelID pgtype.Text `json:"memory_model_id"` EmbeddingModelID pgtype.Text `json:"embedding_model_id"` MaxContextLoadTime int32 `json:"max_context_load_time"` Language string `json:"language"` } func (q *Queries) UpsertUserSettings(ctx context.Context, arg UpsertUserSettingsParams) (UpsertUserSettingsRow, error) { row := q.db.QueryRow(ctx, upsertUserSettings, arg.ID, arg.ChatModelID, arg.MemoryModelID, arg.EmbeddingModelID, arg.MaxContextLoadTime, arg.Language, ) var i UpsertUserSettingsRow err := row.Scan( &i.UserID, &i.ChatModelID, &i.MemoryModelID, &i.EmbeddingModelID, &i.MaxContextLoadTime, &i.Language, ) return i, err }