<?php

namespace MintyPHP\Module\Audit\Domain;

use MintyPHP\Domain\Taxonomy\SupportsStringTaxonomy;

enum SystemAuditChannel: string
{
    use SupportsStringTaxonomy;

    case Web = 'web';
    case Api = 'api';
    case Scheduler = 'scheduler';
    case Cli = 'cli';

    public function labelToken(): string
    {
        return match ($this) {
            self::Web => 'Web',
            self::Api => 'API',
            self::Scheduler => 'Scheduler',
            self::Cli => 'CLI',
        };
    }

    public function badgeVariant(): string
    {
        return match ($this) {
            self::Web => 'neutral',
            self::Api => 'info',
            self::Scheduler => 'warning',
            self::Cli => 'neutral',
        };
    }
}
