namespace foodmarket.Api.Infrastructure;

/// <summary>Маппинг доменной orgRole.Name (русский, видимый юзеру в UI)
/// на Identity-роль (английский, используется в [Authorize(Roles=...)]).
/// Identity-роль определяет ЧТО юзер может вызывать через API; orgRole —
/// видимое имя в UI и набор прав для конкретной орги.
///
/// Системные orgRole сидятся при создании org (см. DevDataSeeder.SeedEmployeeRolesAsync).
/// Кастомные orgRole создаются админом орги — для них Identity-роль НЕ
/// присваивается (юзер не сможет дёрнуть Admin/Cashier/Storekeeper-only
/// endpoints, что и нужно: кастомные роли — только UI-permissions внутри org).</summary>
public static class IdentityRoleMapper
{
    public static string? FromOrgRoleName(string? orgRoleName)
    {
        if (string.IsNullOrWhiteSpace(orgRoleName)) return null;
        return orgRoleName.Trim() switch
        {
            "Администратор" => "Admin",
            "Кладовщик"     => "Storekeeper",
            "Кассир"        => "Cashier",
            _               => null,
        };
    }
}
