set(NotificationRepositoryFactory::class, static fn (): NotificationRepositoryFactory => new NotificationRepositoryFactory()); $container->set(NotificationServicesFactory::class, static fn (AppContainer $c): NotificationServicesFactory => new NotificationServicesFactory( $c->get(NotificationRepositoryFactory::class) )); $container->set(NotificationService::class, static fn (AppContainer $c): NotificationService => $c->get(NotificationServicesFactory::class)->createNotificationService( $c->get(UserTenantRepository::class) )); $container->set(NotificationCleanupJobHandler::class, static fn (AppContainer $c): NotificationCleanupJobHandler => new NotificationCleanupJobHandler( $c->get(NotificationService::class) )); $container->set(UserCreatedNotificationListener::class, static fn (AppContainer $c): UserCreatedNotificationListener => new UserCreatedNotificationListener( $c->get(NotificationService::class), $c->get(UserReadRepository::class), $c->get(UserTenantRepository::class) )); $container->set(UserDeletedNotificationListener::class, static fn (AppContainer $c): UserDeletedNotificationListener => new UserDeletedNotificationListener( $c->get(NotificationService::class), $c->get(UserReadRepository::class) )); $container->set(UserActivatedNotificationListener::class, static fn (AppContainer $c): UserActivatedNotificationListener => new UserActivatedNotificationListener( $c->get(NotificationService::class), $c->get(UserReadRepository::class), $c->get(UserTenantRepository::class) )); $container->set(UserDeactivatedNotificationListener::class, static fn (AppContainer $c): UserDeactivatedNotificationListener => new UserDeactivatedNotificationListener( $c->get(NotificationService::class), $c->get(UserReadRepository::class), $c->get(UserTenantRepository::class) )); $container->set(UserAssignmentChangedNotificationListener::class, static fn (AppContainer $c): UserAssignmentChangedNotificationListener => new UserAssignmentChangedNotificationListener( $c->get(NotificationService::class), $c->get(UserReadRepository::class) )); } }