Add getAverageTravelTimeSeconds in SelfUpdatingETARepository definition

This commit is contained in:
2025-11-11 12:26:22 -08:00
parent e0b00d1887
commit 13bfc853e3
2 changed files with 16 additions and 2 deletions

View File

@@ -3,7 +3,7 @@ import { ETARepositoryEventName, ETARepositoryEventListener } from "./ETAGetterR
import { SelfUpdatingETARepository } from "./SelfUpdatingETARepository"; import { SelfUpdatingETARepository } from "./SelfUpdatingETARepository";
import { BaseRedisRepository } from "../../BaseRedisRepository"; import { BaseRedisRepository } from "../../BaseRedisRepository";
import { createClient, RedisClientType } from "redis"; import { createClient, RedisClientType } from "redis";
import { ShuttleGetterRepository } from "../ShuttleGetterRepository"; import { ShuttleGetterRepository, ShuttleTravelTimeDataIdentifier, ShuttleTravelTimeDateFilterArguments } from "../ShuttleGetterRepository";
import { REDIS_RECONNECT_INTERVAL } from "../../../environment"; import { REDIS_RECONNECT_INTERVAL } from "../../../environment";
export class RedisSelfUpdatingETARepository extends BaseRedisRepository implements SelfUpdatingETARepository { export class RedisSelfUpdatingETARepository extends BaseRedisRepository implements SelfUpdatingETARepository {
@@ -20,7 +20,9 @@ export class RedisSelfUpdatingETARepository extends BaseRedisRepository implemen
) { ) {
super(redisClient); super(redisClient);
} }
getAverageTravelTimeSeconds(identifier: ShuttleTravelTimeDataIdentifier, dateFilter: ShuttleTravelTimeDateFilterArguments): Promise<number | undefined> {
throw new Error("Method not implemented.");
}
startListeningForUpdates(): void { startListeningForUpdates(): void {
throw new Error("Method not implemented."); throw new Error("Method not implemented.");
} }

View File

@@ -1,3 +1,4 @@
import { ShuttleTravelTimeDataIdentifier, ShuttleTravelTimeDateFilterArguments } from "../ShuttleGetterRepository";
import { ETAGetterRepository } from "./ETAGetterRepository"; import { ETAGetterRepository } from "./ETAGetterRepository";
export interface SelfUpdatingETARepository extends ETAGetterRepository { export interface SelfUpdatingETARepository extends ETAGetterRepository {
@@ -6,4 +7,15 @@ export interface SelfUpdatingETARepository extends ETAGetterRepository {
* shuttle updates * shuttle updates
*/ */
startListeningForUpdates(): void; startListeningForUpdates(): void;
/**
* Get average travel time between two stops based on historical data.
* Returns undefined if no data exists for the specified time range.
* @param identifier - The route and stop IDs to query
* @param dateFilter - The date range to filter data
*/
getAverageTravelTimeSeconds(
identifier: ShuttleTravelTimeDataIdentifier,
dateFilter: ShuttleTravelTimeDateFilterArguments
): Promise<number | undefined>;
} }