// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: question_options.sql package dbgen import ( "context" ) type BulkCreateQuestionOptionsParams struct { QuestionID int64 `json:"question_id"` OptionText string `json:"option_text"` OptionOrder int32 `json:"option_order"` IsCorrect bool `json:"is_correct"` } const CreateQuestionOption = `-- name: CreateQuestionOption :one INSERT INTO question_options ( question_id, option_text, option_order, is_correct ) VALUES ($1, $2, COALESCE($3, 0), COALESCE($4, false)) RETURNING id, question_id, option_text, option_order, is_correct, created_at ` type CreateQuestionOptionParams struct { QuestionID int64 `json:"question_id"` OptionText string `json:"option_text"` Column3 interface{} `json:"column_3"` Column4 interface{} `json:"column_4"` } func (q *Queries) CreateQuestionOption(ctx context.Context, arg CreateQuestionOptionParams) (QuestionOption, error) { row := q.db.QueryRow(ctx, CreateQuestionOption, arg.QuestionID, arg.OptionText, arg.Column3, arg.Column4, ) var i QuestionOption err := row.Scan( &i.ID, &i.QuestionID, &i.OptionText, &i.OptionOrder, &i.IsCorrect, &i.CreatedAt, ) return i, err } const DeleteOptionsByQuestionID = `-- name: DeleteOptionsByQuestionID :exec DELETE FROM question_options WHERE question_id = $1 ` func (q *Queries) DeleteOptionsByQuestionID(ctx context.Context, questionID int64) error { _, err := q.db.Exec(ctx, DeleteOptionsByQuestionID, questionID) return err } const DeleteQuestionOption = `-- name: DeleteQuestionOption :exec DELETE FROM question_options WHERE id = $1 ` func (q *Queries) DeleteQuestionOption(ctx context.Context, id int64) error { _, err := q.db.Exec(ctx, DeleteQuestionOption, id) return err } const GetOptionsByQuestionID = `-- name: GetOptionsByQuestionID :many SELECT id, question_id, option_text, option_order, is_correct, created_at FROM question_options WHERE question_id = $1 ORDER BY option_order ` func (q *Queries) GetOptionsByQuestionID(ctx context.Context, questionID int64) ([]QuestionOption, error) { rows, err := q.db.Query(ctx, GetOptionsByQuestionID, questionID) if err != nil { return nil, err } defer rows.Close() var items []QuestionOption for rows.Next() { var i QuestionOption if err := rows.Scan( &i.ID, &i.QuestionID, &i.OptionText, &i.OptionOrder, &i.IsCorrect, &i.CreatedAt, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const UpdateQuestionOption = `-- name: UpdateQuestionOption :exec UPDATE question_options SET option_text = COALESCE($1, option_text), option_order = COALESCE($2, option_order), is_correct = COALESCE($3, is_correct) WHERE id = $4 ` type UpdateQuestionOptionParams struct { OptionText string `json:"option_text"` OptionOrder int32 `json:"option_order"` IsCorrect bool `json:"is_correct"` ID int64 `json:"id"` } func (q *Queries) UpdateQuestionOption(ctx context.Context, arg UpdateQuestionOptionParams) error { _, err := q.db.Exec(ctx, UpdateQuestionOption, arg.OptionText, arg.OptionOrder, arg.IsCorrect, arg.ID, ) return err }