// Code generated by sqlc. DO NOT EDIT. // source: assignments.sql package postgres import ( "context" "time" "github.com/google/uuid" ) const createAssignment = `-- name: CreateAssignment :one INSERT INTO assignments ( date, amount, category_id ) VALUES ( $1, $2, $3 ) RETURNING id, category_id, date, memo, amount ` type CreateAssignmentParams struct { Date time.Time Amount Numeric CategoryID uuid.UUID } func (q *Queries) CreateAssignment(ctx context.Context, arg CreateAssignmentParams) (Assignment, error) { row := q.db.QueryRowContext(ctx, createAssignment, arg.Date, arg.Amount, arg.CategoryID) var i Assignment err := row.Scan( &i.ID, &i.CategoryID, &i.Date, &i.Memo, &i.Amount, ) return i, err } const deleteAllAssignments = `-- name: DeleteAllAssignments :execrows DELETE FROM assignments USING categories INNER JOIN category_groups ON categories.category_group_id = category_groups.id WHERE categories.id = assignments.category_id AND category_groups.budget_id = $1 ` func (q *Queries) DeleteAllAssignments(ctx context.Context, budgetID uuid.UUID) (int64, error) { result, err := q.db.ExecContext(ctx, deleteAllAssignments, budgetID) if err != nil { return 0, err } return result.RowsAffected() } const getAllAssignments = `-- name: GetAllAssignments :many SELECT assignments.date, categories.name as category, category_groups.name as group, assignments.amount FROM assignments INNER JOIN categories ON categories.id = assignments.category_id INNER JOIN category_groups ON categories.category_group_id = category_groups.id WHERE category_groups.budget_id = $1 ` type GetAllAssignmentsRow struct { Date time.Time Category string Group string Amount Numeric } func (q *Queries) GetAllAssignments(ctx context.Context, budgetID uuid.UUID) ([]GetAllAssignmentsRow, error) { rows, err := q.db.QueryContext(ctx, getAllAssignments, budgetID) if err != nil { return nil, err } defer rows.Close() var items []GetAllAssignmentsRow for rows.Next() { var i GetAllAssignmentsRow if err := rows.Scan( &i.Date, &i.Category, &i.Group, &i.Amount, ); 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 getAssignmentsByMonthAndCategory = `-- name: GetAssignmentsByMonthAndCategory :many SELECT date, category_id, budget_id, amount FROM assignments_by_month WHERE assignments_by_month.budget_id = $1 ` func (q *Queries) GetAssignmentsByMonthAndCategory(ctx context.Context, budgetID uuid.UUID) ([]AssignmentsByMonth, error) { rows, err := q.db.QueryContext(ctx, getAssignmentsByMonthAndCategory, budgetID) if err != nil { return nil, err } defer rows.Close() var items []AssignmentsByMonth for rows.Next() { var i AssignmentsByMonth if err := rows.Scan( &i.Date, &i.CategoryID, &i.BudgetID, &i.Amount, ); 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 }