Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Add a feature-flagged PostgreSQL solve-history read API

Aperta
#174 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
postgresql

Direzione di ricerca

Inizia dalla dipendenza #199 e dai relativi #200, #203, #204, #175 e #202 collegati, quindi conferma l’aggregato PostgreSQL Room/RaceSession e i prerequisiti di rollout di #176 e PR #195. Usa i test di autorizzazione indicati per private/hidden/deleted-room, empty-history, disabled e pagination come primi punti di validazione; completato significa che l’API dei cursori autenticata e il contratto documentato client/csTimer soddisfano ogni criterio di accettazione senza fallback a MongoDB né registrazione dei dati di soluzione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area: data area: results enhancement priority: P1

Goal

Expose durable per-user solve history from PostgreSQL only after the Room/RaceSession aggregate is authoritative. Do not build this API around the legacy room-embedded attempt model.

Read contract

  • Require the authenticated user.
  • Return cursor-paginated completed solves with stable solve ID, event, time, +2/DNF penalties, scramble, Room/RaceSession reference, and timestamps.
  • Authorize private, hidden, expired, and deleted-room history server-side. Do not return passwords, access codes, room membership, or moderation data.
  • Query the canonical PostgreSQL Solve → Attempt → RaceSession → Room relationship; Solve.room_id is only a temporary migration compatibility field and must not define API semantics.
  • Use a session-aware deterministic index and cursor compatible with the final schema.
  • Gate the client endpoint behind configuration and retain an explicit disable path, not a MongoDB fallback after aggregate cutover.
  • Instrument latency and error/disable behavior without logging solve data or identity.

Acceptance criteria

  • The API is authenticated, cursor-paginated, and stable across concurrent new solves.
  • It returns the final Room/RaceSession-shaped representation and correct penalties/scrambles.
  • Private-room, hidden/deleted-room, empty-history, disabled, and pagination authorization tests pass.
  • Disabled PostgreSQL behavior is explicit and does not read MongoDB room/result state.
  • Client history and csTimer-export consumers are documented against the final contract.

Dependencies

  • #199, including #200, #203, #204, #175, and #202.
  • Stable production rollout from #176 and settled room ownership/admin semantics from PR #195.
  • The PostgreSQL aggregate cutover and reconciliation must complete before implementation begins.

Unlocks

  • #160
  • #161
  • #163
Lingua principale
JavaScript
Stelle
30
Fork
9
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di coder13/LetsCube

Tutte le issue di coder13/LetsCube

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.