set(NotificationsAuthorizationPolicy::class, static fn (AppContainer $c): NotificationsAuthorizationPolicy => new NotificationsAuthorizationPolicy( $c->get(PermissionService::class) )); $container->set(NotificationRepository::class, static fn (): NotificationRepository => new NotificationRepository()); $container->set(NotificationService::class, static fn (AppContainer $c): NotificationService => new NotificationService( $c->get(NotificationRepository::class), $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) )); $container->set(SchedulerJobFailedNotificationListener::class, static fn (AppContainer $c): SchedulerJobFailedNotificationListener => new SchedulerJobFailedNotificationListener( $c->get(NotificationService::class), $c->get(UserReadRepository::class), $c->get(UserTenantRepository::class) )); } }