// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: responses.sql package repository import ( "context" "github.com/google/uuid" "github.com/jackc/pgx/v5/pgtype" ) const createFormResponse = `-- name: CreateFormResponse :one INSERT INTO form_responses (form_id, user_id) VALUES ($1, $2) RETURNING id, form_id, user_id, submitted_at ` type CreateFormResponseParams struct { FormID uuid.UUID UserID *uuid.UUID } func (q *Queries) CreateFormResponse(ctx context.Context, arg CreateFormResponseParams) (FormResponse, error) { row := q.db.QueryRow(ctx, createFormResponse, arg.FormID, arg.UserID) var i FormResponse err := row.Scan( &i.ID, &i.FormID, &i.UserID, &i.SubmittedAt, ) return i, err } const createResponseAnswer = `-- name: CreateResponseAnswer :one INSERT INTO response_answers (response_id, question_id, form_id, answer_text) VALUES ($1, $2, $3, $4) RETURNING id, response_id, question_id, form_id, answer_text ` type CreateResponseAnswerParams struct { ResponseID uuid.UUID QuestionID uuid.UUID FormID uuid.UUID AnswerText pgtype.Text } func (q *Queries) CreateResponseAnswer(ctx context.Context, arg CreateResponseAnswerParams) (ResponseAnswer, error) { row := q.db.QueryRow(ctx, createResponseAnswer, arg.ResponseID, arg.QuestionID, arg.FormID, arg.AnswerText, ) var i ResponseAnswer err := row.Scan( &i.ID, &i.ResponseID, &i.QuestionID, &i.FormID, &i.AnswerText, ) return i, err } const formHasResponses = `-- name: FormHasResponses :one SELECT EXISTS ( SELECT 1 FROM form_responses WHERE form_id = $1 ) AS has_responses ` func (q *Queries) FormHasResponses(ctx context.Context, formID uuid.UUID) (bool, error) { row := q.db.QueryRow(ctx, formHasResponses, formID) var has_responses bool err := row.Scan(&has_responses) return has_responses, err } const getAnswersByResponseID = `-- name: GetAnswersByResponseID :many SELECT id, response_id, question_id, form_id, answer_text FROM response_answers WHERE response_id = $1 ORDER BY id ASC ` func (q *Queries) GetAnswersByResponseID(ctx context.Context, responseID uuid.UUID) ([]ResponseAnswer, error) { rows, err := q.db.Query(ctx, getAnswersByResponseID, responseID) if err != nil { return nil, err } defer rows.Close() var items []ResponseAnswer for rows.Next() { var i ResponseAnswer if err := rows.Scan( &i.ID, &i.ResponseID, &i.QuestionID, &i.FormID, &i.AnswerText, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const getFormResponsesByFormID = `-- name: GetFormResponsesByFormID :many SELECT id, form_id, user_id, submitted_at FROM form_responses WHERE form_id = $1 ORDER BY submitted_at DESC ` func (q *Queries) GetFormResponsesByFormID(ctx context.Context, formID uuid.UUID) ([]FormResponse, error) { rows, err := q.db.Query(ctx, getFormResponsesByFormID, formID) if err != nil { return nil, err } defer rows.Close() var items []FormResponse for rows.Next() { var i FormResponse if err := rows.Scan( &i.ID, &i.FormID, &i.UserID, &i.SubmittedAt, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil }