blocked($enabled, $driver, $runtimeValidated, 'renderer_disabled', 'PDF rendering is disabled for this environment.'); } if ($driver !== 'gotenberg') { return $this->blocked($enabled, $driver, $runtimeValidated, 'renderer_driver_unsupported', 'The configured PDF renderer driver is not supported.'); } if (! $runtimeValidated) { return $this->blocked($enabled, $driver, $runtimeValidated, 'runtime_validation_missing', 'Management PDF generation is blocked until the Gotenberg runtime is validated on Staging.'); } return [ 'enabled' => $enabled, 'driver' => $driver, 'runtime_validated' => $runtimeValidated, 'is_blocked' => false, 'reason_code' => null, 'reason' => null, ]; } /** * @return array{ * enabled: bool, * driver: string, * runtime_validated: bool, * is_blocked: bool, * reason_code: string, * reason: string * } */ private function blocked(bool $enabled, string $driver, bool $runtimeValidated, string $reasonCode, string $reason): array { return [ 'enabled' => $enabled, 'driver' => $driver, 'runtime_validated' => $runtimeValidated, 'is_blocked' => true, 'reason_code' => $reasonCode, 'reason' => $reason, ]; } }