namespace Tnsu.ApprovalRoute.Application.ListPartitioning; /// Одна партиция серии — для админки/портала (вся серия) и для ответа «текущий список». /// /// true — в эту партицию идёт запись новых заявок; остальные партиции серии — архив только для чтения. /// public sealed record RequestListPartitionDto( int Number, string SiteUrl, string ListId, string? Title, bool IsCurrent, DateTimeOffset CreatedAt); /// Вся серия партиций одного типа заявок — единица ответа bulk-эндпоинта для портала. public sealed record RequestTypeListSeriesDto( int RequestTypeId, IReadOnlyList Partitions); /// Ответ «куда писать новую заявку». /// /// Сколько элементов сейчас в списке — по нему видно, насколько он близок к порогу. /// null, если SharePoint не ответил (тогда условие создания следующей партиции не проверялось). /// /// /// true — этим запросом поставлена в очередь задача создания следующей партиции серии. /// public sealed record CurrentListPartitionDto( int RequestTypeId, int Number, string SiteUrl, string ListId, string? Title, int? ItemCount = null, bool ProvisioningQueued = false);