// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: votes.sql package db import ( "context" ) const canVoteAgain = `-- name: CanVoteAgain :one SELECT can_vote_again($1, $2) ` type CanVoteAgainParams struct { UserID string `json:"user_id"` BotID string `json:"bot_id"` } func (q *Queries) CanVoteAgain(ctx context.Context, arg CanVoteAgainParams) (bool, error) { row := q.db.QueryRow(ctx, canVoteAgain, arg.UserID, arg.BotID) var can_vote_again bool err := row.Scan(&can_vote_again) return can_vote_again, err } const countVotesByBot = `-- name: CountVotesByBot :one SELECT count(*) FROM votes WHERE bot_id = $1 ` func (q *Queries) CountVotesByBot(ctx context.Context, botID string) (int64, error) { row := q.db.QueryRow(ctx, countVotesByBot, botID) var count int64 err := row.Scan(&count) return count, err } const createVote = `-- name: CreateVote :one INSERT INTO votes (user_id, bot_id) VALUES ($1, $2) RETURNING user_id, bot_id, voted_at ` type CreateVoteParams struct { UserID string `json:"user_id"` BotID string `json:"bot_id"` } func (q *Queries) CreateVote(ctx context.Context, arg CreateVoteParams) (*Vote, error) { row := q.db.QueryRow(ctx, createVote, arg.UserID, arg.BotID) var i Vote err := row.Scan(&i.UserID, &i.BotID, &i.VotedAt) return &i, err } const getVote = `-- name: GetVote :one SELECT user_id, bot_id, voted_at FROM votes WHERE user_id = $1 AND bot_id = $2 ORDER BY voted_at DESC LIMIT 1 ` type GetVoteParams struct { UserID string `json:"user_id"` BotID string `json:"bot_id"` } func (q *Queries) GetVote(ctx context.Context, arg GetVoteParams) (*Vote, error) { row := q.db.QueryRow(ctx, getVote, arg.UserID, arg.BotID) var i Vote err := row.Scan(&i.UserID, &i.BotID, &i.VotedAt) return &i, err } const listVotesByBot = `-- name: ListVotesByBot :many SELECT user_id, bot_id, voted_at FROM votes WHERE bot_id = $1 ORDER BY voted_at DESC ` func (q *Queries) ListVotesByBot(ctx context.Context, botID string) ([]*Vote, error) { rows, err := q.db.Query(ctx, listVotesByBot, botID) if err != nil { return nil, err } defer rows.Close() items := []*Vote{} for rows.Next() { var i Vote if err := rows.Scan(&i.UserID, &i.BotID, &i.VotedAt); err != nil { return nil, err } items = append(items, &i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const listVotesByUser = `-- name: ListVotesByUser :many SELECT user_id, bot_id, voted_at FROM votes WHERE user_id = $1 ORDER BY voted_at DESC ` func (q *Queries) ListVotesByUser(ctx context.Context, userID string) ([]*Vote, error) { rows, err := q.db.Query(ctx, listVotesByUser, userID) if err != nil { return nil, err } defer rows.Close() items := []*Vote{} for rows.Next() { var i Vote if err := rows.Scan(&i.UserID, &i.BotID, &i.VotedAt); err != nil { return nil, err } items = append(items, &i) } if err := rows.Err(); err != nil { return nil, err } return items, nil }