namespace Tnsu.ApprovalRoute.Application.Reminders; public sealed class RemindersOptions { /// /// Шаблон ссылки на заявку. Подстановки: {siteUrl}, {pageUrl}, {requestId}, /// {listId}, {nav}. /// /// Портал — одностраничный и живёт в КОРНЕ сайта, отдельного пути к странице /// нет; всё состояние передаётся параметрами запроса (см. shared/routing.ts /// в request-portal). Пример живой ссылки: /// https://tnsukz.sharepoint.com/sites/requests?rpnav=approvals&rpmode=approve&rptype=it-1c-ticket&rpid=11&rplist=%2Fsites%2Frequests%2FLists%2F... /// /// {pageUrl} — это PageUrl типа заявки, то есть КЛЮЧ ФОРМЫ (it-1c-ticket), а /// не путь к странице: в портале он и подставляется в rptype. /// /// {listId} — server-relative url КОНКРЕТНОЙ партиции, где лежит строка /// согласования (параметр rplist). Без него портал открывал бы заявку так, /// будто она лежит в ТЕКУЩЕЙ партиции типа, и архивная заявка не находилась /// бы вовсе (см. IRoute.listId в request-portal/shared/routing.ts). /// /// Вынесено в конфигурацию, чтобы смена разметки ссылок в портале правилась /// настройкой, а не пересборкой сервиса. /// public string RequestUrlTemplate { get; set; } = "{siteUrl}?rpnav={nav}&rpmode=approve&rptype={pageUrl}&rpid={requestId}&rplist={listId}"; }