feat(api): add in-memory GameSessionStore

Add the session storage infrastructure for tracking correct answers
during a game. Designed for easy swap to Valkey in Phase 4.

- GameSessionStore interface with create/get/delete methods, all async
  to match the eventual Valkey implementation
- InMemoryGameSessionStore backed by a Map
- GameSessionData holds only the answer key (questionId → correctOptionId)
- Also fix root build script to build packages in dependency order
This commit is contained in:
lila 2026-04-11 11:42:13 +02:00
parent f53ac618bb
commit 1940ff3965
6 changed files with 31 additions and 4 deletions

View file

@ -103,7 +103,7 @@ const createDeck = async (tx: DbOrTx, validatedLanguages: string[]) => {
description: config.deckDescription,
source_language: config.sourceLanguage,
validated_languages: validatedLanguages,
is_public: false,
type: "core",
})
.returning({ id: decks.id });
const created = result[0];