∅:D[
4.887] → [
6.2171:3637]
B:BD[
6.2171] → [
6.2171:3637]
B:BD[
6.2171] → [
4.94:887]
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.28.0
// source: task.sql
package database
import (
"context"
"database/sql"
)
const createTask = `-- name: CreateTask :one
INSERT INTO tasks (name, description, status, project_id)
VALUES (?, ?, ?, ?)
RETURNING id, name, description, status, project_id, created_at, updated_at
`
type CreateTaskParams struct {
Name string
Description sql.NullString
Status string
ProjectID int64
}
func (q *Queries) CreateTask(ctx context.Context, arg CreateTaskParams) (Task, error) {
row := q.db.QueryRowContext(ctx, createTask,
arg.Name,
arg.Description,
arg.Status,
arg.ProjectID,
)
var i Task
err := row.Scan(
&i.ID,
&i.Name,
&i.Description,
&i.Status,
&i.ProjectID,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const deleteTask = `-- name: DeleteTask :exec
DELETE FROM tasks WHERE id = ?
`
func (q *Queries) DeleteTask(ctx context.Context, id int64) error {
_, err := q.db.ExecContext(ctx, deleteTask, id)
return err
}
const getTask = `-- name: GetTask :one
SELECT id, name, description, status, project_id, created_at, updated_at FROM tasks WHERE id = ?
`
func (q *Queries) GetTask(ctx context.Context, id int64) (Task, error) {
row := q.db.QueryRowContext(ctx, getTask, id)
var i Task
err := row.Scan(
&i.ID,
&i.Name,
&i.Description,
&i.Status,
&i.ProjectID,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const listTasks = `-- name: ListTasks :many
SELECT id, name, description, status, project_id, created_at, updated_at FROM tasks
`
func (q *Queries) ListTasks(ctx context.Context) ([]Task, error) {
rows, err := q.db.QueryContext(ctx, listTasks)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Task
for rows.Next() {
var i Task
if err := rows.Scan(
&i.ID,
&i.Name,
&i.Description,
&i.Status,
&i.ProjectID,
&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 moveTask = `-- name: MoveTask :one
UPDATE tasks
SET project_id = ?
WHERE id = ?
RETURNING id, name, description, status, project_id, created_at, updated_at
`
type MoveTaskParams struct {
ProjectID int64
ID int64
}
func (q *Queries) MoveTask(ctx context.Context, arg MoveTaskParams) (Task, error) {
row := q.db.QueryRowContext(ctx, moveTask, arg.ProjectID, arg.ID)
var i Task
err := row.Scan(
&i.ID,
&i.Name,
&i.Description,
&i.Status,
&i.ProjectID,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const updateTask = `-- name: UpdateTask :one
UPDATE tasks
SET
name = IIF(CAST(? AS BOOLEAN), CAST(? AS TEXT), name),
description = IIF(CAST(? AS BOOLEAN), CAST(?5 AS TEXT), description),
status = IIF(CAST(? AS BOOLEAN), CAST(? AS TEXT), status)
WHERE id = ?
RETURNING id, name, description, status, project_id, created_at, updated_at
`
type UpdateTaskParams struct {
SetName bool
Name string
SetDescription bool
Description sql.NullString
SetStatus bool
Status string
ID int64
}
func (q *Queries) UpdateTask(ctx context.Context, arg UpdateTaskParams) (Task, error) {
row := q.db.QueryRowContext(ctx, updateTask,
arg.SetName,
arg.Name,
arg.SetDescription,
arg.Description,
arg.SetStatus,
arg.Status,
arg.ID,
)
var i Task
err := row.Scan(
&i.ID,
&i.Name,
&i.Description,
&i.Status,
&i.ProjectID,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const listTasksByProject = `-- name: ListTasksByProject :many
SELECT id, name, description, status, project_id, created_at, updated_at FROM tasks WHERE project_id = ? ORDER BY status
`
func (q *Queries) ListTasksByProject(ctx context.Context, projectID int64) ([]Task, error) {
rows, err := q.db.QueryContext(ctx, listTasksByProject, projectID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Task
for rows.Next() {
var i Task
if err := rows.Scan(
&i.ID,
&i.Name,
&i.Description,
&i.Status,
&i.ProjectID,
&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
}