- Firestore 트리거(`onGameCompleted`)를 도입하여 경기 종료(`completed`) 및 취소(`cancelled`) 시 투표 결과 판정과 데이터 정리를 자동화했습니다. - `dailyArchive` 과정에 자가치유(self-healing) 로직인 `reconcileDayVotes`를 추가하여, 트리거 누락이나 지연된 상태 변경 건을 아카이빙 시점에 보정합니다. - `markGameEnded`가 직접 로직을 수행하는 대신 Firestore 문서만 업데이트하도록 변경하여, 결과 처리 흐름을 트리거로 일원화했습니다. - 경기 일정 수집부터 통계 산출까지의 전체 투표 파이프라인과 운영 방법을 상세히 기술한 `VOTE_FLOW.md` 문서를 작성했습니다.
14 lines
576 B
TypeScript
14 lines
576 B
TypeScript
import { setGlobalOptions } from "firebase-functions";
|
|
import "./firebase";
|
|
|
|
setGlobalOptions({ maxInstances: 10, region: "asia-northeast3" });
|
|
|
|
export { kbo } from "./handlers/kboHandlers";
|
|
export { user } from "./handlers/userHandlers";
|
|
export { prediction } from "./handlers/predictionHandlers";
|
|
export { stats } from "./handlers/statsHandlers";
|
|
export { admin } from "./handlers/adminHandlers";
|
|
export { kboDailyRefresh } from "./scheduled/kboRefresh";
|
|
export { dailyArchive } from "./scheduled/dailyArchive";
|
|
export { onGameCompleted } from "./triggers/onGameCompleted";
|