91 lines
2.2 KiB
Go
91 lines
2.2 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.27.0
|
|
// source: app_flags.sql
|
|
|
|
package queries
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
|
|
"github.com/google/uuid"
|
|
"github.com/lib/pq"
|
|
)
|
|
|
|
const createFlagsGame = `-- name: CreateFlagsGame :one
|
|
INSERT INTO app_flags_games (uid, tags, question_amount)
|
|
VALUES ($1, $2, $3)
|
|
RETURNING game_id, game_seed
|
|
`
|
|
|
|
type CreateFlagsGameParams struct {
|
|
Uid sql.NullString
|
|
Tags []string
|
|
QuestionAmount int32
|
|
}
|
|
|
|
type CreateFlagsGameRow struct {
|
|
GameID uuid.UUID
|
|
GameSeed uuid.NullUUID
|
|
}
|
|
|
|
func (q *Queries) CreateFlagsGame(ctx context.Context, arg CreateFlagsGameParams) (CreateFlagsGameRow, error) {
|
|
row := q.db.QueryRowContext(ctx, createFlagsGame, arg.Uid, pq.Array(arg.Tags), arg.QuestionAmount)
|
|
var i CreateFlagsGameRow
|
|
err := row.Scan(&i.GameID, &i.GameSeed)
|
|
return i, err
|
|
}
|
|
|
|
const getFlagsGame = `-- name: GetFlagsGame :one
|
|
SELECT game_id, game_seed, uid, tags, question_amount, question_current, question_correct, created_at, last_activity FROM app_flags_games WHERE game_id = $1 LIMIT 1
|
|
`
|
|
|
|
func (q *Queries) GetFlagsGame(ctx context.Context, gameID uuid.UUID) (AppFlagsGame, error) {
|
|
row := q.db.QueryRowContext(ctx, getFlagsGame, gameID)
|
|
var i AppFlagsGame
|
|
err := row.Scan(
|
|
&i.GameID,
|
|
&i.GameSeed,
|
|
&i.Uid,
|
|
pq.Array(&i.Tags),
|
|
&i.QuestionAmount,
|
|
&i.QuestionCurrent,
|
|
&i.QuestionCorrect,
|
|
&i.CreatedAt,
|
|
&i.LastActivity,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const updateFlagsGame = `-- name: UpdateFlagsGame :exec
|
|
UPDATE app_flags_games
|
|
SET question_current = $1, last_activity = CURRENT_TIMESTAMP
|
|
WHERE game_id = $2
|
|
`
|
|
|
|
type UpdateFlagsGameParams struct {
|
|
QuestionCurrent int32
|
|
GameID uuid.UUID
|
|
}
|
|
|
|
func (q *Queries) UpdateFlagsGame(ctx context.Context, arg UpdateFlagsGameParams) error {
|
|
_, err := q.db.ExecContext(ctx, updateFlagsGame, arg.QuestionCurrent, arg.GameID)
|
|
return err
|
|
}
|
|
|
|
const updateQuestionCorrect = `-- name: UpdateQuestionCorrect :exec
|
|
UPDATE app_flags_games
|
|
SET questions_correct = (
|
|
SELECT COUNT(*)
|
|
FROM app_flags_games_answers
|
|
WHERE game_id $1 AND correct = TRUE
|
|
)
|
|
WHERE game_id = $1
|
|
`
|
|
|
|
func (q *Queries) UpdateQuestionCorrect(ctx context.Context, dollar_1 interface{}) error {
|
|
_, err := q.db.ExecContext(ctx, updateQuestionCorrect, dollar_1)
|
|
return err
|
|
}
|