tijl.dev-core/internal/queries/app_flags.sql.go
tijl 4a268ef8c7
All checks were successful
build / build (push) Successful in 32s
release-tag / release-image (push) Successful in 16m25s
basic app implementation
2024-08-26 00:18:45 +02:00

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
}