Skip to content

Commit

Permalink
rename game record to game and file record
Browse files Browse the repository at this point in the history
  • Loading branch information
vinceau committed Nov 9, 2023
1 parent a04492d commit 911267a
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 20 deletions.
13 changes: 6 additions & 7 deletions src/replays/database_replay_provider/database_replay_provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,22 @@ export class DatabaseReplayProvider implements ReplayProvider {
const folder = path.dirname(filePath);

let playerRecords: PlayerRecord[];
let gameRecord = await GameRepository.findGameByFolderAndFilename(this.db, folder, filename);
let gameAndFileRecord = await GameRepository.findGameByFolderAndFilename(this.db, folder, filename);

if (gameRecord) {
const playerMap = await PlayerRepository.findAllPlayersByGame(this.db, gameRecord._id);
playerRecords = playerMap.get(gameRecord._id) ?? [];
if (gameAndFileRecord) {
const playerMap = await PlayerRepository.findAllPlayersByGame(this.db, gameAndFileRecord._id);
playerRecords = playerMap.get(gameAndFileRecord._id) ?? [];
} else {
// We haven't indexed this file before so add it to the database
const replay = await this.insertNewReplayFile(folder, filename);
if (!replay.gameRecord) {
throw new Error(`Could not load game info from file ${replay.fileRecord._id} at path: ${filePath}`);
}

gameRecord = { ...replay.fileRecord, ...replay.gameRecord };
gameAndFileRecord = { ...replay.fileRecord, ...replay.gameRecord };
playerRecords = replay.playerRecords;
}

return mapGameRecordToFileResult(gameRecord, playerRecords);
return mapGameRecordToFileResult(gameAndFileRecord, playerRecords);
}

public async loadFolder(folder: string, onProgress?: (progress: Progress) => void): Promise<FileLoadResult> {
Expand Down
26 changes: 13 additions & 13 deletions src/replays/database_replay_provider/record_mapper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,25 @@ function mapPlayerRecordToPlayerInfo(player: PlayerRecord): PlayerInfo {
}

export function mapGameRecordToFileResult(
gameRecord: GameRecord & FileRecord,
gameAndFileRecord: GameRecord & FileRecord,
playerRecords: PlayerRecord[],
): FileResult {
const fullPath = path.resolve(gameRecord.folder, gameRecord.name);
const fullPath = path.resolve(gameAndFileRecord.folder, gameAndFileRecord.name);
return {
id: `${gameRecord._id}-${gameRecord.file_id}`,
fileName: gameRecord.name,
id: `${gameAndFileRecord._id}-${gameAndFileRecord.file_id}`,
fileName: gameAndFileRecord.name,
fullPath,
game: {
players: playerRecords.map(mapPlayerRecordToPlayerInfo),
isTeams: Boolean(gameRecord.is_teams),
stageId: gameRecord.stage,
startTime: gameRecord.start_time,
platform: gameRecord.platform,
consoleNickname: gameRecord.console_nickname,
mode: gameRecord.mode,
lastFrame: gameRecord.last_frame,
timerType: gameRecord.timer_type,
startingTimerSeconds: gameRecord.starting_timer_secs,
isTeams: Boolean(gameAndFileRecord.is_teams),
stageId: gameAndFileRecord.stage,
startTime: gameAndFileRecord.start_time,
platform: gameAndFileRecord.platform,
consoleNickname: gameAndFileRecord.console_nickname,
mode: gameAndFileRecord.mode,
lastFrame: gameAndFileRecord.last_frame,
timerType: gameAndFileRecord.timer_type,
startingTimerSeconds: gameAndFileRecord.starting_timer_secs,
},
};
}

0 comments on commit 911267a

Please sign in to comment.