add RepositoryLoader interface

This commit is contained in:
2025-02-19 10:47:58 -08:00
parent 11871da802
commit 3b173aeb22
2 changed files with 15 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
import { GetterSetterRepository } from "../repositories/GetterSetterRepository";
import { IEntityWithId, IEta, IRoute, IShuttle, IStop, ISystem } from "../entities/entities";
import { RepositoryLoader } from "./RepositoryLoader";
export class ApiResponseError extends Error {
constructor(message: string) {
@@ -13,7 +14,7 @@ export class ApiResponseError extends Error {
* Passio Go API. Supports automatic pruning of all data types
* which inherit from `IEntityWithId`.
*/
export class ApiBasedRepositoryLoader {
export class ApiBasedRepositoryLoader implements RepositoryLoader {
supportedSystemIds = ["263"];
baseUrl = "https://passiogo.com/mapGetData.php";
@@ -382,4 +383,4 @@ export class ApiBasedRepositoryLoader {
}))
}
}
}
}

View File

@@ -0,0 +1,12 @@
export interface RepositoryLoader {
fetchAndUpdateSystemData(): Promise<void>;
fetchAndUpdateRouteDataForExistingSystemsInRepository(): Promise<void>;
fetchAndUpdateRouteDataForSystemId(systemId: string): Promise<void>;
fetchAndUpdateStopAndPolylineDataForRoutesInExistingSystemsInRepository(): Promise<void>;
fetchAndUpdateStopAndPolylineDataForRoutesWithSystemId(systemId: string): Promise<void>;
fetchAndUpdateShuttleDataForExistingSystemsInRepository(): Promise<void>;
fetchAndUpdateShuttleDataForSystemId(systemId: string): Promise<void>;
fetchAndUpdateEtaDataForExistingStopsForSystemsInRepository(): Promise<void>;
fetchAndUpdateEtaDataForExistingStopsForSystemId(systemId: string): Promise<void>;
fetchAndUpdateEtaDataForStopId(stopId: string): Promise<void>;
}