update imports and create ApiBasedRepository.ts stub

This commit is contained in:
2025-01-06 21:01:22 -08:00
parent 359f8fe192
commit d10ad92907
6 changed files with 85 additions and 6 deletions

View File

@@ -0,0 +1,68 @@
import { GetterRepository } from "./GetterRepository";
import { IEta } from "../entities/entities";
export class ApiBasedRepository implements GetterRepository {
public async getEtaForShuttleAndStopId(shuttleId: string, stopId: string): Promise<IEta | null> {
// TODO: implement
return null;
}
public async getEtasForShuttleId(shuttleId: string): Promise<[]> {
// TODO: implement
return [];
}
public async getEtasForStopId(stopId: string): Promise<[]> {
return [];
}
public async getOrderedStopByRouteAndStopId(routeId: string, stopId: string): Promise<| null> {
return null;
}
public async getOrderedStopsByRouteId(routeId: string): Promise<[]> {
return Promise.resolve([]);
}
public async getOrderedStopsByStopId(stopId: string): Promise<[]> {
return Promise.resolve([]);
}
public async getRouteById(routeId: string): Promise<| null> {
return Promise.resolve(null);
}
public async getRoutesBySystemId(systemId: string): Promise<[]> {
return Promise.resolve([]);
}
public async getShuttleById(shuttleId: string): Promise<| null> {
return Promise.resolve(null);
}
public async getShuttlesByRouteId(routeId: string): Promise<[]> {
return Promise.resolve([]);
}
public async getShuttlesBySystemId(systemId: string): Promise<[]> {
return Promise.resolve([]);
}
public async getStopById(stopId: string): Promise<| null> {
return null;
}
public async getStopsBySystemId(systemId: string): Promise<[]> {
return [];
}
public async getSystemById(systemId: string): Promise<| null> {
return null;
}
public async getSystems(): Promise<[]> {
return Promise.resolve([]);
}
}

View File

@@ -1,4 +1,4 @@
import { IEta, IOrderedStop, IRoute, IShuttle, IStop, ISystem } from "./GetterSetterRepository";
import { IEta, IOrderedStop, IRoute, IShuttle, IStop, ISystem } from "../entities/entities";
export interface GetterRepository {
getSystems(): Promise<ISystem[]>;

View File

@@ -1,4 +1,13 @@
import { IEntityWithId, IEta, IOrderedStop, IRoute, IShuttle, IStop, ISystem, GetterSetterRepository } from "./GetterSetterRepository";
import { GetterSetterRepository } from "./GetterSetterRepository";
import {
IEntityWithIdAndOptionalTimestamp,
IEta,
IOrderedStop,
IRoute,
IShuttle,
IStop,
ISystem
} from "../entities/entities";
/**
* An unoptimized in memory repository.
@@ -73,7 +82,7 @@ export class UnoptimizedInMemoryRepository implements GetterSetterRepository {
return this.orderedStops.filter((value) => value.routeId === routeId);
}
private findEntityById<T extends IEntityWithId>(entityId: string, arrayToSearchIn: T[]) {
private findEntityById<T extends IEntityWithIdAndOptionalTimestamp>(entityId: string, arrayToSearchIn: T[]) {
return this.findEntityByMatcher((value) => value.id === entityId, arrayToSearchIn);
}