82512eb1db
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/13
28 lines
1.6 KiB
C#
28 lines
1.6 KiB
C#
namespace Tnsu.ApprovalRoute.Infrastructure.SharePoint;
|
||
|
||
/// <summary>Созданный список: серверный относительный url (он же ListId) и Title.</summary>
|
||
public sealed record ProvisionedList(string ListId, string Title);
|
||
|
||
/// <summary>
|
||
/// Создание следующей пары списков серии в SharePoint («<Форма> <N> — данные»
|
||
/// + «<Форма> <N> — согласование») дублированием текущей пары.
|
||
///
|
||
/// Интерфейс живёт в Infrastructure, а не в Application, потому что Application уже
|
||
/// ссылается на Infrastructure (так же устроен <see cref="ISharePointClient"/>) —
|
||
/// обратная ссылка замкнула бы проекты в кольцо.
|
||
/// </summary>
|
||
public interface ISharePointListProvisioner
|
||
{
|
||
/// <summary>
|
||
/// Создать пару списков с номером <paramref name="number"/>, скопировав структуру
|
||
/// со списка <paramref name="sourceDataListId"/>. Возвращает созданный список ДАННЫХ
|
||
/// (список согласования создаётся тем же вызовом, но наружу не отдаётся — его
|
||
/// находят по конвенции имени).
|
||
/// </summary>
|
||
Task<ProvisionedList> CreateNextListPairAsync(
|
||
string siteUrl,
|
||
string sourceDataListId,
|
||
int number,
|
||
CancellationToken cancellationToken);
|
||
}
|