diff --git a/src/repositories/ApiBasedRepository.ts b/src/repositories/ApiBasedRepository.ts index a3d4c67..18a562e 100644 --- a/src/repositories/ApiBasedRepository.ts +++ b/src/repositories/ApiBasedRepository.ts @@ -40,6 +40,20 @@ export class ApiBasedRepository implements GetterRepository { } public async getEtaForShuttleAndStopId(shuttleId: string, stopId: string): Promise { + const shuttle = await this.getShuttleById(shuttleId); + const systemId = shuttle?.systemId; + if (!systemId) { + return null; + } + + if (this.initialCache?.etasForStopId !== undefined) { + const etas = this.initialCache.etasForStopId[systemId]; + const foundEta = etas.find((eta) => eta.stopId === stopId); + if (foundEta) { + return foundEta; + } + } + return null; } @@ -76,7 +90,7 @@ export class ApiBasedRepository implements GetterRepository { return Promise.resolve([]); } - public async getShuttleById(shuttleId: string): Promise<| null> { + public async getShuttleById(shuttleId: string): Promise { return Promise.resolve(null); }