namespace Tnsu.ApprovalRoute.Infrastructure.SharePoint;
public sealed class SharePointOptions
{
/// Тенант Entra — тот же, что у остальной авторизации.
public string TenantId { get; set; } = string.Empty;
///
/// Приложение, от имени которого идём в SharePoint. Ему нужны разрешения
/// уровня приложения на чтение списков, выданные администратором тенанта.
///
public string ClientId { get; set; } = string.Empty;
/// Ключ в таблице settings, под которым лежит .pfx (option_name).
public string CertificateSettingName { get; set; } = "AzurePfx";
///
/// Пароль от .pfx. Намеренно берётся из конфигурации, а не зашивается в код:
/// в api-tnsu-portal он захардкожен в PostgresCertificateProvider, и повторять
/// это здесь не стоит — пароль от сертификата в исходниках не место.
///
public string CertificatePassword { get; set; } = string.Empty;
///
/// Куда SharePoint будет присылать уведомления об изменениях списка — параметр
/// notificationUrl ручки POST /Webhook/Subscribe, которой новый список данных
/// подписывается на уведомления (см. HttpSharePointWebhookSubscriber).
/// Это приёмник на СТОРОНЕ ПОРТАЛА, а не адрес нашего сервиса.
///
/// Пусто — подписывать не будем вовсе: без адреса приёмника подписка
/// бессмысленна, и это же единственный способ её выключить.
///
public string NotificationUrl { get; set; } = "https://api.tnsu.kz/Webhook/SharePoint";
}