Backup #523
| ID | 523 |
| Dateipfad | /var/www/dev.campus.systemische-tools.de/src/Domain/ValueObject/TaskStatus.php |
| Version | 2 |
| Typ |
modified |
| Größe | 1.4 KB |
| Hash | aa19446a21e05120484331a8c9a47fde14f17d0e127e190978f700b8e0fce773 |
| Datum | 2025-12-22 15:53:12 |
| Geändert von | claude-code-hook |
| Grund | Claude Code Pre-Hook Backup vor Edit-Operation |
| Datei existiert |
Ja
|
Dateiinhalt
<?php
namespace Domain\ValueObject;
enum TaskStatus: string
{
case PENDING = 'pending';
case IN_PROGRESS = 'in_progress';
case COMPLETED = 'completed';
case FAILED = 'failed';
case CANCELLED = 'cancelled';
/**
* Check if transition to target status is allowed.
*/
public function canTransitionTo(self $target): bool
{
return in_array($target, $this->getAllowedTransitions(), true);
}
/**
* Get all allowed transitions from current status.
*
* @return array<self>
*/
public function getAllowedTransitions(): array
{
return match ($this) {
self::PENDING => [self::IN_PROGRESS, self::CANCELLED],
self::IN_PROGRESS => [self::COMPLETED, self::FAILED, self::CANCELLED],
self::COMPLETED => [],
self::FAILED => [self::PENDING], // Allow retry
self::CANCELLED => [],
};
}
/**
* Check if this is a terminal (final) status.
*/
public function isTerminal(): bool
{
return in_array($this, [self::COMPLETED, self::FAILED, self::CANCELLED], true);
}
public function label(): string
{
return match ($this) {
self::PENDING => 'Offen',
self::IN_PROGRESS => 'In Arbeit',
self::COMPLETED => 'Abgeschlossen',
self::FAILED => 'Fehlgeschlagen',
self::CANCELLED => 'Abgebrochen',
};
}
}
Vollständig herunterladen
Aktionen
Andere Versionen dieser Datei
| ID |
Version |
Typ |
Größe |
Datum |
| 811 |
3 |
modified |
1.8 KB |
2025-12-23 08:08 |
| 523 |
2 |
modified |
1.4 KB |
2025-12-22 15:53 |
| 522 |
1 |
modified |
1.0 KB |
2025-12-22 15:53 |
← Zurück zur Übersicht