<?php

namespace MintyPHP\Module\Audit\Domain;

use MintyPHP\Domain\Taxonomy\SupportsStringTaxonomy;

enum UserLifecycleAction: string
{
    use SupportsStringTaxonomy;

    case Deactivate = 'deactivate';
    case Delete = 'delete';
    case Restore = 'restore';

    public function labelToken(): string
    {
        return match ($this) {
            self::Deactivate => 'Deactivate',
            self::Delete => 'Delete',
            self::Restore => 'Restore',
        };
    }

    public function badgeVariant(): string
    {
        return match ($this) {
            self::Deactivate => 'warning',
            self::Delete => 'danger',
            self::Restore => 'success',
        };
    }
}
