add notification repository argument

This commit is contained in:
2025-04-06 10:29:41 -07:00
parent 187800cf40
commit 5b695c7250

View File

@@ -3,6 +3,7 @@ import { ETANotificationScheduler } from "../notifications/schedulers/ETANotific
import { TimedApiBasedShuttleRepositoryLoader } from "../loaders/TimedApiBasedShuttleRepositoryLoader"; import { TimedApiBasedShuttleRepositoryLoader } from "../loaders/TimedApiBasedShuttleRepositoryLoader";
import { UnoptimizedInMemoryShuttleRepository } from "../repositories/UnoptimizedInMemoryShuttleRepository"; import { UnoptimizedInMemoryShuttleRepository } from "../repositories/UnoptimizedInMemoryShuttleRepository";
import { RedisNotificationRepository } from "../repositories/RedisNotificationRepository"; import { RedisNotificationRepository } from "../repositories/RedisNotificationRepository";
import { NotificationRepository } from "../repositories/NotificationRepository";
export class System { export class System {
constructor( constructor(
@@ -16,12 +17,15 @@ export class System {
* Construct an instance of the class where all composited * Construct an instance of the class where all composited
* classes are correctly linked. * classes are correctly linked.
* @param systemId * @param systemId
* @param notificationRepository
*/ */
static build(systemId: string) { static build(
systemId: string,
notificationRepository: NotificationRepository = new RedisNotificationRepository()
) {
const shuttleRepository = new UnoptimizedInMemoryShuttleRepository(); const shuttleRepository = new UnoptimizedInMemoryShuttleRepository();
const shuttleDataLoader = new TimedApiBasedShuttleRepositoryLoader(systemId, shuttleRepository); const shuttleDataLoader = new TimedApiBasedShuttleRepositoryLoader(systemId, shuttleRepository);
const notificationRepository = new RedisNotificationRepository();
const notificationScheduler = new ETANotificationScheduler(shuttleRepository, notificationRepository); const notificationScheduler = new ETANotificationScheduler(shuttleRepository, notificationRepository);
const system = new System( const system = new System(