finish the rename for the data loaders

This commit is contained in:
2025-03-27 09:33:37 -07:00
parent fab99db755
commit 687fe0d826
7 changed files with 16 additions and 16 deletions

View File

@@ -4,9 +4,9 @@ import { startStandaloneServer } from "@apollo/server/standalone";
import { MergedResolvers } from "./MergedResolvers";
import { ServerContext } from "./ServerContext";
import { UnoptimizedInMemoryShuttleRepository } from "./repositories/UnoptimizedInMemoryShuttleRepository";
import { TimedApiBasedRepositoryLoader } from "./loaders/TimedApiBasedRepositoryLoader";
import { TimedApiBasedShuttleRepositoryLoader } from "./loaders/TimedApiBasedShuttleRepositoryLoader";
import { ETANotificationScheduler } from "./notifications/schedulers/ETANotificationScheduler";
import { loadTestData } from "./loaders/loadTestData";
import { loadShuttleTestData } from "./loaders/loadShuttleTestData";
import { AppleNotificationSender } from "./notifications/senders/AppleNotificationSender";
const typeDefs = readFileSync("./schema.graphqls", "utf8");
@@ -22,11 +22,11 @@ async function main() {
let notificationService: ETANotificationScheduler;
if (process.argv.length > 2 && process.argv[2] == "integration-testing") {
console.log("Using integration testing setup")
await loadTestData(repository);
await loadShuttleTestData(repository);
const appleNotificationSender = new AppleNotificationSender(false);
notificationService = new ETANotificationScheduler(repository, appleNotificationSender);
} else {
const repositoryDataUpdater = new TimedApiBasedRepositoryLoader(
const repositoryDataUpdater = new TimedApiBasedShuttleRepositoryLoader(
repository
);
await repositoryDataUpdater.start();

View File

@@ -1,6 +1,6 @@
import { ShuttleGetterSetterRepository } from "../repositories/ShuttleGetterSetterRepository";
import { IEntityWithId, IEta, IRoute, IShuttle, IStop, ISystem } from "../entities/entities";
import { RepositoryLoader } from "./RepositoryLoader";
import { ShuttleRepositoryLoader } from "./ShuttleRepositoryLoader";
export class ApiResponseError extends Error {
constructor(message: string) {
@@ -14,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 implements RepositoryLoader {
export class ApiBasedShuttleRepositoryLoader implements ShuttleRepositoryLoader {
supportedSystemIds = ["263"];
baseUrl = "https://passiogo.com/mapGetData.php";

View File

@@ -1,4 +1,4 @@
export interface RepositoryLoader {
export interface ShuttleRepositoryLoader {
fetchAndUpdateSystemData(): Promise<void>;
fetchAndUpdateRouteDataForExistingSystemsInRepository(): Promise<void>;
fetchAndUpdateRouteDataForSystemId(systemId: string): Promise<void>;

View File

@@ -1,5 +1,5 @@
import { ShuttleGetterSetterRepository } from "../repositories/ShuttleGetterSetterRepository";
import { ApiBasedRepositoryLoader } from "./ApiBasedRepositoryLoader";
import { ApiBasedShuttleRepositoryLoader } from "./ApiBasedShuttleRepositoryLoader";
// Ideas to break this into smaller pieces in the future:
// Have one repository data loader running for each supported system
@@ -15,7 +15,7 @@ import { ApiBasedRepositoryLoader } from "./ApiBasedRepositoryLoader";
// - OrderedStops: reload every few minutes
// - Systems: reload once a day
export class TimedApiBasedRepositoryLoader extends ApiBasedRepositoryLoader {
export class TimedApiBasedShuttleRepositoryLoader extends ApiBasedShuttleRepositoryLoader {
private shouldBeRunning: boolean = false;
private timer: any;

View File

@@ -4454,7 +4454,7 @@ const etas: IEta[] = [
}
];
export async function loadTestData(repository: ShuttleGetterSetterRepository) {
export async function loadShuttleTestData(repository: ShuttleGetterSetterRepository) {
await Promise.all(systems.map(async (system) => {
await repository.addOrUpdateSystem(system);
}));