-- name: CreateTaskReminder :one INSERT INTO task_reminders (id, task_id, type, config, scheduled_at) VALUES ($1, $2, $3, COALESCE($4, '{}'), $5) RETURNING *; -- name: GetTaskReminderByID :one SELECT * FROM task_reminders WHERE id = $1; -- name: ListTaskReminders :many SELECT * FROM task_reminders WHERE task_id = $1 ORDER BY scheduled_at ASC; -- name: ListTaskRemindersDueBefore :many SELECT tr.*, t.owner_id, t.title FROM task_reminders tr JOIN tasks t ON t.id = tr.task_id WHERE tr.scheduled_at <= $1 AND t.deleted_at IS NULL; -- name: DeleteTaskReminder :exec DELETE FROM task_reminders WHERE id = $1; -- name: DeleteTaskRemindersByTask :exec DELETE FROM task_reminders WHERE task_id = $1;