KX5IR77OX7Q7Q46Z23SDGQ5KPYZDHSGGBKCFJ2VD4BAY6WC5ICAAC -- name: ListProjects :manySELECT * FROM projects;-- name: ListProjectsStarted :manySELECT *FROM projectsWHERE start_at <= DATE() AND (completed_at IS NULL OR completed_at >= date('now', '-7 days'))ORDER BY due_at;-- name: ListProjectsOverdue :manySELECT * FROM projects WHERE due_at <= DATE() AND completed_at IS NULL;-- name: CreateProject :oneINSERT INTO projects (name, description, start_at, due_at, completed_at)VALUES (?, ?, ?, ?, ?)RETURNING *;
-- name: ProjectDetail :oneselect id, name, description, parent_id, planned_for, start_at, due_at, completed_at FROM projects WHERE id = ?;
-- name: UpdateProject :oneUPDATE projectsSETname = ?,description = ?,start_at = ?,due_at = ?,completed_at = ?WHERE id = ?RETURNING *;
-- name: ProjectName :oneSELECT name FROM projects WHERE id = ?;
-- name: DeleteProject :execDELETE FROM projects WHERE id = ?;
-- name: RecProjectName :oneWITH RECURSIVE rec_project_name(id, name) AS (SELECT id, name FROM projects WHERE parent_id IS NULLUNION ALLSELECT projects.id, rec_project_name.name||' > '||projects.name FROM projects JOIN rec_project_name ON projects.parent_id = rec_project_name.id) SELECT name FROM rec_project_name WHERE projects.id = ?;
const createProject = `-- name: CreateProject :oneINSERT INTO projects (name, description, start_at, due_at, completed_at)VALUES (?, ?, ?, ?, ?)RETURNING id, name, description, start_at, due_at, completed_at, created_at, updated_at
const projectDetail = `-- name: ProjectDetail :oneselect id, name, description, parent_id, planned_for, start_at, due_at, completed_at FROM projects WHERE id = ?
func (q *Queries) CreateProject(ctx context.Context, arg CreateProjectParams) (Project, error) {row := q.db.QueryRowContext(ctx, createProject,arg.Name,arg.Description,arg.StartAt,arg.DueAt,arg.CompletedAt,)var i Project
func (q *Queries) ProjectDetail(ctx context.Context, id int64) (ProjectDetailRow, error) {row := q.db.QueryRowContext(ctx, projectDetail, id)var i ProjectDetailRow
func (q *Queries) DeleteProject(ctx context.Context, id int64) error {_, err := q.db.ExecContext(ctx, deleteProject, id)return err
func (q *Queries) ProjectName(ctx context.Context, id int64) (string, error) {row := q.db.QueryRowContext(ctx, projectName, id)var name stringerr := row.Scan(&name)return name, err
const getProject = `-- name: GetProject :oneSELECT id, name, description, start_at, due_at, completed_at, created_at, updated_at FROM projects WHERE id = ?
const projectShort = `-- name: ProjectShort :oneSELECT id, name, parent_id FROM projects WHERE id = ?
func (q *Queries) GetProject(ctx context.Context, id int64) (Project, error) {row := q.db.QueryRowContext(ctx, getProject, id)var i Projecterr := row.Scan(&i.ID,&i.Name,&i.Description,&i.StartAt,&i.DueAt,&i.CompletedAt,&i.CreatedAt,&i.UpdatedAt,)return i, err}const listProjects = `-- name: ListProjects :manySELECT id, name, description, start_at, due_at, completed_at, created_at, updated_at FROM projects`func (q *Queries) ListProjects(ctx context.Context) ([]Project, error) {rows, err := q.db.QueryContext(ctx, listProjects)if err != nil {return nil, err}defer rows.Close()var items []Projectfor rows.Next() {var i Projectif err := rows.Scan(&i.ID,&i.Name,&i.Description,&i.StartAt,&i.DueAt,&i.CompletedAt,&i.CreatedAt,&i.UpdatedAt,); err != nil {return nil, err}items = append(items, i)}if err := rows.Close(); err != nil {return nil, err}if err := rows.Err(); err != nil {return nil, err}return items, nil}const listProjectsOverdue = `-- name: ListProjectsOverdue :manySELECT id, name, description, start_at, due_at, completed_at, created_at, updated_at FROM projects WHERE due_at <= DATE() AND completed_at IS NULL`func (q *Queries) ListProjectsOverdue(ctx context.Context) ([]Project, error) {rows, err := q.db.QueryContext(ctx, listProjectsOverdue)if err != nil {return nil, err}defer rows.Close()var items []Projectfor rows.Next() {var i Projectif err := rows.Scan(&i.ID,&i.Name,&i.Description,&i.StartAt,&i.DueAt,&i.CompletedAt,&i.CreatedAt,&i.UpdatedAt,); err != nil {return nil, err}items = append(items, i)}if err := rows.Close(); err != nil {return nil, err}if err := rows.Err(); err != nil {return nil, err}return items, nil
type ProjectShortRow struct {ID int64Name stringParentID sql.NullInt64
const listProjectsStarted = `-- name: ListProjectsStarted :manySELECT id, name, description, start_at, due_at, completed_at, created_at, updated_atFROM projectsWHERE start_at <= DATE() AND (completed_at IS NULL OR completed_at >= date('now', '-7 days'))ORDER BY due_at`func (q *Queries) ListProjectsStarted(ctx context.Context) ([]Project, error) {rows, err := q.db.QueryContext(ctx, listProjectsStarted)if err != nil {return nil, err}defer rows.Close()var items []Projectfor rows.Next() {var i Projectif err := rows.Scan(&i.ID,&i.Name,&i.Description,&i.StartAt,&i.DueAt,&i.CompletedAt,&i.CreatedAt,&i.UpdatedAt,); err != nil {return nil, err}items = append(items, i)}if err := rows.Close(); err != nil {return nil, err}if err := rows.Err(); err != nil {return nil, err}return items, nil
func (q *Queries) ProjectShort(ctx context.Context, id int64) (ProjectShortRow, error) {row := q.db.QueryRowContext(ctx, projectShort, id)var i ProjectShortRowerr := row.Scan(&i.ID, &i.Name, &i.ParentID)return i, err
const updateProject = `-- name: UpdateProject :oneUPDATE projectsSETname = ?,description = ?,start_at = ?,due_at = ?,completed_at = ?WHERE id = ?RETURNING id, name, description, start_at, due_at, completed_at, created_at, updated_at
const recProjectName = `-- name: RecProjectName :oneWITH RECURSIVE rec_project_name(id, name) AS (SELECT id, name FROM projects WHERE parent_id IS NULLUNION ALLSELECT projects.id, rec_project_name.name||' > '||projects.name FROM projects JOIN rec_project_name ON projects.parent_id = rec_project_name.id) SELECT name FROM rec_project_name WHERE projects.id = ?
func (q *Queries) UpdateProject(ctx context.Context, arg UpdateProjectParams) (Project, error) {row := q.db.QueryRowContext(ctx, updateProject,arg.Name,arg.Description,arg.StartAt,arg.DueAt,arg.CompletedAt,arg.ID,)var i Projecterr := row.Scan(&i.ID,&i.Name,&i.Description,&i.StartAt,&i.DueAt,&i.CompletedAt,&i.CreatedAt,&i.UpdatedAt,)return i, err
func (q *Queries) RecProjectName(ctx context.Context, id int64) (string, error) {row := q.db.QueryRowContext(ctx, recProjectName, id)var name stringerr := row.Scan(&name)return name, err