requirePermission(TenantFirewallLogService::PERMISSION_READ); return $this->status->tenantMetrics($this->tenant->requireIdentifier(), $since); } public function configuration(): array { $this->requirePermission(self::PERMISSION_SETTINGS_READ); return $this->tenant->configuration()?->firewall()->jsonSerialize() ?? [ 'enabled' => true, 'maxAuthFailures' => 5, 'authFailureWindow' => 300, 'autoBlockDuration' => 3600, ]; } private function requirePermission(string $permission): void { if (!$this->identity->hasPermission($permission)) { throw new \RuntimeException("Missing required permission: {$permission}"); } } }