using Deal.Modules.Tenants.Application.Services;
namespace Deal.Api.Configuration;
///
/// Настройки httpOnly-куки сессии оператора. Привязываются из секции "OperatorCookies" конфигурации (IOptions).
///
///
/// Источник значений — конфигурация: секция OperatorCookies в appsettings.json и переменные
/// окружения OperatorCookies__* (имя, срок, Secure). Имя по умолчанию — deal_operator_session:
/// отдельная от тенантной deal_session кука (Ruling 1 этапа 7) — операторская сессия не может быть
/// подменена тенантной и наоборот (сессии разрешаются разными middleware).
///
/// Срок жизни по умолчанию — единый источник числа «12 часов»: константа модуля
/// , на которую ссылается код-дефолт свойства
/// . Значение из конфигурации (OperatorCookies__Hours) при необходимости перекрывает его.
///
///
public sealed class OperatorCookieOptions
{
///
/// Имя куки (Ruling 1: deal_operator_session).
///
public string Name { get; set; } = "deal_operator_session";
///
/// Срок жизни куки в часах; совпадает со сроком жизни сессии оператора (Ruling 1: 12).
///
public int Hours { get; set; } = OperatorAuthService.SessionLifetimeHours;
///
/// Флаг Secure куки (dev=false; включается при HTTPS-проксировании, Ruling 1).
///
public bool Secure { get; set; }
}