namespace Deal.Modules.Tenants.Application.Models; /// /// Состояние ИИ-бюджета тенанта на момент чтения. /// /// Тенант, которому принадлежит лимит. /// Бюджет текущего периода в токенах. /// Тип периода (константа TenantLimitPeriods: month|day). /// Начало текущего периода (после ленивого reset — момент reset'а). /// Использовано токенов с начала периода. /// Статус тенанта (константа TenantStatuses: active|suspended). /// True — ИИ-вызовы разрешены: тенант активен и бюджет не исчерпан. /// Флаг: тост о расходе 80% бюджета уже отправлен (один на период). /// Флаг: тост об исчерпании бюджета уже отправлен (один на период). public sealed record BudgetStateDto( Guid TenantId, long BudgetTokens, string Period, DateTimeOffset PeriodStart, long UsedTokens, string Status, bool Allowed, bool Warned80, bool NotifiedExhausted);