mirror of
https://github.com/brendan-ch/project-inter-server.git
synced 2026-04-19 08:50:29 +00:00
Have the ETA repositories depend on BaseRedisRepository instead of duplicating methods
This commit is contained in:
@@ -1,29 +1,9 @@
|
|||||||
import { createClient, RedisClientType } from "redis";
|
|
||||||
import { IEta } from "../../../entities/ShuttleRepositoryEntities";
|
import { IEta } from "../../../entities/ShuttleRepositoryEntities";
|
||||||
|
import { BaseRedisRepository } from "../../BaseRedisRepository";
|
||||||
import { ETARepositoryEventName, ETARepositoryEventListener } from "./ETAGetterRepository";
|
import { ETARepositoryEventName, ETARepositoryEventListener } from "./ETAGetterRepository";
|
||||||
import { ExternalSourceETARepository } from "./ExternalSourceETARepository";
|
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<void> {
|
addOrUpdateEtaFromExternalSource(eta: IEta): Promise<void> {
|
||||||
throw new Error("Method not implemented.");
|
throw new Error("Method not implemented.");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import { IEta } from "../../../entities/ShuttleRepositoryEntities";
|
import { IEta } from "../../../entities/ShuttleRepositoryEntities";
|
||||||
import { ETARepositoryEventName, ETARepositoryEventListener } from "./ETAGetterRepository";
|
import { ETARepositoryEventName, ETARepositoryEventListener } from "./ETAGetterRepository";
|
||||||
import { SelfUpdatingETARepository } from "./SelfUpdatingETARepository";
|
import { SelfUpdatingETARepository } from "./SelfUpdatingETARepository";
|
||||||
|
import { BaseRedisRepository } from "../../BaseRedisRepository";
|
||||||
|
|
||||||
export class RedisSelfUpdatingETARepository implements SelfUpdatingETARepository {
|
export class RedisSelfUpdatingETARepository extends BaseRedisRepository implements SelfUpdatingETARepository {
|
||||||
startListeningForUpdates(): void {
|
startListeningForUpdates(): void {
|
||||||
throw new Error("Method not implemented.");
|
throw new Error("Method not implemented.");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user