Files
Memoh/db/queries/subagents.sql
T
2026-02-22 16:35:50 +08:00

59 lines
2.1 KiB
SQL

-- name: CreateSubagent :one
INSERT INTO subagents (name, description, bot_id, messages, metadata, skills)
VALUES ($1, $2, $3, $4, $5, $6)
RETURNING id, name, description, created_at, updated_at, deleted, deleted_at, bot_id, messages, metadata, skills, usage;
-- name: GetSubagentByID :one
SELECT id, name, description, created_at, updated_at, deleted, deleted_at, bot_id, messages, metadata, skills, usage
FROM subagents
WHERE id = $1 AND deleted = false;
-- name: GetSubagentByBotAndName :one
SELECT id, name, description, created_at, updated_at, deleted, deleted_at, bot_id, messages, metadata, skills, usage
FROM subagents
WHERE bot_id = $1 AND name = $2 AND deleted = false;
-- name: ListSubagentsByBot :many
SELECT id, name, description, created_at, updated_at, deleted, deleted_at, bot_id, messages, metadata, skills, usage
FROM subagents
WHERE bot_id = $1 AND deleted = false
ORDER BY created_at DESC;
-- name: UpdateSubagent :one
UPDATE subagents
SET name = $2,
description = $3,
metadata = $4,
updated_at = now()
WHERE id = $1 AND deleted = false
RETURNING id, name, description, created_at, updated_at, deleted, deleted_at, bot_id, messages, metadata, skills, usage;
-- name: UpdateSubagentMessages :one
UPDATE subagents
SET messages = $2,
updated_at = now()
WHERE id = $1 AND deleted = false
RETURNING id, name, description, created_at, updated_at, deleted, deleted_at, bot_id, messages, metadata, skills, usage;
-- name: UpdateSubagentMessagesAndUsage :one
UPDATE subagents
SET messages = $2,
usage = $3,
updated_at = now()
WHERE id = $1 AND deleted = false
RETURNING id, name, description, created_at, updated_at, deleted, deleted_at, bot_id, messages, metadata, skills, usage;
-- name: UpdateSubagentSkills :one
UPDATE subagents
SET skills = $2,
updated_at = now()
WHERE id = $1 AND deleted = false
RETURNING id, name, description, created_at, updated_at, deleted, deleted_at, bot_id, messages, metadata, skills, usage;
-- name: SoftDeleteSubagent :exec
UPDATE subagents
SET deleted = true,
deleted_at = now(),
updated_at = now()
WHERE id = $1 AND deleted = false;