TenantAtlas/apps/platform/app/Support/ReviewPublicationResolution/ReviewPublicationResolutionStepKey.php
Ahmed Darrazi 5c02afcae8
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 6m16s
feat: implement ReviewPublicationResolutionWorkflow (Spec 386)
2026-06-18 22:57:10 +02:00

55 lines
1.9 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Support\ReviewPublicationResolution;
enum ReviewPublicationResolutionStepKey: string
{
case ValidateReviewReadiness = 'validate_review_readiness';
case CompleteRequiredReports = 'complete_required_reports';
case CollectEvidenceSnapshot = 'collect_evidence_snapshot';
case RefreshReviewComposition = 'refresh_review_composition';
case GenerateReviewPack = 'generate_review_pack';
case ReturnToPublication = 'return_to_publication';
/**
* @return list<self>
*/
public static function ordered(): array
{
return [
self::ValidateReviewReadiness,
self::CompleteRequiredReports,
self::CollectEvidenceSnapshot,
self::RefreshReviewComposition,
self::GenerateReviewPack,
self::ReturnToPublication,
];
}
public function label(): string
{
return match ($this) {
self::ValidateReviewReadiness => 'Validate review readiness',
self::CompleteRequiredReports => 'Complete required reports',
self::CollectEvidenceSnapshot => 'Collect evidence snapshot',
self::RefreshReviewComposition => 'Refresh review composition',
self::GenerateReviewPack => 'Generate review pack',
self::ReturnToPublication => 'Return to publication',
};
}
public function primaryActionKey(): ?string
{
return match ($this) {
self::CompleteRequiredReports => 'complete_required_reports',
self::CollectEvidenceSnapshot => 'collect_evidence_snapshot',
self::RefreshReviewComposition => 'refresh_review_composition',
self::GenerateReviewPack => 'generate_review_pack',
self::ReturnToPublication => 'return_to_publication',
self::ValidateReviewReadiness => null,
};
}
}