2021-11-02 20:45:05 +01:00
|
|
|
-- name: GetTaskWatcher :one
|
|
|
|
SELECT * FROM task_watcher WHERE user_id = $1 AND task_id = $2;
|
|
|
|
|
2021-11-18 00:11:28 +01:00
|
|
|
-- name: GetTaskWatchersForTask :many
|
|
|
|
SELECT * FROM task_watcher WHERE task_id = $1;
|
|
|
|
|
2021-11-02 20:45:05 +01:00
|
|
|
-- name: CreateTaskWatcher :one
|
|
|
|
INSERT INTO task_watcher (user_id, task_id, watched_at) VALUES ($1, $2, $3) RETURNING *;
|
|
|
|
|
2021-11-04 19:36:46 +01:00
|
|
|
-- name: GetTaskIDByShortID :one
|
|
|
|
SELECT task_id FROM task WHERE short_id = $1;
|
|
|
|
|
2021-11-02 20:45:05 +01:00
|
|
|
-- name: DeleteTaskWatcher :exec
|
|
|
|
DELETE FROM task_watcher WHERE user_id = $1 AND task_id = $2;
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
-- name: CreateTask :one
|
|
|
|
INSERT INTO task (task_group_id, created_at, name, position)
|
|
|
|
VALUES($1, $2, $3, $4) RETURNING *;
|
|
|
|
|
2020-09-11 01:15:06 +02:00
|
|
|
-- name: CreateTaskAll :one
|
|
|
|
INSERT INTO task (task_group_id, created_at, name, position, description, complete, due_date)
|
|
|
|
VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING *;
|
|
|
|
|
2020-04-20 05:02:55 +02:00
|
|
|
-- name: UpdateTaskDescription :one
|
|
|
|
UPDATE task SET description = $2 WHERE task_id = $1 RETURNING *;
|
|
|
|
|
|
|
|
-- name: GetTaskByID :one
|
|
|
|
SELECT * FROM task WHERE task_id = $1;
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
-- name: GetTasksForTaskGroupID :many
|
|
|
|
SELECT * FROM task WHERE task_group_id = $1;
|
|
|
|
|
|
|
|
-- name: GetAllTasks :many
|
|
|
|
SELECT * FROM task;
|
|
|
|
|
|
|
|
-- name: UpdateTaskLocation :one
|
|
|
|
UPDATE task SET task_group_id = $2, position = $3 WHERE task_id = $1 RETURNING *;
|
|
|
|
|
2020-09-11 01:15:06 +02:00
|
|
|
-- name: UpdateTaskPosition :one
|
|
|
|
UPDATE task SET position = $2 WHERE task_id = $1 RETURNING *;
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
-- name: DeleteTaskByID :exec
|
|
|
|
DELETE FROM task WHERE task_id = $1;
|
|
|
|
|
|
|
|
-- name: UpdateTaskName :one
|
|
|
|
UPDATE task SET name = $2 WHERE task_id = $1 RETURNING *;
|
2020-04-11 21:24:45 +02:00
|
|
|
|
|
|
|
-- name: DeleteTasksByTaskGroupID :execrows
|
|
|
|
DELETE FROM task where task_group_id = $1;
|
2020-06-16 00:36:59 +02:00
|
|
|
|
|
|
|
-- name: UpdateTaskDueDate :one
|
2021-01-01 21:51:40 +01:00
|
|
|
UPDATE task SET due_date = $2, has_time = $3 WHERE task_id = $1 RETURNING *;
|
2020-06-19 01:12:15 +02:00
|
|
|
|
|
|
|
-- name: SetTaskComplete :one
|
2020-08-28 01:57:23 +02:00
|
|
|
UPDATE task SET complete = $2, completed_at = $3 WHERE task_id = $1 RETURNING *;
|
2020-07-05 01:02:57 +02:00
|
|
|
|
|
|
|
-- name: GetProjectIDForTask :one
|
|
|
|
SELECT project_id FROM task
|
|
|
|
INNER JOIN task_group ON task_group.task_group_id = task.task_group_id
|
|
|
|
WHERE task_id = $1;
|
2020-12-19 03:34:35 +01:00
|
|
|
|
2021-11-02 20:45:05 +01:00
|
|
|
-- name: GetProjectInfoForTask :one
|
2021-11-04 19:36:46 +01:00
|
|
|
SELECT project.short_id AS project_short_id, project.name, task.short_id AS task_short_id FROM task
|
2021-11-02 20:45:05 +01:00
|
|
|
INNER JOIN task_group ON task_group.task_group_id = task.task_group_id
|
|
|
|
INNER JOIN project ON task_group.project_id = project.project_id
|
|
|
|
WHERE task_id = $1;
|
|
|
|
|
2020-12-19 03:34:35 +01:00
|
|
|
-- name: CreateTaskComment :one
|
|
|
|
INSERT INTO task_comment (task_id, message, created_at, created_by)
|
|
|
|
VALUES ($1, $2, $3, $4) RETURNING *;
|
|
|
|
|
|
|
|
-- name: GetCommentsForTaskID :many
|
|
|
|
SELECT * FROM task_comment WHERE task_id = $1 ORDER BY created_at;
|
|
|
|
|
|
|
|
-- name: DeleteTaskCommentByID :one
|
|
|
|
DELETE FROM task_comment WHERE task_comment_id = $1 RETURNING *;
|
|
|
|
|
|
|
|
-- name: UpdateTaskComment :one
|
|
|
|
UPDATE task_comment SET message = $2, updated_at = $3 WHERE task_comment_id = $1 RETURNING *;
|
2020-12-31 03:56:59 +01:00
|
|
|
|
|
|
|
-- name: GetRecentlyAssignedTaskForUserID :many
|
|
|
|
SELECT task.* FROM task_assigned INNER JOIN
|
2021-01-04 00:04:15 +01:00
|
|
|
task ON task.task_id = task_assigned.task_id WHERE user_id = $1
|
|
|
|
AND $4::boolean = true OR (
|
|
|
|
$4::boolean = false AND complete = $2 AND (
|
|
|
|
$2 = false OR ($2 = true AND completed_at > $3)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
ORDER BY task_assigned.assigned_date DESC;
|
2020-12-31 03:56:59 +01:00
|
|
|
|
|
|
|
-- name: GetAssignedTasksProjectForUserID :many
|
|
|
|
SELECT task.* FROM task_assigned
|
2021-01-04 00:04:15 +01:00
|
|
|
INNER JOIN task ON task.task_id = task_assigned.task_id
|
2020-12-31 03:56:59 +01:00
|
|
|
INNER JOIN task_group ON task_group.task_group_id = task.task_group_id
|
2021-01-04 00:04:15 +01:00
|
|
|
WHERE user_id = $1
|
|
|
|
AND $4::boolean = true OR (
|
|
|
|
$4::boolean = false AND complete = $2 AND (
|
|
|
|
$2 = false OR ($2 = true AND completed_at > $3)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
ORDER BY task_group.project_id DESC, task_assigned.assigned_date DESC;
|
2020-12-31 03:56:59 +01:00
|
|
|
|
|
|
|
-- name: GetProjectIdMappings :many
|
|
|
|
SELECT project_id, task_id FROM task
|
|
|
|
INNER JOIN task_group ON task_group.task_group_id = task.task_group_id
|
|
|
|
WHERE task_id = ANY($1::uuid[]);
|
|
|
|
|
|
|
|
-- name: GetAssignedTasksDueDateForUserID :many
|
|
|
|
SELECT task.* FROM task_assigned
|
2021-01-04 00:04:15 +01:00
|
|
|
INNER JOIN task ON task.task_id = task_assigned.task_id
|
2020-12-31 03:56:59 +01:00
|
|
|
INNER JOIN task_group ON task_group.task_group_id = task.task_group_id
|
2021-01-04 00:04:15 +01:00
|
|
|
WHERE user_id = $1
|
|
|
|
AND $4::boolean = true OR (
|
|
|
|
$4::boolean = false AND complete = $2 AND (
|
|
|
|
$2 = false OR ($2 = true AND completed_at > $3)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
ORDER BY task.due_date DESC, task_group.project_id DESC;
|
2021-10-25 22:14:24 +02:00
|
|
|
|
|
|
|
-- name: GetCommentCountForTask :one
|
|
|
|
SELECT COUNT(*) FROM task_comment WHERE task_id = $1;
|
2021-11-06 04:35:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
-- name: CreateDueDateReminder :one
|
2021-11-18 00:11:28 +01:00
|
|
|
INSERT INTO task_due_date_reminder (task_id, period, duration, remind_at) VALUES ($1, $2, $3, $4) RETURNING *;
|
2021-11-06 04:35:57 +01:00
|
|
|
|
|
|
|
-- name: UpdateDueDateReminder :one
|
2021-11-18 00:11:28 +01:00
|
|
|
UPDATE task_due_date_reminder SET remind_at = $4, period = $2, duration = $3 WHERE due_date_reminder_id = $1 RETURNING *;
|
|
|
|
|
|
|
|
-- name: GetTaskForDueDateReminder :one
|
|
|
|
SELECT task.* FROM task_due_date_reminder
|
|
|
|
INNER JOIN task ON task.task_id = task_due_date_reminder.task_id
|
|
|
|
WHERE task_due_date_reminder.due_date_reminder_id = $1;
|
|
|
|
|
|
|
|
-- name: UpdateDueDateReminderRemindAt :one
|
|
|
|
UPDATE task_due_date_reminder SET remind_at = $2 WHERE due_date_reminder_id = $1 RETURNING *;
|
2021-11-06 04:35:57 +01:00
|
|
|
|
|
|
|
-- name: GetDueDateRemindersForTaskID :many
|
|
|
|
SELECT * FROM task_due_date_reminder WHERE task_id = $1;
|
|
|
|
|
2021-11-18 00:11:28 +01:00
|
|
|
-- name: GetDueDateReminderByID :one
|
|
|
|
SELECT * FROM task_due_date_reminder WHERE due_date_reminder_id = $1;
|
|
|
|
|
2021-11-06 04:35:57 +01:00
|
|
|
-- name: DeleteDueDateReminder :exec
|
|
|
|
DELETE FROM task_due_date_reminder WHERE due_date_reminder_id = $1;
|
2021-11-18 00:11:28 +01:00
|
|
|
|
|
|
|
-- name: GetDueDateRemindersForDuration :many
|
|
|
|
SELECT * FROM task_due_date_reminder WHERE remind_at >= @start_at::timestamptz;
|
|
|
|
|