2024-10-01 15:03:02 +02:00
// using System;
// using Umbraco.Cms.Infrastructure.HybridCache;
//
// namespace Umbraco.Cms.Tests.Common.Builders;
//
// FIXME: Reintroduce if relevant
// internal class ContentNodeKitBuilder : BuilderBase<ContentCacheNode>
// {
// private ContentNode _contentNode;
// private int _contentTypeId;
// private ContentData _draftData;
// private ContentData _publishedData;
//
// public ContentNodeKitBuilder WithContentNode(ContentNode contentNode)
// {
// _contentNode = contentNode;
// return this;
// }
//
// public ContentNodeKitBuilder WithContentNode(int id, Guid uid, int level, string path, int sortOrder, int parentContentId, DateTime createDate, int creatorId)
// {
// _contentNode = new ContentNode(id, uid, level, path, sortOrder, parentContentId, createDate, creatorId);
// return this;
// }
//
// public ContentNodeKitBuilder WithContentTypeId(int contentTypeId)
// {
// _contentTypeId = contentTypeId;
// return this;
// }
//
// public ContentNodeKitBuilder WithDraftData(ContentData draftData)
// {
// _draftData = draftData;
// return this;
// }
//
// public ContentNodeKitBuilder WithPublishedData(ContentData publishedData)
// {
// _publishedData = publishedData;
// return this;
// }
//
// public override ContentNodeKit Build()
// {
// var data = new ContentNodeKit(_contentNode, _contentTypeId, _draftData, _publishedData);
// return data;
// }
//
// /// <summary>
// /// Creates a ContentNodeKit
// /// </summary>
// /// <param name="contentTypeId"></param>
// /// <param name="id"></param>
// /// <param name="path"></param>
// /// <param name="sortOrder"></param>
// /// <param name="level">
// /// Optional. Will get calculated based on the path value if not specified.
// /// </param>
// /// <param name="parentContentId">
// /// Optional. Will get calculated based on the path value if not specified.
// /// </param>
// /// <param name="creatorId"></param>
// /// <param name="uid"></param>
// /// <param name="createDate"></param>
// /// <param name="draftData"></param>
// /// <param name="publishedData"></param>
// /// <returns></returns>
// public static ContentNodeKit CreateWithContent(
// int contentTypeId,
// int id,
// string path,
// int? sortOrder = null,
// int? level = null,
// int? parentContentId = null,
// int creatorId = -1,
// Guid? uid = null,
// DateTime? createDate = null,
// ContentData draftData = null,
// ContentData publishedData = null)
// {
// var pathParts = path.Split(',');
// if (pathParts.Length >= 2)
// {
// parentContentId ??= int.Parse(pathParts[^2]);
// }
//
// return new ContentNodeKitBuilder()
// .WithContentTypeId(contentTypeId)
// .WithContentNode(id, uid ?? Guid.NewGuid(), level ?? pathParts.Length - 1, path, sortOrder ?? 0, parentContentId.Value, createDate ?? DateTime.Now, creatorId)
// .WithDraftData(draftData)
// .WithPublishedData(publishedData)
// .Build();
// }
// }