<?php

declare(strict_types=1);

namespace App\Application\Security\ValueObjects;

enum MaskingStrategy: string
{
    case STANDARD = 'standard';      // jo***@example.com
    case PARTIAL = 'partial';        // j***n@example.com
    case DOMAIN_ONLY = 'domain_only'; // john@*******.com
    case HASH = 'hash';              // user_a1b2c3d4

    public function getDescription(): string
    {
        return match ($this) {
            self::STANDARD => 'Standard email masking (first 2 chars + asterisks)',
            self::PARTIAL => 'Partial masking (first + last char visible)',
            self::DOMAIN_ONLY => 'Mask domain only, keep local part',
            self::HASH => 'Replace with hash-based identifier'
        };
    }
}
