// 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, chat_model_id = NULL, memory_model_id = NULL, embedding_model_id = NULL, search_provider_id = NULL, 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, search_providers.id::text AS search_provider_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 LEFT JOIN search_providers ON search_providers.id = bots.search_provider_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"` SearchProviderID string `json:"search_provider_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, &i.SearchProviderID, ) 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), search_provider_id = COALESCE($7::uuid, bots.search_provider_id), updated_at = now() WHERE bots.id = $8 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, bots.search_provider_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, search_providers.id::text AS search_provider_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 LEFT JOIN search_providers ON search_providers.id = updated.search_provider_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"` SearchProviderID pgtype.UUID `json:"search_provider_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"` SearchProviderID string `json:"search_provider_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.SearchProviderID, arg.ID, ) var i UpsertBotSettingsRow err := row.Scan( &i.BotID, &i.MaxContextLoadTime, &i.Language, &i.AllowGuest, &i.ChatModelID, &i.MemoryModelID, &i.EmbeddingModelID, &i.SearchProviderID, ) return i, err }