From e707c9cfd87b01726d831a0b974831c28f3a95a3 Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Tue, 11 Nov 2025 11:33:45 -0800 Subject: [PATCH] Have the ETA repositories depend on BaseRedisRepository instead of duplicating methods --- .../eta/RedisExternalSourceETARepository.ts | 24 ++----------------- .../eta/RedisSelfUpdatingETARepository.ts | 3 ++- 2 files changed, 4 insertions(+), 23 deletions(-) diff --git a/src/repositories/shuttle/eta/RedisExternalSourceETARepository.ts b/src/repositories/shuttle/eta/RedisExternalSourceETARepository.ts index daa1dd4..1d1371d 100644 --- a/src/repositories/shuttle/eta/RedisExternalSourceETARepository.ts +++ b/src/repositories/shuttle/eta/RedisExternalSourceETARepository.ts @@ -1,29 +1,9 @@ -import { createClient, RedisClientType } from "redis"; import { IEta } from "../../../entities/ShuttleRepositoryEntities"; +import { BaseRedisRepository } from "../../BaseRedisRepository"; import { ETARepositoryEventName, ETARepositoryEventListener } from "./ETAGetterRepository"; import { ExternalSourceETARepository } from "./ExternalSourceETARepository"; -import { REDIS_RECONNECT_INTERVAL } from "../../../environment"; - -export class RedisExternalSourceETARepository implements ExternalSourceETARepository { - constructor( - private redisClient: RedisClientType = createClient({ - url: process.env.REDIS_URL, - socket: { - tls: process.env.NODE_ENV === 'production', - rejectUnauthorized: false, - reconnectStrategy: REDIS_RECONNECT_INTERVAL, - }, - }) - ) {} - - public async connect() { - await this.redisClient.connect(); - } - - public async disconnect() { - await this.redisClient.disconnect(); - } +export class RedisExternalSourceETARepository extends BaseRedisRepository implements ExternalSourceETARepository { addOrUpdateEtaFromExternalSource(eta: IEta): Promise { throw new Error("Method not implemented."); } diff --git a/src/repositories/shuttle/eta/RedisSelfUpdatingETARepository.ts b/src/repositories/shuttle/eta/RedisSelfUpdatingETARepository.ts index 797571f..a636f57 100644 --- a/src/repositories/shuttle/eta/RedisSelfUpdatingETARepository.ts +++ b/src/repositories/shuttle/eta/RedisSelfUpdatingETARepository.ts @@ -1,8 +1,9 @@ import { IEta } from "../../../entities/ShuttleRepositoryEntities"; import { ETARepositoryEventName, ETARepositoryEventListener } from "./ETAGetterRepository"; import { SelfUpdatingETARepository } from "./SelfUpdatingETARepository"; +import { BaseRedisRepository } from "../../BaseRedisRepository"; -export class RedisSelfUpdatingETARepository implements SelfUpdatingETARepository { +export class RedisSelfUpdatingETARepository extends BaseRedisRepository implements SelfUpdatingETARepository { startListeningForUpdates(): void { throw new Error("Method not implemented."); }