You've already forked agentic-coding-workflow
36 lines
1.3 KiB
SQL
36 lines
1.3 KiB
SQL
-- name: CreateProject :one
|
|
INSERT INTO projects (id, slug, name, description, visibility, owner_id)
|
|
VALUES ($1, $2, $3, $4, $5, $6)
|
|
RETURNING id, slug, name, description, visibility, owner_id, archived_at, created_at, updated_at;
|
|
|
|
-- name: GetProjectBySlug :one
|
|
SELECT id, slug, name, description, visibility, owner_id, archived_at, created_at, updated_at
|
|
FROM projects WHERE slug = $1;
|
|
|
|
-- name: GetProjectByID :one
|
|
SELECT id, slug, name, description, visibility, owner_id, archived_at, created_at, updated_at
|
|
FROM projects WHERE id = $1;
|
|
|
|
-- name: ListProjects :many
|
|
SELECT id, slug, name, description, visibility, owner_id, archived_at, created_at, updated_at
|
|
FROM projects
|
|
WHERE (sqlc.arg('include_archived')::bool OR archived_at IS NULL)
|
|
ORDER BY created_at DESC;
|
|
|
|
-- name: UpdateProject :one
|
|
UPDATE projects
|
|
SET name = $2,
|
|
description = $3,
|
|
visibility = $4,
|
|
updated_at = now()
|
|
WHERE id = $1
|
|
RETURNING id, slug, name, description, visibility, owner_id, archived_at, created_at, updated_at;
|
|
|
|
-- name: ArchiveProject :exec
|
|
UPDATE projects SET archived_at = now(), updated_at = now()
|
|
WHERE id = $1 AND archived_at IS NULL;
|
|
|
|
-- name: UnarchiveProject :exec
|
|
UPDATE projects SET archived_at = NULL, updated_at = now()
|
|
WHERE id = $1 AND archived_at IS NOT NULL;
|