2024-08-26 20:28:20 +02:00
|
|
|
-- name: AppFlagsCreateGame :one
|
|
|
|
INSERT INTO app_flags_games (uid, tags, question_amount, seconds)
|
|
|
|
VALUES ($1, $2, $3, $4)
|
2024-08-26 00:18:45 +02:00
|
|
|
RETURNING game_id, game_seed;
|
2024-08-25 17:43:55 +02:00
|
|
|
|
2024-08-26 20:28:20 +02:00
|
|
|
-- name: AppFlagsCreateGameWithSeed :one
|
|
|
|
INSERT INTO app_flags_games (uid, tags, question_amount, seconds, game_seed)
|
|
|
|
VALUES ($1, $2, $3, $4, $5)
|
|
|
|
RETURNING game_id;
|
|
|
|
|
|
|
|
-- name: AppFlagsGetGame :one
|
2024-08-25 17:43:55 +02:00
|
|
|
SELECT * FROM app_flags_games WHERE game_id = $1 LIMIT 1;
|
|
|
|
|
2024-08-26 20:28:20 +02:00
|
|
|
-- name: AppFlagsUpdateGame :exec
|
2024-08-25 22:14:13 +02:00
|
|
|
UPDATE app_flags_games
|
|
|
|
SET question_current = $1, last_activity = CURRENT_TIMESTAMP
|
|
|
|
WHERE game_id = $2;
|
|
|
|
|
2024-08-26 20:28:20 +02:00
|
|
|
-- name: AppFlagsUpdateQuestionCorrect :exec
|
2024-08-25 22:14:13 +02:00
|
|
|
UPDATE app_flags_games
|
2024-08-26 16:46:28 +02:00
|
|
|
SET questions_errors = (
|
|
|
|
SELECT COALESCE(SUM(errors), 0)
|
2024-08-25 22:14:13 +02:00
|
|
|
FROM app_flags_games_answers
|
2024-08-26 16:46:28 +02:00
|
|
|
WHERE app_flags_games_answers.game_id = app_flags_games.game_id
|
2024-08-26 20:28:20 +02:00
|
|
|
), last_activity = CURRENT_TIMESTAMP
|
2024-08-26 16:46:28 +02:00
|
|
|
WHERE app_flags_games.game_id = $1;
|
|
|
|
|
2024-08-26 20:28:20 +02:00
|
|
|
-- name: AppFlagsUpsertGameAnswer :exec
|
2024-08-26 16:46:28 +02:00
|
|
|
INSERT INTO app_flags_games_answers (game_id, question, errors)
|
|
|
|
VALUES ($1, $2, $3)
|
|
|
|
ON CONFLICT (game_id, question)
|
|
|
|
DO UPDATE SET errors = app_flags_games_answers.errors + EXCLUDED.errors;
|
|
|
|
|
2024-08-26 20:28:20 +02:00
|
|
|
-- name: AppFlagsNewSharedData :one
|
|
|
|
INSERT INTO app_flags_games_shared_data (share_key, game_seed, tags, questions, seconds) VALUES ($1, $2, $3, $4, $5) RETURNING game_seed;
|
|
|
|
|
|
|
|
-- name: AppFlagsGetSharedData :one
|
|
|
|
SELECT * FROM app_flags_games_shared_data WHERE share_key = $1 LIMIT 1;
|
|
|
|
|