Automated PR created by Copilot per user request. Branch pushed: 266-tenant-dashboard-productization-v1 Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #322
54 lines
2.0 KiB
PHP
54 lines
2.0 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Support\TenantDashboard;
|
|
|
|
final readonly class TenantDashboardSummary
|
|
{
|
|
/**
|
|
* @param array{workspace:string,tenant:string,provider:?string,providerKey:?string,latestActivity:?string} $context
|
|
* @param array{status:string,tone:string,headline:string,summary:string} $posture
|
|
* @param list<array<string, mixed>> $kpis
|
|
* @param list<array<string, mixed>> $recommendedActions
|
|
* @param list<array<string, mixed>> $governanceStatus
|
|
* @param list<array<string, mixed>> $readinessCards
|
|
* @param list<array<string, mixed>> $recentOperations
|
|
*/
|
|
public function __construct(
|
|
public array $context,
|
|
public array $posture,
|
|
public array $kpis,
|
|
public array $recommendedActions,
|
|
public array $governanceStatus,
|
|
public array $readinessCards,
|
|
public array $recentOperations,
|
|
public ?string $pollingInterval,
|
|
) {}
|
|
|
|
/**
|
|
* @return array{
|
|
* context: array{workspace:string,tenant:string,provider:?string,providerKey:?string,latestActivity:?string},
|
|
* posture: array{status:string,tone:string,headline:string,summary:string},
|
|
* kpis: list<array<string, mixed>>,
|
|
* recommendedActions: list<array<string, mixed>>,
|
|
* governanceStatus: list<array<string, mixed>>,
|
|
* readinessCards: list<array<string, mixed>>,
|
|
* recentOperations: list<array<string, mixed>>,
|
|
* pollingInterval: ?string,
|
|
* }
|
|
*/
|
|
public function toArray(): array
|
|
{
|
|
return [
|
|
'context' => $this->context,
|
|
'posture' => $this->posture,
|
|
'kpis' => $this->kpis,
|
|
'recommendedActions' => $this->recommendedActions,
|
|
'governanceStatus' => $this->governanceStatus,
|
|
'readinessCards' => $this->readinessCards,
|
|
'recentOperations' => $this->recentOperations,
|
|
'pollingInterval' => $this->pollingInterval,
|
|
];
|
|
}
|
|
} |