Files
Memoh/db/queries/subagents.sql
T
2026-01-31 19:58:17 +08:00

47 lines
1.6 KiB
SQL

-- name: CreateSubagent :one
INSERT INTO subagents (name, description, user_id, messages, metadata, skills)
VALUES ($1, $2, $3, $4, $5, $6)
RETURNING id, name, description, created_at, updated_at, deleted, deleted_at, user_id, messages, metadata, skills;
-- name: GetSubagentByID :one
SELECT id, name, description, created_at, updated_at, deleted, deleted_at, user_id, messages, metadata, skills
FROM subagents
WHERE id = $1 AND deleted = false;
-- name: ListSubagentsByUser :many
SELECT id, name, description, created_at, updated_at, deleted, deleted_at, user_id, messages, metadata, skills
FROM subagents
WHERE user_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, user_id, messages, metadata, skills;
-- 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, user_id, messages, metadata, skills;
-- 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, user_id, messages, metadata, skills;
-- name: SoftDeleteSubagent :exec
UPDATE subagents
SET deleted = true,
deleted_at = now(),
updated_at = now()
WHERE id = $1 AND deleted = false;