namespace Deal.Infrastructure.Persistence.Entities;
///
/// Лимит ИИ-бюджета тенанта в системной схеме public.
///
public sealed class TenantLimitEntity
{
///
/// Тенант, которому принадлежит лимит (первичный ключ).
///
public Guid TenantId { get; set; }
///
/// Бюджет периода в токенах.
///
public long BudgetTokens { get; set; }
///
/// Тип периода: month|day.
///
public string Period { get; set; } = "month";
///
/// Начало текущего периода (отсчёт от него — срок и ленивый reset).
///
public DateTimeOffset PeriodStart { get; set; }
///
/// Использовано токенов с начала периода.
///
public long UsedTokens { get; set; }
///
/// Флаг: тост о расходе 80% бюджета уже отправлен (один на период).
///
public bool Warned80 { get; set; }
///
/// Флаг: тост об исчерпании бюджета уже отправлен (один на период).
///
public bool NotifiedExhausted { get; set; }
public DateTimeOffset UpdatedAt { get; set; }
}