// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 // source: votes.sql package sqlc import ( "context" ) const deleteVote = `-- name: DeleteVote :exec DELETE FROM votes WHERE user_id = $1 AND question_id = $2 ` type DeleteVoteParams struct { UserID string QuestionID string } func (q *Queries) DeleteVote(ctx context.Context, arg DeleteVoteParams) error { _, err := q.db.ExecContext(ctx, deleteVote, arg.UserID, arg.QuestionID) return err } const getVote = `-- name: GetVote :one SELECT value FROM votes WHERE user_id = $1 AND question_id = $2 ` type GetVoteParams struct { UserID string QuestionID string } func (q *Queries) GetVote(ctx context.Context, arg GetVoteParams) (int32, error) { row := q.db.QueryRowContext(ctx, getVote, arg.UserID, arg.QuestionID) var value int32 err := row.Scan(&value) return value, err } const questionIsVisible = `-- name: QuestionIsVisible :one SELECT EXISTS( SELECT 1 FROM questions WHERE id = $1 AND hidden = 0 )::bool ` func (q *Queries) QuestionIsVisible(ctx context.Context, id string) (bool, error) { row := q.db.QueryRowContext(ctx, questionIsVisible, id) var column_1 bool err := row.Scan(&column_1) return column_1, err } const upsertVoteOnVisible = `-- name: UpsertVoteOnVisible :execrows INSERT INTO votes (user_id, question_id, value) SELECT $1, $2, $3 FROM questions q WHERE q.id = $2 AND q.hidden = 0 ON CONFLICT (user_id, question_id) DO UPDATE SET value = excluded.value WHERE EXISTS ( SELECT 1 FROM questions q2 WHERE q2.id = excluded.question_id AND q2.hidden = 0 ) ` type UpsertVoteOnVisibleParams struct { UserID string QuestionID string Value int32 } func (q *Queries) UpsertVoteOnVisible(ctx context.Context, arg UpsertVoteOnVisibleParams) (int64, error) { result, err := q.db.ExecContext(ctx, upsertVoteOnVisible, arg.UserID, arg.QuestionID, arg.Value) if err != nil { return 0, err } return result.RowsAffected() }