Files
Memoh/internal/db/sqlc/settings.sql.go
T
BBQ 6aebbe9279 feat: refactor User/Bot architecture and implement multi-channel gateway
Major changes:
1. Core Architecture: Decoupled Bots from Users. Bots now have independent lifecycles, member management (bot_members), and dedicated configurations.
2. Channel Gateway:
   - Implemented a unified Channel Manager supporting Feishu, Telegram, and Local (Web/CLI) adapters.
   - Added message processing pipeline to normalize interactions across different platforms.
   - Introduced a Contact system for identity binding and guest access policies.
3. Database & Tooling:
   - Consolidated all migrations into 0001_init with updated schema for bots, channels, and contacts.
   - Optimized sqlc.yaml to automatically track the migrations directory.
4. Agent Enhancements:
   - Introduced ToolContext to provide Agents with platform-aware execution capabilities (e.g., messaging, contact lookups).
   - Added tool logging and fallback mechanisms for toolChoice execution.
5. UI & Docs: Updated frontend stores, UI components, and Swagger documentation to align with the new Bot-centric model.
2026-02-04 23:49:50 +08:00

137 lines
3.7 KiB
Go

// 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
DELETE FROM bot_settings
WHERE bot_id = $1
`
func (q *Queries) DeleteSettingsByBotID(ctx context.Context, botID pgtype.UUID) error {
_, err := q.db.Exec(ctx, deleteSettingsByBotID, botID)
return err
}
const getSettingsByBotID = `-- name: GetSettingsByBotID :one
SELECT bot_id, max_context_load_time, language, allow_guest
FROM bot_settings
WHERE bot_id = $1
`
func (q *Queries) GetSettingsByBotID(ctx context.Context, botID pgtype.UUID) (BotSetting, error) {
row := q.db.QueryRow(ctx, getSettingsByBotID, botID)
var i BotSetting
err := row.Scan(
&i.BotID,
&i.MaxContextLoadTime,
&i.Language,
&i.AllowGuest,
)
return i, err
}
const getSettingsByUserID = `-- 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
`
func (q *Queries) GetSettingsByUserID(ctx context.Context, userID pgtype.UUID) (UserSetting, error) {
row := q.db.QueryRow(ctx, getSettingsByUserID, userID)
var i UserSetting
err := row.Scan(
&i.UserID,
&i.ChatModelID,
&i.MemoryModelID,
&i.EmbeddingModelID,
&i.MaxContextLoadTime,
&i.Language,
)
return i, err
}
const upsertBotSettings = `-- 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
`
type UpsertBotSettingsParams struct {
BotID pgtype.UUID `json:"bot_id"`
MaxContextLoadTime int32 `json:"max_context_load_time"`
Language string `json:"language"`
AllowGuest bool `json:"allow_guest"`
}
func (q *Queries) UpsertBotSettings(ctx context.Context, arg UpsertBotSettingsParams) (BotSetting, error) {
row := q.db.QueryRow(ctx, upsertBotSettings,
arg.BotID,
arg.MaxContextLoadTime,
arg.Language,
arg.AllowGuest,
)
var i BotSetting
err := row.Scan(
&i.BotID,
&i.MaxContextLoadTime,
&i.Language,
&i.AllowGuest,
)
return i, err
}
const upsertUserSettings = `-- 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
`
type UpsertUserSettingsParams 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) (UserSetting, error) {
row := q.db.QueryRow(ctx, upsertUserSettings,
arg.UserID,
arg.ChatModelID,
arg.MemoryModelID,
arg.EmbeddingModelID,
arg.MaxContextLoadTime,
arg.Language,
)
var i UserSetting
err := row.Scan(
&i.UserID,
&i.ChatModelID,
&i.MemoryModelID,
&i.EmbeddingModelID,
&i.MaxContextLoadTime,
&i.Language,
)
return i, err
}