namespace Tnsu.ApprovalRoute.Infrastructure.SharePoint;
/// Созданный список: серверный относительный url (он же ListId) и Title.
public sealed record ProvisionedList(string ListId, string Title);
///
/// Создание следующей пары списков серии в SharePoint («<Форма> <N> — данные»
/// + «<Форма> <N> — согласование») дублированием текущей пары.
///
/// Интерфейс живёт в Infrastructure, а не в Application, потому что Application уже
/// ссылается на Infrastructure (так же устроен ) —
/// обратная ссылка замкнула бы проекты в кольцо.
///
public interface ISharePointListProvisioner
{
///
/// Создать пару списков с номером , скопировав структуру
/// со списка . Возвращает созданный список ДАННЫХ
/// (список согласования создаётся тем же вызовом, но наружу не отдаётся — его
/// находят по конвенции имени).
///
Task CreateNextListPairAsync(
string siteUrl,
string sourceDataListId,
int number,
CancellationToken cancellationToken);
}