auditRepositoryFactory->createApiAuditLogRepository(); } public function createUserLifecycleAuditRepository(): UserLifecycleAuditRepositoryInterface { return $this->auditRepositoryFactory->createUserLifecycleAuditRepository(); } public function createSystemAuditLogRepository(): SystemAuditLogRepositoryInterface { return $this->auditRepositoryFactory->createSystemAuditLogRepository(); } public function createApiAuditService(): ApiAuditService { return $this->apiAuditService ??= new ApiAuditService( $this->createApiAuditLogRepository(), $this->requestRuntime ); } public function createUserLifecycleAuditService(): UserLifecycleAuditService { return $this->userLifecycleAuditService ??= new UserLifecycleAuditService( $this->createUserLifecycleAuditRepository() ); } public function createSystemAuditRedactionService(): SystemAuditRedactionService { return $this->systemAuditRedactionService ??= new SystemAuditRedactionService(); } public function createSystemAuditService(): SystemAuditService { return $this->systemAuditService ??= new SystemAuditService( $this->createSystemAuditLogRepository(), $this->createSystemAuditRedactionService(), $this->settingsSystemAuditGateway, $this->sessionStore ); } }