TaskType.php

Code Hygiene Score: 100

Keine Issues gefunden.

Klassen 1

Funktionen 4

Verwendet von 2

Code

<?php

declare(strict_types=1);

namespace Domain\ValueObject;

// @responsibility: Task-Typ Value Object mit Validierung

enum TaskType: string
{
    case HUMAN_TASK = 'human_task';
    case AI_TASK = 'ai_task';
    case MIXED = 'mixed';

    /**
     * Get human-readable label.
     */
    public function label(): string
    {
        return match ($this) {
            self::HUMAN_TASK => 'Manueller Task',
            self::AI_TASK => 'KI-Task',
            self::MIXED => 'Gemischter Task',
        };
    }

    /**
     * Check if this type requires AI execution.
     */
    public function requiresAI(): bool
    {
        return in_array($this, [self::AI_TASK, self::MIXED], true);
    }

    /**
     * Check if this type requires human interaction.
     */
    public function requiresHuman(): bool
    {
        return in_array($this, [self::HUMAN_TASK, self::MIXED], true);
    }

    /**
     * Get icon class for UI.
     */
    public function iconClass(): string
    {
        return match ($this) {
            self::HUMAN_TASK => 'user',
            self::AI_TASK => 'robot',
            self::MIXED => 'users',
        };
    }
}
← Übersicht Graph