Make BaseRedisRepository extend EventEmitter; make RedisShuttleRepository extend BaseRedisRepository

This commit is contained in:
2025-11-11 12:31:32 -08:00
parent b6b79e1345
commit 01c55d52ec
5 changed files with 12 additions and 86 deletions

View File

@@ -1,8 +1,5 @@
import EventEmitter from "node:events";
import { createClient } from 'redis';
import { ShuttleGetterSetterRepository } from "./ShuttleGetterSetterRepository";
import { IEta, IOrderedStop, IRoute, IShuttle, IStop, shuttleHasArrivedAtStop } from "../../entities/ShuttleRepositoryEntities";
import { REDIS_RECONNECT_INTERVAL } from "../../environment";
import {
ShuttleRepositoryEvent,
ShuttleRepositoryEventListener,
@@ -12,27 +9,9 @@ import {
ShuttleTravelTimeDataIdentifier,
ShuttleTravelTimeDateFilterArguments,
} from "./ShuttleGetterRepository";
import { BaseRedisRepository } from "../BaseRedisRepository";
export class RedisShuttleRepository extends EventEmitter implements ShuttleGetterSetterRepository {
protected redisClient;
constructor(
redisClient = createClient({
url: process.env.REDIS_URL,
socket: {
tls: process.env.NODE_ENV === 'production',
rejectUnauthorized: false,
reconnectStrategy: REDIS_RECONNECT_INTERVAL,
},
}),
) {
super();
this.redisClient = redisClient;
this.redisClient.on('error', (err) => {
console.error(err.stack);
});
}
export class RedisShuttleRepository extends BaseRedisRepository implements ShuttleGetterSetterRepository {
get isReady() {
return this.redisClient.isReady;
}