tijl.dev-core/internal/queries/app_flags.sql

29 lines
847 B
MySQL
Raw Normal View History

2024-08-26 00:18:45 +02:00
-- name: CreateFlagsGame :one
2024-08-25 22:14:13 +02:00
INSERT INTO app_flags_games (uid, tags, question_amount)
VALUES ($1, $2, $3)
2024-08-26 00:18:45 +02:00
RETURNING game_id, game_seed;
2024-08-25 17:43:55 +02:00
-- name: GetFlagsGame :one
SELECT * FROM app_flags_games WHERE game_id = $1 LIMIT 1;
-- name: UpdateFlagsGame :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;
-- name: UpdateQuestionCorrect :exec
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-25 22:14:13 +02:00
)
2024-08-26 16:46:28 +02:00
WHERE app_flags_games.game_id = $1;
-- name: UpsertGameAnswer :exec
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;