fedi-feed-router/app/Enums/PublishStatusEnum.php
myrmidex bf734feb4a
Some checks failed
CI / ci (push) Failing after 12m22s
83 - Add a publish success rate chart to the dashboard
2026-08-13 17:34:57 +02:00

29 lines
742 B
PHP

<?php
namespace App\Enums;
enum PublishStatusEnum: string
{
case UNPUBLISHED = 'unpublished';
case PUBLISHING = 'publishing';
case PUBLISHED = 'published';
case SKIPPED = 'skipped';
case ERROR = 'error';
/** Skipped articles were never attempted, so they are not a publish outcome. */
public function isSettled(): bool
{
return $this === self::PUBLISHED || $this === self::ERROR;
}
/**
* @return array<int, string>
*/
public static function settledValues(): array
{
return array_values(array_map(
fn (self $status): string => $status->value,
array_filter(self::cases(), fn (self $status): bool => $status->isSettled()),
));
}
}