mirror of
https://github.com/brendan-ch/project-inter-server.git
synced 2026-04-19 08:50:29 +00:00
Remove unused code within ApiBasedShuttleRepositoryLoader
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import { ShuttleGetterSetterRepository } from "../../repositories/shuttle/ShuttleGetterSetterRepository";
|
import { ShuttleGetterSetterRepository } from "../../repositories/shuttle/ShuttleGetterSetterRepository";
|
||||||
import { IEta, IRoute, IShuttle, IStop } from "../../entities/ShuttleRepositoryEntities";
|
import { IRoute, IShuttle, IStop } from "../../entities/ShuttleRepositoryEntities";
|
||||||
import { ShuttleRepositoryLoader } from "./ShuttleRepositoryLoader";
|
import { ShuttleRepositoryLoader } from "./ShuttleRepositoryLoader";
|
||||||
import { ICoordinates, IEntityWithId } from "../../entities/SharedEntities";
|
import { ICoordinates, IEntityWithId } from "../../entities/SharedEntities";
|
||||||
import { ApiResponseError } from "../ApiResponseError";
|
import { ApiResponseError } from "../ApiResponseError";
|
||||||
@@ -34,11 +34,6 @@ export class ApiBasedShuttleRepositoryLoader implements ShuttleRepositoryLoader
|
|||||||
await this.updateRouteDataForSystem();
|
await this.updateRouteDataForSystem();
|
||||||
await this.updateStopAndPolylineDataForRoutesInSystem();
|
await this.updateStopAndPolylineDataForRoutesInSystem();
|
||||||
await this.updateShuttleDataForSystemBasedOnProximityToRoutes();
|
await this.updateShuttleDataForSystemBasedOnProximityToRoutes();
|
||||||
|
|
||||||
// Because ETA method doesn't support pruning yet,
|
|
||||||
// add a call to the clear method here
|
|
||||||
await this.repository.clearEtaData();
|
|
||||||
await this.updateEtaDataForExistingStopsForSystem();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async updateRouteDataForSystem() {
|
public async updateRouteDataForSystem() {
|
||||||
@@ -238,65 +233,6 @@ export class ApiBasedShuttleRepositoryLoader implements ShuttleRepositoryLoader
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async updateEtaDataForExistingStopsForSystem() {
|
|
||||||
const stops = await this.repository.getStops();
|
|
||||||
await Promise.all(stops.map(async (stop) => {
|
|
||||||
let stopId = stop.id;
|
|
||||||
await this.updateEtaDataForStopId(stopId);
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
|
|
||||||
public async updateEtaDataForStopId(stopId: string) {
|
|
||||||
try {
|
|
||||||
const json = await this.fetchEtaDataJson(stopId);
|
|
||||||
const etas = this.constructEtasFromJson(json, stopId);
|
|
||||||
if (etas !== null) {
|
|
||||||
await this.updateEtaDataInRepository(etas);
|
|
||||||
} else {
|
|
||||||
console.warn(`ETA update failed for stop ${stopId} with the following JSON: ${JSON.stringify(json)}`);
|
|
||||||
}
|
|
||||||
} catch(e: any) {
|
|
||||||
throw new ApiResponseError(e.message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async updateEtaDataInRepository(etas: IEta[]) {
|
|
||||||
// ETAs are now calculated internally by the repository based on shuttle movements
|
|
||||||
// External ETAs from the API are no longer used
|
|
||||||
}
|
|
||||||
|
|
||||||
private async fetchEtaDataJson(stopId: string) {
|
|
||||||
const params = {
|
|
||||||
eta: "3",
|
|
||||||
stopIds: stopId,
|
|
||||||
};
|
|
||||||
|
|
||||||
const query = new URLSearchParams(params).toString();
|
|
||||||
|
|
||||||
const response = await fetch(`${this.baseUrl}?${query}`, {
|
|
||||||
method: "GET",
|
|
||||||
});
|
|
||||||
return await response.json();
|
|
||||||
}
|
|
||||||
|
|
||||||
private constructEtasFromJson(json: any, stopId: string): IEta[] | null {
|
|
||||||
if (json.ETAs && json.ETAs[stopId]) {
|
|
||||||
return json.ETAs[stopId].map((jsonEta: any) => {
|
|
||||||
const shuttleId: string = jsonEta.busId;
|
|
||||||
const eta: IEta = {
|
|
||||||
secondsRemaining: jsonEta.secondsSpent,
|
|
||||||
shuttleId: `${shuttleId}`,
|
|
||||||
stopId: stopId,
|
|
||||||
updatedTime: new Date(),
|
|
||||||
systemId: this.systemIdForConstructedData,
|
|
||||||
};
|
|
||||||
return eta;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected async updateStopDataForSystemAndApiResponse(
|
protected async updateStopDataForSystemAndApiResponse(
|
||||||
json: any,
|
json: any,
|
||||||
setOfIdsToPrune: Set<string> = new Set(),
|
setOfIdsToPrune: Set<string> = new Set(),
|
||||||
|
|||||||
@@ -4,6 +4,4 @@ export interface ShuttleRepositoryLoader extends RepositoryLoader {
|
|||||||
updateRouteDataForSystem(): Promise<void>;
|
updateRouteDataForSystem(): Promise<void>;
|
||||||
updateStopAndPolylineDataForRoutesInSystem(): Promise<void>;
|
updateStopAndPolylineDataForRoutesInSystem(): Promise<void>;
|
||||||
updateShuttleDataForSystemBasedOnProximityToRoutes(): Promise<void>;
|
updateShuttleDataForSystemBasedOnProximityToRoutes(): Promise<void>;
|
||||||
updateEtaDataForExistingStopsForSystem(): Promise<void>;
|
|
||||||
updateEtaDataForStopId(stopId: string): Promise<void>;
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user