namespace JobTrackerApi.Models; public sealed record AccountEntitlements(bool AdvancedAi, bool PremiumThemes, bool Automation, bool Analytics, long StorageBytes, int MonthlyAiCalls, long MonthlyAiTokens); public static class AccountPlans { public static bool IsPremiumSubscriptionStatus(string? status) => status is "active" or "trialing"; public static AccountEntitlements ForRoles(IList roles) { var premium = roles.Contains("Premium", StringComparer.OrdinalIgnoreCase) || roles.Contains("Admin", StringComparer.OrdinalIgnoreCase); return premium ? new AccountEntitlements(true, true, true, true, 5_000_000_000, 250, 1_000_000) : new AccountEntitlements(false, false, false, false, 250_000_000, 25, 100_000); } }