reportFlowDecider->shouldUseNewArchitecture($reportType); } /** * @param array $validated */ public function saveManual(User $actor, array $validated, string $reportType = 'daily'): GenerateReportResult|Report { if (! $this->usesNewArchitecture($reportType)) { return $this->reportSaveOrchestrator->storeReport($validated, $actor, false); } return $this->generateReportUseCase->handle( $this->reportInputFactory->forManualSave($actor, $validated, $reportType) ); } public function saveAutoFill( User $scopedUser, Department $department, DateRange $dateRange, string $reportType = 'daily', ): GenerateReportResult|Report { if (! $this->usesNewArchitecture($reportType)) { $payload = $this->autoFillReportPayloadBuilder->build($scopedUser, $department, $dateRange); return $this->reportSaveOrchestrator->storeReport($payload, $scopedUser, true); } return $this->generateReportUseCase->handle( $this->reportInputFactory->forAutoFill($scopedUser, $department, $dateRange, $reportType) ); } }