35 lines
1.3 KiB
SQL
35 lines
1.3 KiB
SQL
-- name: CreateKolAssistTask :exec
|
|
INSERT INTO kol_assist_tasks (id, tenant_id, kol_profile_id, prompt_id,
|
|
operator_id, task_type, status, request_json)
|
|
VALUES (sqlc.arg(id), sqlc.arg(tenant_id)::bigint, sqlc.arg(kol_profile_id),
|
|
sqlc.arg(prompt_id), sqlc.arg(operator_id),
|
|
sqlc.arg(task_type), 'queued', sqlc.arg(request_json)::jsonb);
|
|
|
|
-- name: GetKolAssistTask :one
|
|
SELECT id, tenant_id, kol_profile_id, prompt_id, operator_id, task_type,
|
|
status, request_json, result_json, error_message,
|
|
started_at, completed_at, created_at, updated_at
|
|
FROM kol_assist_tasks
|
|
WHERE id = sqlc.arg(id)
|
|
AND tenant_id = sqlc.arg(tenant_id)::bigint;
|
|
|
|
-- name: MarkKolAssistStarted :exec
|
|
UPDATE kol_assist_tasks
|
|
SET status = 'running', started_at = NOW(), updated_at = NOW()
|
|
WHERE id = sqlc.arg(id)
|
|
AND tenant_id = sqlc.arg(tenant_id)::bigint;
|
|
|
|
-- name: MarkKolAssistCompleted :exec
|
|
UPDATE kol_assist_tasks
|
|
SET status = 'completed', result_json = sqlc.arg(result_json)::jsonb,
|
|
completed_at = NOW(), updated_at = NOW()
|
|
WHERE id = sqlc.arg(id)
|
|
AND tenant_id = sqlc.arg(tenant_id)::bigint;
|
|
|
|
-- name: MarkKolAssistFailed :exec
|
|
UPDATE kol_assist_tasks
|
|
SET status = 'failed', error_message = sqlc.arg(error_message),
|
|
completed_at = NOW(), updated_at = NOW()
|
|
WHERE id = sqlc.arg(id)
|
|
AND tenant_id = sqlc.arg(tenant_id)::bigint;
|