File tree Expand file tree Collapse file tree 2 files changed +29
-0
lines changed
Expand file tree Collapse file tree 2 files changed +29
-0
lines changed Original file line number Diff line number Diff line change 1+ import { CacheFile } from "~/cache" ;
2+ import type { UserClassScore } from "./types" ;
3+ import { log } from "~/utils/logger" ;
4+ import { createBlankUserScore } from "./createBlankUserScore" ;
5+
6+ const cacheFiles = new Map < number , CacheFile < UserClassScore > > ( ) ;
7+
8+ export async function loadUserScore ( id : number ) {
9+ let cacheFile = cacheFiles . get ( id ) ;
10+ if ( ! cacheFile ) {
11+ const filePath = `data/user/scores/${ id } .json` ;
12+ cacheFile = new CacheFile ( filePath ) ;
13+ cacheFiles . set ( id , cacheFile ) ;
14+ }
15+
16+ const exists = await cacheFile . exists ( ) ;
17+ if ( ! exists ) {
18+ log . debug (
19+ `User data for Class Score id ${ id } does not yet exist, creating file...`
20+ ) ;
21+ await cacheFile . write ( createBlankUserScore ( id ) ) ;
22+ }
23+
24+ return cacheFile ;
25+ }
Original file line number Diff line number Diff line change 1+ export interface UserClassScore {
2+ id : number ;
3+ unlockedNodes : Array < number > ;
4+ }
You can’t perform that action at this time.
0 commit comments