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()); } 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->settingGateway ); } }