From f6d0667e9152f5d57dc9d0375052211634857b2f Mon Sep 17 00:00:00 2001 From: Nicklas Kramer Date: Tue, 16 Sep 2025 13:40:48 +0200 Subject: [PATCH] V16 - Renaming signs to flags (#20109) * Renaming the providers, collection builder and model * Renaming the items using signs * Renaming in controllers * Renaming mapping flags * Renaming sign tests to flags * Changing the test files names from signs to flags * Updated a couple more references. --------- Co-authored-by: Andy Butland --- .../ContentCollectionControllerBase.cs | 10 +- .../Tree/AncestorsDataTypeTreeController.cs | 6 +- .../Tree/ChildrenDataTypeTreeController.cs | 6 +- .../Tree/DataTypeTreeControllerBase.cs | 8 +- .../Tree/RootDataTypeTreeController.cs | 6 +- .../Tree/SiblingsDataTypeTreeController.cs | 6 +- .../Tree/AncestorsDictionaryTreeController.cs | 6 +- .../Tree/ChildrenDictionaryTreeController.cs | 6 +- .../Tree/DictionaryTreeControllerBase.cs | 8 +- .../Tree/RootDictionaryTreeController.cs | 6 +- .../ByKeyDocumentCollectionController.cs | 8 +- .../DocumentCollectionControllerBase.cs | 6 +- .../Item/ItemDocumentItemController.cs | 2 - .../Tree/AncestorsDocumentTreeController.cs | 6 +- .../Tree/ChildrenDocumentTreeController.cs | 6 +- .../Tree/DocumentTreeControllerBase.cs | 8 +- .../Tree/RootDocumentTreeController.cs | 6 +- .../Tree/SiblingsDocumentTreeController.cs | 6 +- ...ncestorsDocumentBlueprintTreeController.cs | 6 +- ...ChildrenDocumentBlueprintTreeController.cs | 6 +- .../DocumentBlueprintTreeControllerBase.cs | 8 +- .../RootDocumentBlueprintTreeController.cs | 6 +- ...SiblingsDocumentBlueprintTreeController.cs | 6 +- .../AncestorsDocumentTypeTreeController.cs | 6 +- .../ChildrenDocumentTypeTreeController.cs | 6 +- .../Tree/DocumentTypeTreeControllerBase.cs | 8 +- .../Tree/RootDocumentTypeTreeController.cs | 6 +- .../SiblingsDocumentTypeTreeController.cs | 6 +- .../ByKeyMediaCollectionController.cs | 8 +- .../MediaCollectionControllerBase.cs | 6 +- .../Media/Item/ItemMediaItemController.cs | 18 +- .../Tree/AncestorsMediaTreeController.cs | 6 +- .../Media/Tree/ChildrenMediaTreeController.cs | 6 +- .../Media/Tree/MediaTreeControllerBase.cs | 8 +- .../Media/Tree/RootMediaTreeController.cs | 6 +- .../Media/Tree/SiblingsMediaTreeController.cs | 6 +- .../Tree/AncestorsMediaTypeTreeController.cs | 6 +- .../Tree/ChildrenMediaTypeTreeController.cs | 6 +- .../Tree/MediaTypeTreeControllerBase.cs | 8 +- .../Tree/RootMediaTypeTreeController.cs | 6 +- .../Tree/SiblingsMediaTypeTreeController.cs | 6 +- .../Tree/MemberGroupTreeControllerBase.cs | 6 +- .../Tree/RootMemberGroupTreeController.cs | 6 +- .../Tree/MemberTypeTreeControllerBase.cs | 8 +- .../Tree/RootMemberTypeTreeController.cs | 6 +- .../Tree/AncestorsTemplateTreeController.cs | 6 +- .../Tree/ChildrenTemplateTreeController.cs | 6 +- .../Tree/RootTemplateTreeController.cs | 6 +- .../Tree/SiblingsTemplateTreeController.cs | 6 +- .../Tree/TemplateTreeControllerBase.cs | 6 +- .../Tree/EntityTreeControllerBase.cs | 24 +- .../Tree/FolderTreeControllerBase.cs | 8 +- .../Tree/NamedEntityTreeControllerBase.cs | 6 +- .../Tree/UserStartNodeTreeControllerBase.cs | 8 +- .../UmbracoBuilder.Collections.cs | 14 +- .../ContentCollectionPresentationFactory.cs | 18 +- .../Factories/DocumentPresentationFactory.cs | 28 +- .../Mapping/Document/DocumentMapDefinition.cs | 8 +- .../DocumentType/DocumentTypeMapDefinition.cs | 2 +- .../Mapping/Item/ItemTypeMapDefinition.cs | 20 +- .../Mapping/Media/MediaMapDefinition.cs | 4 +- .../Mapping/Member/MemberMapDefinition.cs | 2 +- src/Umbraco.Cms.Api.Management/OpenApi.json | 373 ++++++++++++------ .../Services/Flags/FlagProviderCollection.cs | 18 + .../Flags/FlagProviderCollectionBuilder.cs | 12 + .../HasCollectionFlagProvider.cs} | 18 +- .../HasPendingChangesFlagProvider.cs} | 18 +- .../HasScheduleFlagProvider.cs} | 26 +- .../Services/Flags/IFlagProvider.cs | 23 ++ .../IsProtectedFlagProvider.cs} | 18 +- .../Services/Signs/ISignProvider.cs | 23 -- .../Services/Signs/SignProviderCollection.cs | 18 - .../Signs/SignProviderCollectionBuilder.cs | 12 - .../Content/ContentResponseModelBase.cs | 16 +- .../DocumentCollectionResponseModel.cs | 2 +- .../DocumentVariantItemResponseModel.cs | 16 +- .../Document/DocumentVariantResponseModel.cs | 16 +- .../ViewModels/{SignModel.cs => FlagModel.cs} | 2 +- .../ViewModels/{IHasSigns.cs => IHasFlags.cs} | 16 +- .../ViewModels/Item/ItemResponseModelBase.cs | 16 +- .../Tree/EntityTreeItemResponseModel.cs | 16 +- src/Umbraco.Core/Constants-Conventions.cs | 6 +- .../Flags/HasCollectionFlagProviderTests.cs | 196 +++++++++ .../HasPendingChangesFlagProviderTests.cs | 83 ++++ .../HasScheduleFlagProviderTests.cs} | 72 ++-- .../Flags/IsProtectedFlagProviderTests.cs | 92 +++++ .../Signs/HasCollectionSignProviderTests.cs | 196 --------- .../HasPendingChangesSignProviderTests.cs | 86 ---- .../Signs/IsProtectedSignProviderTests.cs | 92 ----- 89 files changed, 1036 insertions(+), 920 deletions(-) create mode 100644 src/Umbraco.Cms.Api.Management/Services/Flags/FlagProviderCollection.cs create mode 100644 src/Umbraco.Cms.Api.Management/Services/Flags/FlagProviderCollectionBuilder.cs rename src/Umbraco.Cms.Api.Management/Services/{Signs/HasCollectionSignProvider.cs => Flags/HasCollectionFlagProvider.cs} (79%) rename src/Umbraco.Cms.Api.Management/Services/{Signs/HasPendingChangesSignProvider.cs => Flags/HasPendingChangesFlagProvider.cs} (69%) rename src/Umbraco.Cms.Api.Management/Services/{Signs/HasScheduleSignProvider.cs => Flags/HasScheduleFlagProvider.cs} (86%) create mode 100644 src/Umbraco.Cms.Api.Management/Services/Flags/IFlagProvider.cs rename src/Umbraco.Cms.Api.Management/Services/{Signs/IsProtectedSignProvider.cs => Flags/IsProtectedFlagProvider.cs} (52%) delete mode 100644 src/Umbraco.Cms.Api.Management/Services/Signs/ISignProvider.cs delete mode 100644 src/Umbraco.Cms.Api.Management/Services/Signs/SignProviderCollection.cs delete mode 100644 src/Umbraco.Cms.Api.Management/Services/Signs/SignProviderCollectionBuilder.cs rename src/Umbraco.Cms.Api.Management/ViewModels/{SignModel.cs => FlagModel.cs} (81%) rename src/Umbraco.Cms.Api.Management/ViewModels/{IHasSigns.cs => IHasFlags.cs} (58%) create mode 100644 tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/HasCollectionFlagProviderTests.cs create mode 100644 tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/HasPendingChangesFlagProviderTests.cs rename tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/{Signs/HasScheduleSignProviderTests.cs => Flags/HasScheduleFlagProviderTests.cs} (75%) create mode 100644 tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/IsProtectedFlagProviderTests.cs delete mode 100644 tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/HasCollectionSignProviderTests.cs delete mode 100644 tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/HasPendingChangesSignProviderTests.cs delete mode 100644 tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/IsProtectedSignProviderTests.cs diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Content/ContentCollectionControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/Content/ContentCollectionControllerBase.cs index e41f16cee6..d3a4123923 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Content/ContentCollectionControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Content/ContentCollectionControllerBase.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Content; using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Mapping; @@ -21,17 +21,17 @@ public abstract class ContentCollectionControllerBase()) + : this(mapper, StaticServiceProvider.Instance.GetRequiredService()) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/AncestorsDataTypeTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/AncestorsDataTypeTreeController.cs index b3a103a01a..15a1c749f5 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/AncestorsDataTypeTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/AncestorsDataTypeTreeController.cs @@ -2,7 +2,7 @@ using Asp.Versioning; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -18,8 +18,8 @@ public class AncestorsDataTypeTreeController : DataTypeTreeControllerBase } [ActivatorUtilitiesConstructor] - public AncestorsDataTypeTreeController(IEntityService entityService, SignProviderCollection signProviders, IDataTypeService dataTypeService) - : base(entityService, signProviders, dataTypeService) + public AncestorsDataTypeTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IDataTypeService dataTypeService) + : base(entityService, flagProviders, dataTypeService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/ChildrenDataTypeTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/ChildrenDataTypeTreeController.cs index 7c801530ac..6b9e0611aa 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/ChildrenDataTypeTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/ChildrenDataTypeTreeController.cs @@ -5,7 +5,7 @@ using Umbraco.Cms.Core.Services; using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Microsoft.Extensions.DependencyInjection; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; namespace Umbraco.Cms.Api.Management.Controllers.DataType.Tree; @@ -19,8 +19,8 @@ public class ChildrenDataTypeTreeController : DataTypeTreeControllerBase } [ActivatorUtilitiesConstructor] - public ChildrenDataTypeTreeController(IEntityService entityService, SignProviderCollection signProviders, IDataTypeService dataTypeService) - : base(entityService, signProviders, dataTypeService) + public ChildrenDataTypeTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IDataTypeService dataTypeService) + : base(entityService, flagProviders, dataTypeService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/DataTypeTreeControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/DataTypeTreeControllerBase.cs index f0dbb8a8ec..e3bcf686b4 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/DataTypeTreeControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/DataTypeTreeControllerBase.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Management.Controllers.Tree; using Umbraco.Cms.Api.Management.Routing; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core; using Umbraco.Cms.Core.DependencyInjection; @@ -26,13 +26,13 @@ public class DataTypeTreeControllerBase : FolderTreeControllerBase(), + StaticServiceProvider.Instance.GetRequiredService(), dataTypeService) { } - public DataTypeTreeControllerBase(IEntityService entityService, SignProviderCollection signProviders, IDataTypeService dataTypeService) - : base(entityService, signProviders) => + public DataTypeTreeControllerBase(IEntityService entityService, FlagProviderCollection flagProviders, IDataTypeService dataTypeService) + : base(entityService, flagProviders) => _dataTypeService = dataTypeService; protected override UmbracoObjectTypes ItemObjectType => UmbracoObjectTypes.DataType; diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/RootDataTypeTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/RootDataTypeTreeController.cs index fa1b5c7bfb..d4b5e5ef87 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/RootDataTypeTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/RootDataTypeTreeController.cs @@ -5,7 +5,7 @@ using Umbraco.Cms.Core.Services; using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Microsoft.Extensions.DependencyInjection; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; namespace Umbraco.Cms.Api.Management.Controllers.DataType.Tree; @@ -19,8 +19,8 @@ public class RootDataTypeTreeController : DataTypeTreeControllerBase } [ActivatorUtilitiesConstructor] - public RootDataTypeTreeController(IEntityService entityService, SignProviderCollection signProviders, IDataTypeService dataTypeService) - : base(entityService, signProviders, dataTypeService) + public RootDataTypeTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IDataTypeService dataTypeService) + : base(entityService, flagProviders, dataTypeService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/SiblingsDataTypeTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/SiblingsDataTypeTreeController.cs index fcc496e71d..8cd7577a96 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/SiblingsDataTypeTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DataType/Tree/SiblingsDataTypeTreeController.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -17,8 +17,8 @@ public class SiblingsDataTypeTreeController : DataTypeTreeControllerBase } [ActivatorUtilitiesConstructor] - public SiblingsDataTypeTreeController(IEntityService entityService, SignProviderCollection signProviders, IDataTypeService dataTypeService) - : base(entityService, signProviders, dataTypeService) + public SiblingsDataTypeTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IDataTypeService dataTypeService) + : base(entityService, flagProviders, dataTypeService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/AncestorsDictionaryTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/AncestorsDictionaryTreeController.cs index f7c94de4db..49806ed810 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/AncestorsDictionaryTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/AncestorsDictionaryTreeController.cs @@ -2,7 +2,7 @@ using Asp.Versioning; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -18,8 +18,8 @@ public class AncestorsDictionaryTreeController : DictionaryTreeControllerBase } [ActivatorUtilitiesConstructor] - public AncestorsDictionaryTreeController(IEntityService entityService, SignProviderCollection signProviders, IDictionaryItemService dictionaryItemService) - : base(entityService, signProviders, dictionaryItemService) + public AncestorsDictionaryTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IDictionaryItemService dictionaryItemService) + : base(entityService, flagProviders, dictionaryItemService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/ChildrenDictionaryTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/ChildrenDictionaryTreeController.cs index 39c135be2b..9db33dca66 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/ChildrenDictionaryTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/ChildrenDictionaryTreeController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Services; @@ -20,8 +20,8 @@ public class ChildrenDictionaryTreeController : DictionaryTreeControllerBase } [ActivatorUtilitiesConstructor] - public ChildrenDictionaryTreeController(IEntityService entityService, SignProviderCollection signProviders, IDictionaryItemService dictionaryItemService) - : base(entityService, signProviders, dictionaryItemService) + public ChildrenDictionaryTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IDictionaryItemService dictionaryItemService) + : base(entityService, flagProviders, dictionaryItemService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/DictionaryTreeControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/DictionaryTreeControllerBase.cs index 6533370245..ce48279d7d 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/DictionaryTreeControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/DictionaryTreeControllerBase.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Management.Controllers.Tree; using Umbraco.Cms.Api.Management.Routing; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core; @@ -25,13 +25,13 @@ public class DictionaryTreeControllerBase : NamedEntityTreeControllerBase(), + StaticServiceProvider.Instance.GetRequiredService(), dictionaryItemService) { } - public DictionaryTreeControllerBase(IEntityService entityService, SignProviderCollection signProviders, IDictionaryItemService dictionaryItemService) - : base(entityService, signProviders) => + public DictionaryTreeControllerBase(IEntityService entityService, FlagProviderCollection flagProviders, IDictionaryItemService dictionaryItemService) + : base(entityService, flagProviders) => DictionaryItemService = dictionaryItemService; // dictionary items do not currently have a known UmbracoObjectType, so we'll settle with Unknown for now diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/RootDictionaryTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/RootDictionaryTreeController.cs index 7bac1e66a8..e7b79b2fe2 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/RootDictionaryTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Dictionary/Tree/RootDictionaryTreeController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Services; @@ -19,8 +19,8 @@ public class RootDictionaryTreeController : DictionaryTreeControllerBase } [ActivatorUtilitiesConstructor] - public RootDictionaryTreeController(IEntityService entityService, SignProviderCollection signProviders, IDictionaryItemService dictionaryItemService) - : base(entityService, signProviders, dictionaryItemService) + public RootDictionaryTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IDictionaryItemService dictionaryItemService) + : base(entityService, flagProviders, dictionaryItemService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Document/Collection/ByKeyDocumentCollectionController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Document/Collection/ByKeyDocumentCollectionController.cs index 83ef32972c..612322ef3d 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Document/Collection/ByKeyDocumentCollectionController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Document/Collection/ByKeyDocumentCollectionController.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.Factories; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Document.Collection; using Umbraco.Cms.Core; using Umbraco.Cms.Core.DependencyInjection; @@ -29,8 +29,8 @@ public class ByKeyDocumentCollectionController : DocumentCollectionControllerBas IBackOfficeSecurityAccessor backOfficeSecurityAccessor, IUmbracoMapper mapper, IDocumentCollectionPresentationFactory documentCollectionPresentationFactory, - SignProviderCollection signProviders) - : base(mapper, signProviders) + FlagProviderCollection flagProviders) + : base(mapper, flagProviders) { _contentListViewService = contentListViewService; _backOfficeSecurityAccessor = backOfficeSecurityAccessor; @@ -48,7 +48,7 @@ public class ByKeyDocumentCollectionController : DocumentCollectionControllerBas backOfficeSecurityAccessor, mapper, documentCollectionPresentationFactory, - StaticServiceProvider.Instance.GetRequiredService()) + StaticServiceProvider.Instance.GetRequiredService()) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Document/Collection/DocumentCollectionControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/Document/Collection/DocumentCollectionControllerBase.cs index 8de4daa401..86b79abe7d 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Document/Collection/DocumentCollectionControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Document/Collection/DocumentCollectionControllerBase.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Umbraco.Cms.Api.Management.Controllers.Content; using Umbraco.Cms.Api.Management.Routing; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Document; using Umbraco.Cms.Api.Management.ViewModels.Document.Collection; using Umbraco.Cms.Core; @@ -18,8 +18,8 @@ namespace Umbraco.Cms.Api.Management.Controllers.Document.Collection; [Authorize(Policy = AuthorizationPolicies.TreeAccessDocuments)] public abstract class DocumentCollectionControllerBase : ContentCollectionControllerBase { - protected DocumentCollectionControllerBase(IUmbracoMapper mapper, SignProviderCollection signProviders) - : base(mapper, signProviders) + protected DocumentCollectionControllerBase(IUmbracoMapper mapper, FlagProviderCollection flagProviders) + : base(mapper, flagProviders) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Document/Item/ItemDocumentItemController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Document/Item/ItemDocumentItemController.cs index d65183c824..fbe4e2f7d9 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Document/Item/ItemDocumentItemController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Document/Item/ItemDocumentItemController.cs @@ -3,9 +3,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Management.Factories; -using Umbraco.Cms.Api.Management.Services.Signs; using Umbraco.Cms.Api.Management.ViewModels.Document.Item; -using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.Entities; using Umbraco.Cms.Core.Services; diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/AncestorsDocumentTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/AncestorsDocumentTreeController.cs index 5e3c347d00..1d0ab51402 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/AncestorsDocumentTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/AncestorsDocumentTreeController.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Management.Factories; using Umbraco.Cms.Api.Management.Services.Entities; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Cache; using Umbraco.Cms.Core.Security; @@ -38,7 +38,7 @@ public class AncestorsDocumentTreeController : DocumentTreeControllerBase [ActivatorUtilitiesConstructor] public AncestorsDocumentTreeController( IEntityService entityService, - SignProviderCollection signProviders, + FlagProviderCollection flagProviders, IUserStartNodeEntitiesService userStartNodeEntitiesService, IDataTypeService dataTypeService, IPublicAccessService publicAccessService, @@ -47,7 +47,7 @@ public class AncestorsDocumentTreeController : DocumentTreeControllerBase IDocumentPresentationFactory documentPresentationFactory) : base( entityService, - signProviders, + flagProviders, userStartNodeEntitiesService, dataTypeService, publicAccessService, diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/ChildrenDocumentTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/ChildrenDocumentTreeController.cs index 76bcb70deb..c124929ff1 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/ChildrenDocumentTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/ChildrenDocumentTreeController.cs @@ -5,7 +5,7 @@ using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.Factories; using Umbraco.Cms.Api.Management.Services.Entities; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Cache; using Umbraco.Cms.Core.Security; @@ -39,7 +39,7 @@ public class ChildrenDocumentTreeController : DocumentTreeControllerBase [ActivatorUtilitiesConstructor] public ChildrenDocumentTreeController( IEntityService entityService, - SignProviderCollection signProviders, + FlagProviderCollection flagProviders, IUserStartNodeEntitiesService userStartNodeEntitiesService, IDataTypeService dataTypeService, IPublicAccessService publicAccessService, @@ -48,7 +48,7 @@ public class ChildrenDocumentTreeController : DocumentTreeControllerBase IDocumentPresentationFactory documentPresentationFactory) : base( entityService, - signProviders, + flagProviders, userStartNodeEntitiesService, dataTypeService, publicAccessService, diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/DocumentTreeControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/DocumentTreeControllerBase.cs index a2015d7c76..11e205c39f 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/DocumentTreeControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/DocumentTreeControllerBase.cs @@ -5,7 +5,7 @@ using Umbraco.Cms.Api.Management.Controllers.Tree; using Umbraco.Cms.Api.Management.Factories; using Umbraco.Cms.Api.Management.Routing; using Umbraco.Cms.Api.Management.Services.Entities; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core; @@ -40,7 +40,7 @@ public abstract class DocumentTreeControllerBase : UserStartNodeTreeControllerBa IDocumentPresentationFactory documentPresentationFactory) : this( entityService, - StaticServiceProvider.Instance.GetRequiredService(), + StaticServiceProvider.Instance.GetRequiredService(), userStartNodeEntitiesService, dataTypeService, publicAccessService, @@ -53,14 +53,14 @@ public abstract class DocumentTreeControllerBase : UserStartNodeTreeControllerBa [ActivatorUtilitiesConstructor] protected DocumentTreeControllerBase( IEntityService entityService, - SignProviderCollection signProviders, + FlagProviderCollection flagProviders, IUserStartNodeEntitiesService userStartNodeEntitiesService, IDataTypeService dataTypeService, IPublicAccessService publicAccessService, AppCaches appCaches, IBackOfficeSecurityAccessor backofficeSecurityAccessor, IDocumentPresentationFactory documentPresentationFactory) - : base(entityService, signProviders, userStartNodeEntitiesService, dataTypeService) + : base(entityService, flagProviders, userStartNodeEntitiesService, dataTypeService) { _publicAccessService = publicAccessService; _appCaches = appCaches; diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/RootDocumentTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/RootDocumentTreeController.cs index 822679e581..42a9734a23 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/RootDocumentTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/RootDocumentTreeController.cs @@ -5,7 +5,7 @@ using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.Factories; using Umbraco.Cms.Api.Management.Services.Entities; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Cache; using Umbraco.Cms.Core.Security; @@ -39,7 +39,7 @@ public class RootDocumentTreeController : DocumentTreeControllerBase [ActivatorUtilitiesConstructor] public RootDocumentTreeController( IEntityService entityService, - SignProviderCollection signProviders, + FlagProviderCollection flagProviders, IUserStartNodeEntitiesService userStartNodeEntitiesService, IDataTypeService dataTypeService, IPublicAccessService publicAccessService, @@ -48,7 +48,7 @@ public class RootDocumentTreeController : DocumentTreeControllerBase IDocumentPresentationFactory documentPresentationFactory) : base( entityService, - signProviders, + flagProviders, userStartNodeEntitiesService, dataTypeService, publicAccessService, diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/SiblingsDocumentTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/SiblingsDocumentTreeController.cs index d9e591b664..088e778aea 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/SiblingsDocumentTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Document/Tree/SiblingsDocumentTreeController.cs @@ -5,7 +5,7 @@ using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.Factories; using Umbraco.Cms.Api.Management.Services.Entities; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Cache; using Umbraco.Cms.Core.Security; @@ -39,7 +39,7 @@ public class SiblingsDocumentTreeController : DocumentTreeControllerBase [ActivatorUtilitiesConstructor] public SiblingsDocumentTreeController( IEntityService entityService, - SignProviderCollection signProviders, + FlagProviderCollection flagProviders, IUserStartNodeEntitiesService userStartNodeEntitiesService, IDataTypeService dataTypeService, IPublicAccessService publicAccessService, @@ -48,7 +48,7 @@ public class SiblingsDocumentTreeController : DocumentTreeControllerBase IDocumentPresentationFactory documentPresentationFactory) : base( entityService, - signProviders, + flagProviders, userStartNodeEntitiesService, dataTypeService, publicAccessService, diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/AncestorsDocumentBlueprintTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/AncestorsDocumentBlueprintTreeController.cs index c3d155e54c..060efbdc7d 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/AncestorsDocumentBlueprintTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/AncestorsDocumentBlueprintTreeController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Management.Factories; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -19,8 +19,8 @@ public class AncestorsDocumentBlueprintTreeController : DocumentBlueprintTreeCon } [ActivatorUtilitiesConstructor] - public AncestorsDocumentBlueprintTreeController(IEntityService entityService, SignProviderCollection signProviders, IDocumentPresentationFactory documentPresentationFactory) - : base(entityService, signProviders, documentPresentationFactory) + public AncestorsDocumentBlueprintTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IDocumentPresentationFactory documentPresentationFactory) + : base(entityService, flagProviders, documentPresentationFactory) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/ChildrenDocumentBlueprintTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/ChildrenDocumentBlueprintTreeController.cs index 7f2f3ea226..eea5bbf488 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/ChildrenDocumentBlueprintTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/ChildrenDocumentBlueprintTreeController.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.Factories; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -20,8 +20,8 @@ public class ChildrenDocumentBlueprintTreeController : DocumentBlueprintTreeCont } [ActivatorUtilitiesConstructor] - public ChildrenDocumentBlueprintTreeController(IEntityService entityService, SignProviderCollection signProviders, IDocumentPresentationFactory documentPresentationFactory) - : base(entityService, signProviders, documentPresentationFactory) + public ChildrenDocumentBlueprintTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IDocumentPresentationFactory documentPresentationFactory) + : base(entityService, flagProviders, documentPresentationFactory) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/DocumentBlueprintTreeControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/DocumentBlueprintTreeControllerBase.cs index 3a02abb6f0..ad6330498e 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/DocumentBlueprintTreeControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/DocumentBlueprintTreeControllerBase.cs @@ -4,7 +4,7 @@ using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Management.Controllers.Tree; using Umbraco.Cms.Api.Management.Factories; using Umbraco.Cms.Api.Management.Routing; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core; using Umbraco.Cms.Core.DependencyInjection; @@ -26,13 +26,13 @@ public class DocumentBlueprintTreeControllerBase : FolderTreeControllerBase(), + StaticServiceProvider.Instance.GetRequiredService(), documentPresentationFactory) { } - public DocumentBlueprintTreeControllerBase(IEntityService entityService, SignProviderCollection signProviders, IDocumentPresentationFactory documentPresentationFactory) - : base(entityService, signProviders) + public DocumentBlueprintTreeControllerBase(IEntityService entityService, FlagProviderCollection flagProviders, IDocumentPresentationFactory documentPresentationFactory) + : base(entityService, flagProviders) => _documentPresentationFactory = documentPresentationFactory; protected override UmbracoObjectTypes ItemObjectType => UmbracoObjectTypes.DocumentBlueprint; diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/RootDocumentBlueprintTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/RootDocumentBlueprintTreeController.cs index b2a8bfa9cf..ee533399f0 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/RootDocumentBlueprintTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/RootDocumentBlueprintTreeController.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.Factories; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -20,8 +20,8 @@ public class RootDocumentBlueprintTreeController : DocumentBlueprintTreeControll } [ActivatorUtilitiesConstructor] - public RootDocumentBlueprintTreeController(IEntityService entityService, SignProviderCollection signProviders, IDocumentPresentationFactory documentPresentationFactory) - : base(entityService, signProviders, documentPresentationFactory) + public RootDocumentBlueprintTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IDocumentPresentationFactory documentPresentationFactory) + : base(entityService, flagProviders, documentPresentationFactory) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/SiblingsDocumentBlueprintTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/SiblingsDocumentBlueprintTreeController.cs index c6592c5dda..43feb758c8 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/SiblingsDocumentBlueprintTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DocumentBlueprint/Tree/SiblingsDocumentBlueprintTreeController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.Factories; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -18,8 +18,8 @@ public class SiblingsDocumentBlueprintTreeController : DocumentBlueprintTreeCont } [ActivatorUtilitiesConstructor] - public SiblingsDocumentBlueprintTreeController(IEntityService entityService, SignProviderCollection signProviders, IDocumentPresentationFactory documentPresentationFactory) - : base(entityService, signProviders, documentPresentationFactory) + public SiblingsDocumentBlueprintTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IDocumentPresentationFactory documentPresentationFactory) + : base(entityService, flagProviders, documentPresentationFactory) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/AncestorsDocumentTypeTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/AncestorsDocumentTypeTreeController.cs index 02bb34403f..5d3598fa50 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/AncestorsDocumentTypeTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/AncestorsDocumentTypeTreeController.cs @@ -2,7 +2,7 @@ using Asp.Versioning; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -18,8 +18,8 @@ public class AncestorsDocumentTypeTreeController : DocumentTypeTreeControllerBas } [ActivatorUtilitiesConstructor] - public AncestorsDocumentTypeTreeController(IEntityService entityService, SignProviderCollection signProviders, IContentTypeService contentTypeService) - : base(entityService, signProviders, contentTypeService) + public AncestorsDocumentTypeTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IContentTypeService contentTypeService) + : base(entityService, flagProviders, contentTypeService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/ChildrenDocumentTypeTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/ChildrenDocumentTypeTreeController.cs index 9127a359d3..950f5c73d2 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/ChildrenDocumentTypeTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/ChildrenDocumentTypeTreeController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -19,8 +19,8 @@ public class ChildrenDocumentTypeTreeController : DocumentTypeTreeControllerBase } [ActivatorUtilitiesConstructor] - public ChildrenDocumentTypeTreeController(IEntityService entityService, SignProviderCollection signProviders, IContentTypeService contentTypeService) - : base(entityService, signProviders, contentTypeService) + public ChildrenDocumentTypeTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IContentTypeService contentTypeService) + : base(entityService, flagProviders, contentTypeService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/DocumentTypeTreeControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/DocumentTypeTreeControllerBase.cs index a76fd49ee8..58d826ffe4 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/DocumentTypeTreeControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/DocumentTypeTreeControllerBase.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Management.Controllers.Tree; using Umbraco.Cms.Api.Management.Routing; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core; using Umbraco.Cms.Core.DependencyInjection; @@ -25,13 +25,13 @@ public class DocumentTypeTreeControllerBase : FolderTreeControllerBase(), + StaticServiceProvider.Instance.GetRequiredService(), contentTypeService) { } - public DocumentTypeTreeControllerBase(IEntityService entityService, SignProviderCollection signProviders, IContentTypeService contentTypeService) - : base(entityService, signProviders) => + public DocumentTypeTreeControllerBase(IEntityService entityService, FlagProviderCollection flagProviders, IContentTypeService contentTypeService) + : base(entityService, flagProviders) => _contentTypeService = contentTypeService; protected override UmbracoObjectTypes ItemObjectType => UmbracoObjectTypes.DocumentType; diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/RootDocumentTypeTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/RootDocumentTypeTreeController.cs index b581b7bbb4..d8a0e7c3d1 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/RootDocumentTypeTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/RootDocumentTypeTreeController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -19,8 +19,8 @@ public class RootDocumentTypeTreeController : DocumentTypeTreeControllerBase } [ActivatorUtilitiesConstructor] - public RootDocumentTypeTreeController(IEntityService entityService, SignProviderCollection signProviders, IContentTypeService contentTypeService) - : base(entityService, signProviders, contentTypeService) + public RootDocumentTypeTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IContentTypeService contentTypeService) + : base(entityService, flagProviders, contentTypeService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/SiblingsDocumentTypeTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/SiblingsDocumentTypeTreeController.cs index 3ecce3e383..0a930e434e 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/SiblingsDocumentTypeTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/DocumentType/Tree/SiblingsDocumentTypeTreeController.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -17,8 +17,8 @@ public class SiblingsDocumentTypeTreeController : DocumentTypeTreeControllerBase } [ActivatorUtilitiesConstructor] - public SiblingsDocumentTypeTreeController(IEntityService entityService, SignProviderCollection signProviders, IContentTypeService contentTypeService) - : base(entityService, signProviders, contentTypeService) + public SiblingsDocumentTypeTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IContentTypeService contentTypeService) + : base(entityService, flagProviders, contentTypeService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Media/Collection/ByKeyMediaCollectionController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Media/Collection/ByKeyMediaCollectionController.cs index 7029e9311d..acb8d075ff 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Media/Collection/ByKeyMediaCollectionController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Media/Collection/ByKeyMediaCollectionController.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.Factories; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Media.Collection; using Umbraco.Cms.Core; using Umbraco.Cms.Core.DependencyInjection; @@ -29,8 +29,8 @@ public class ByKeyMediaCollectionController : MediaCollectionControllerBase IBackOfficeSecurityAccessor backOfficeSecurityAccessor, IUmbracoMapper mapper, IMediaCollectionPresentationFactory mediaCollectionPresentationFactory, - SignProviderCollection signProviders) - : base(mapper, signProviders) + FlagProviderCollection flagProviders) + : base(mapper, flagProviders) { _mediaListViewService = mediaListViewService; _backOfficeSecurityAccessor = backOfficeSecurityAccessor; @@ -48,7 +48,7 @@ public class ByKeyMediaCollectionController : MediaCollectionControllerBase backOfficeSecurityAccessor, mapper, mediaCollectionPresentationFactory, - StaticServiceProvider.Instance.GetRequiredService()) + StaticServiceProvider.Instance.GetRequiredService()) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Media/Collection/MediaCollectionControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/Media/Collection/MediaCollectionControllerBase.cs index 875c65c7ac..44510a5451 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Media/Collection/MediaCollectionControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Media/Collection/MediaCollectionControllerBase.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Management.Controllers.Content; using Umbraco.Cms.Api.Management.Routing; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Document.Collection; using Umbraco.Cms.Api.Management.ViewModels.Media; using Umbraco.Cms.Api.Management.ViewModels.Media.Collection; @@ -21,8 +21,8 @@ namespace Umbraco.Cms.Api.Management.Controllers.Media.Collection; [Authorize(Policy = AuthorizationPolicies.SectionAccessMedia)] public abstract class MediaCollectionControllerBase : ContentCollectionControllerBase { - protected MediaCollectionControllerBase(IUmbracoMapper mapper, SignProviderCollection signProviders) - : base(mapper, signProviders) + protected MediaCollectionControllerBase(IUmbracoMapper mapper, FlagProviderCollection flagProviders) + : base(mapper, flagProviders) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Media/Item/ItemMediaItemController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Media/Item/ItemMediaItemController.cs index bd8684e7a0..056377a015 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Media/Item/ItemMediaItemController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Media/Item/ItemMediaItemController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Management.Factories; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Document.Item; using Umbraco.Cms.Api.Management.ViewModels.Media.Item; using Umbraco.Cms.Core.DependencyInjection; @@ -19,22 +19,22 @@ public class ItemMediaItemController : MediaItemControllerBase { private readonly IEntityService _entityService; private readonly IMediaPresentationFactory _mediaPresentationFactory; - private readonly SignProviderCollection _signProviders; + private readonly FlagProviderCollection _flagProviders; [ActivatorUtilitiesConstructor] public ItemMediaItemController( IEntityService entityService, IMediaPresentationFactory mediaPresentationFactory, - SignProviderCollection signProvider) + FlagProviderCollection flagProviders) { _entityService = entityService; _mediaPresentationFactory = mediaPresentationFactory; - _signProviders = signProvider; + _flagProviders = flagProviders; } [Obsolete("Please use the constructor with all parameters. Scheduled for removal in Umbraco 18")] public ItemMediaItemController(IEntityService entityService, IMediaPresentationFactory mediaPresentationFactory) - : this(entityService, mediaPresentationFactory, StaticServiceProvider.Instance.GetRequiredService()) + : this(entityService, mediaPresentationFactory, StaticServiceProvider.Instance.GetRequiredService()) { } @@ -55,16 +55,16 @@ public class ItemMediaItemController : MediaItemControllerBase .OfType(); IEnumerable responseModels = media.Select(_mediaPresentationFactory.CreateItemResponseModel); - await PopulateSigns(responseModels); + await PopulateFlags(responseModels); return Ok(responseModels); } - private async Task PopulateSigns(IEnumerable itemViewModels) + private async Task PopulateFlags(IEnumerable itemViewModels) { - foreach (ISignProvider signProvider in _signProviders.Where(x => x.CanProvideSigns())) + foreach (IFlagProvider signProvider in _flagProviders.Where(x => x.CanProvideFlags())) { - await signProvider.PopulateSignsAsync(itemViewModels); + await signProvider.PopulateFlagsAsync(itemViewModels); } } } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Media/Tree/AncestorsMediaTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Media/Tree/AncestorsMediaTreeController.cs index bf5bade404..80c38d7bd7 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Media/Tree/AncestorsMediaTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Media/Tree/AncestorsMediaTreeController.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Management.Factories; using Umbraco.Cms.Api.Management.Services.Entities; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Cache; using Umbraco.Cms.Core.Security; @@ -30,13 +30,13 @@ public class AncestorsMediaTreeController : MediaTreeControllerBase [ActivatorUtilitiesConstructor] public AncestorsMediaTreeController( IEntityService entityService, - SignProviderCollection signProviders, + FlagProviderCollection flagProviders, IUserStartNodeEntitiesService userStartNodeEntitiesService, IDataTypeService dataTypeService, AppCaches appCaches, IBackOfficeSecurityAccessor backofficeSecurityAccessor, IMediaPresentationFactory mediaPresentationFactory) - : base(entityService, signProviders, userStartNodeEntitiesService, dataTypeService, appCaches, backofficeSecurityAccessor, mediaPresentationFactory) + : base(entityService, flagProviders, userStartNodeEntitiesService, dataTypeService, appCaches, backofficeSecurityAccessor, mediaPresentationFactory) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Media/Tree/ChildrenMediaTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Media/Tree/ChildrenMediaTreeController.cs index c61de0a65b..d6e243d2c3 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Media/Tree/ChildrenMediaTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Media/Tree/ChildrenMediaTreeController.cs @@ -5,7 +5,7 @@ using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; using Umbraco.Cms.Api.Management.Factories; using Umbraco.Cms.Api.Management.Services.Entities; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Cache; using Umbraco.Cms.Core.Security; @@ -31,13 +31,13 @@ public class ChildrenMediaTreeController : MediaTreeControllerBase [ActivatorUtilitiesConstructor] public ChildrenMediaTreeController( IEntityService entityService, - SignProviderCollection signProviders, + FlagProviderCollection flagProviders, IUserStartNodeEntitiesService userStartNodeEntitiesService, IDataTypeService dataTypeService, AppCaches appCaches, IBackOfficeSecurityAccessor backofficeSecurityAccessor, IMediaPresentationFactory mediaPresentationFactory) - : base(entityService, signProviders, userStartNodeEntitiesService, dataTypeService, appCaches, backofficeSecurityAccessor, mediaPresentationFactory) + : base(entityService, flagProviders, userStartNodeEntitiesService, dataTypeService, appCaches, backofficeSecurityAccessor, mediaPresentationFactory) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Media/Tree/MediaTreeControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/Media/Tree/MediaTreeControllerBase.cs index f3283466c4..4990c1aaff 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Media/Tree/MediaTreeControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Media/Tree/MediaTreeControllerBase.cs @@ -5,7 +5,7 @@ using Umbraco.Cms.Api.Management.Controllers.Tree; using Umbraco.Cms.Api.Management.Factories; using Umbraco.Cms.Api.Management.Routing; using Umbraco.Cms.Api.Management.Services.Entities; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Cache; @@ -37,7 +37,7 @@ public class MediaTreeControllerBase : UserStartNodeTreeControllerBase(), + StaticServiceProvider.Instance.GetRequiredService(), userStartNodeEntitiesService, dataTypeService, appCaches, @@ -49,13 +49,13 @@ public class MediaTreeControllerBase : UserStartNodeTreeControllerBase(), + StaticServiceProvider.Instance.GetRequiredService(), mediaTypeService) { } - public MediaTypeTreeControllerBase(IEntityService entityService, SignProviderCollection signProviders, IMediaTypeService mediaTypeService) - : base(entityService, signProviders) => + public MediaTypeTreeControllerBase(IEntityService entityService, FlagProviderCollection flagProviders, IMediaTypeService mediaTypeService) + : base(entityService, flagProviders) => _mediaTypeService = mediaTypeService; protected override UmbracoObjectTypes ItemObjectType => UmbracoObjectTypes.MediaType; diff --git a/src/Umbraco.Cms.Api.Management/Controllers/MediaType/Tree/RootMediaTypeTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/MediaType/Tree/RootMediaTypeTreeController.cs index 3def7719cf..f8b78a6f40 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/MediaType/Tree/RootMediaTypeTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/MediaType/Tree/RootMediaTypeTreeController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -19,8 +19,8 @@ public class RootMediaTypeTreeController : MediaTypeTreeControllerBase } [ActivatorUtilitiesConstructor] - public RootMediaTypeTreeController(IEntityService entityService, SignProviderCollection signProviders, IMediaTypeService mediaTypeService) - : base(entityService, signProviders, mediaTypeService) + public RootMediaTypeTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IMediaTypeService mediaTypeService) + : base(entityService, flagProviders, mediaTypeService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/MediaType/Tree/SiblingsMediaTypeTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/MediaType/Tree/SiblingsMediaTypeTreeController.cs index 5e873fb9cc..61686ee5cb 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/MediaType/Tree/SiblingsMediaTypeTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/MediaType/Tree/SiblingsMediaTypeTreeController.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -17,8 +17,8 @@ public class SiblingsMediaTypeTreeController : MediaTypeTreeControllerBase } [ActivatorUtilitiesConstructor] - public SiblingsMediaTypeTreeController(IEntityService entityService, SignProviderCollection signProviders, IMediaTypeService mediaTypeService) - : base(entityService, signProviders, mediaTypeService) + public SiblingsMediaTypeTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IMediaTypeService mediaTypeService) + : base(entityService, flagProviders, mediaTypeService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/MemberGroup/Tree/MemberGroupTreeControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/MemberGroup/Tree/MemberGroupTreeControllerBase.cs index 90ef8d12d9..f227ab2b5a 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/MemberGroup/Tree/MemberGroupTreeControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/MemberGroup/Tree/MemberGroupTreeControllerBase.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Umbraco.Cms.Api.Management.Controllers.Tree; using Umbraco.Cms.Api.Management.Routing; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Models; @@ -22,8 +22,8 @@ public class MemberGroupTreeControllerBase : NamedEntityTreeControllerBase(), + StaticServiceProvider.Instance.GetRequiredService(), memberTypeService) { } - public MemberTypeTreeControllerBase(IEntityService entityService, SignProviderCollection signProviders, IMemberTypeService memberTypeService) - : base(entityService, signProviders) => + public MemberTypeTreeControllerBase(IEntityService entityService, FlagProviderCollection flagProviders, IMemberTypeService memberTypeService) + : base(entityService, flagProviders) => _memberTypeService = memberTypeService; diff --git a/src/Umbraco.Cms.Api.Management/Controllers/MemberType/Tree/RootMemberTypeTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/MemberType/Tree/RootMemberTypeTreeController.cs index 4ce9248ecc..2b4e89e175 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/MemberType/Tree/RootMemberTypeTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/MemberType/Tree/RootMemberTypeTreeController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -19,8 +19,8 @@ public class RootMemberTypeTreeController : MemberTypeTreeControllerBase } [ActivatorUtilitiesConstructor] - public RootMemberTypeTreeController(IEntityService entityService, SignProviderCollection signProviders, IMemberTypeService memberTypeService) - : base(entityService, signProviders, memberTypeService) + public RootMemberTypeTreeController(IEntityService entityService, FlagProviderCollection flagProviders, IMemberTypeService memberTypeService) + : base(entityService, flagProviders, memberTypeService) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/AncestorsTemplateTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/AncestorsTemplateTreeController.cs index 943aeba37f..ea1e5fd6ff 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/AncestorsTemplateTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/AncestorsTemplateTreeController.cs @@ -2,7 +2,7 @@ using Asp.Versioning; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -18,8 +18,8 @@ public class AncestorsTemplateTreeController : TemplateTreeControllerBase } [ActivatorUtilitiesConstructor] - public AncestorsTemplateTreeController(IEntityService entityService, SignProviderCollection signProviders) - : base(entityService, signProviders) + public AncestorsTemplateTreeController(IEntityService entityService, FlagProviderCollection flagProviders) + : base(entityService, flagProviders) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/ChildrenTemplateTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/ChildrenTemplateTreeController.cs index 030be7d062..3a98881af9 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/ChildrenTemplateTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/ChildrenTemplateTreeController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -19,8 +19,8 @@ public class ChildrenTemplateTreeController : TemplateTreeControllerBase } [ActivatorUtilitiesConstructor] - public ChildrenTemplateTreeController(IEntityService entityService, SignProviderCollection signProviders) - : base(entityService, signProviders) + public ChildrenTemplateTreeController(IEntityService entityService, FlagProviderCollection flagProviders) + : base(entityService, flagProviders) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/RootTemplateTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/RootTemplateTreeController.cs index 871fdcf368..4118cd261a 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/RootTemplateTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/RootTemplateTreeController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -19,8 +19,8 @@ public class RootTemplateTreeController : TemplateTreeControllerBase } [ActivatorUtilitiesConstructor] - public RootTemplateTreeController(IEntityService entityService, SignProviderCollection signProviders) - : base(entityService, signProviders) + public RootTemplateTreeController(IEntityService entityService, FlagProviderCollection flagProviders) + : base(entityService, flagProviders) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/SiblingsTemplateTreeController.cs b/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/SiblingsTemplateTreeController.cs index 542014c042..336f94997a 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/SiblingsTemplateTreeController.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/SiblingsTemplateTreeController.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Common.ViewModels.Pagination; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Services; @@ -17,8 +17,8 @@ public class SiblingsTemplateTreeController : TemplateTreeControllerBase } [ActivatorUtilitiesConstructor] - public SiblingsTemplateTreeController(IEntityService entityService, SignProviderCollection signProviders) - : base(entityService, signProviders) + public SiblingsTemplateTreeController(IEntityService entityService, FlagProviderCollection flagProviders) + : base(entityService, flagProviders) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/TemplateTreeControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/TemplateTreeControllerBase.cs index aa65c4f7a5..385189aa69 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/TemplateTreeControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Template/Tree/TemplateTreeControllerBase.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Umbraco.Cms.Api.Management.Controllers.Tree; using Umbraco.Cms.Api.Management.Routing; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Models; @@ -22,8 +22,8 @@ public class TemplateTreeControllerBase : NamedEntityTreeControllerBase : ManagementApiControllerBase where TItem : EntityTreeItemResponseModel, new() { - private readonly SignProviderCollection _signProviders; + private readonly FlagProviderCollection _flagProviders; [Obsolete("Please use the constructor taking all parameters. Scheduled for removal in Umbraco 18.")] protected EntityTreeControllerBase(IEntityService entityService) : this( entityService, - StaticServiceProvider.Instance.GetRequiredService()) + StaticServiceProvider.Instance.GetRequiredService()) { } - protected EntityTreeControllerBase(IEntityService entityService, SignProviderCollection signProviders) + protected EntityTreeControllerBase(IEntityService entityService, FlagProviderCollection flagProviders) { EntityService = entityService; - _signProviders = signProviders; + _flagProviders = flagProviders; } protected IEntityService EntityService { get; } @@ -44,7 +44,7 @@ public abstract class EntityTreeControllerBase : ManagementApiControllerB TItem[] treeItemViewModels = MapTreeItemViewModels(null, rootEntities); - await PopulateSigns(treeItemViewModels); + await PopulateFlags(treeItemViewModels); PagedViewModel result = PagedViewModel(treeItemViewModels, totalItems); @@ -57,7 +57,7 @@ public abstract class EntityTreeControllerBase : ManagementApiControllerB TItem[] treeItemViewModels = MapTreeItemViewModels(parentId, children); - await PopulateSigns(treeItemViewModels); + await PopulateFlags(treeItemViewModels); PagedViewModel result = PagedViewModel(treeItemViewModels, totalItems); @@ -77,7 +77,7 @@ public abstract class EntityTreeControllerBase : ManagementApiControllerB TItem[] treeItemViewModels = MapTreeItemViewModels(parentKey, siblings); - await PopulateSigns(treeItemViewModels); + await PopulateFlags(treeItemViewModels); SubsetViewModel result = SubsetViewModel(treeItemViewModels, totalBefore, totalAfter); @@ -107,7 +107,7 @@ public abstract class EntityTreeControllerBase : ManagementApiControllerB }) .ToArray(); - await PopulateSigns(treeItemViewModels); + await PopulateFlags(treeItemViewModels); return Ok(treeItemViewModels); } @@ -168,11 +168,11 @@ public abstract class EntityTreeControllerBase : ManagementApiControllerB protected virtual TItem[] MapTreeItemViewModels(Guid? parentKey, IEntitySlim[] entities) => entities.Select(entity => MapTreeItemViewModel(parentKey, entity)).ToArray(); - protected virtual async Task PopulateSigns(TItem[] treeItemViewModels) + protected virtual async Task PopulateFlags(TItem[] treeItemViewModels) { - foreach (ISignProvider signProvider in _signProviders.Where(x => x.CanProvideSigns())) + foreach (IFlagProvider signProvider in _flagProviders.Where(x => x.CanProvideFlags())) { - await signProvider.PopulateSignsAsync(treeItemViewModels); + await signProvider.PopulateFlagsAsync(treeItemViewModels); } } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Tree/FolderTreeControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/Tree/FolderTreeControllerBase.cs index 6dfb8738ed..9d8d3e732c 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Tree/FolderTreeControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Tree/FolderTreeControllerBase.cs @@ -1,5 +1,5 @@ using Microsoft.Extensions.DependencyInjection; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core; using Umbraco.Cms.Core.DependencyInjection; @@ -35,12 +35,12 @@ public abstract class FolderTreeControllerBase : NamedEntityTreeControlle protected FolderTreeControllerBase(IEntityService entityService) : this( entityService, - StaticServiceProvider.Instance.GetRequiredService()) + StaticServiceProvider.Instance.GetRequiredService()) { } - protected FolderTreeControllerBase(IEntityService entityService, SignProviderCollection signProviders) - : base(entityService, signProviders) => + protected FolderTreeControllerBase(IEntityService entityService, FlagProviderCollection flagProviders) + : base(entityService, flagProviders) => _folderObjectTypeId = FolderObjectType.GetGuid(); protected abstract UmbracoObjectTypes FolderObjectType { get; } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Tree/NamedEntityTreeControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/Tree/NamedEntityTreeControllerBase.cs index be1fc3c6ce..b97f7bd930 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Tree/NamedEntityTreeControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Tree/NamedEntityTreeControllerBase.cs @@ -1,4 +1,4 @@ -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core.Models.Entities; using Umbraco.Cms.Core.Services; @@ -14,8 +14,8 @@ public abstract class NamedEntityTreeControllerBase : EntityTreeControlle { } - protected NamedEntityTreeControllerBase(IEntityService entityService, SignProviderCollection signProviders) - : base(entityService, signProviders) + protected NamedEntityTreeControllerBase(IEntityService entityService, FlagProviderCollection flagProviders) + : base(entityService, flagProviders) { } diff --git a/src/Umbraco.Cms.Api.Management/Controllers/Tree/UserStartNodeTreeControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/Tree/UserStartNodeTreeControllerBase.cs index a6d3ba5ff5..75d2d7e421 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/Tree/UserStartNodeTreeControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/Tree/UserStartNodeTreeControllerBase.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Management.Models.Entities; using Umbraco.Cms.Api.Management.Services.Entities; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core; using Umbraco.Cms.Core.DependencyInjection; @@ -29,7 +29,7 @@ public abstract class UserStartNodeTreeControllerBase : EntityTreeControl IDataTypeService dataTypeService) : this( entityService, - StaticServiceProvider.Instance.GetRequiredService(), + StaticServiceProvider.Instance.GetRequiredService(), userStartNodeEntitiesService, dataTypeService) { @@ -37,10 +37,10 @@ public abstract class UserStartNodeTreeControllerBase : EntityTreeControl protected UserStartNodeTreeControllerBase( IEntityService entityService, - SignProviderCollection signProviders, + FlagProviderCollection flagProviders, IUserStartNodeEntitiesService userStartNodeEntitiesService, IDataTypeService dataTypeService) - : base(entityService, signProviders) + : base(entityService, flagProviders) { _userStartNodeEntitiesService = userStartNodeEntitiesService; _dataTypeService = dataTypeService; diff --git a/src/Umbraco.Cms.Api.Management/DependencyInjection/UmbracoBuilder.Collections.cs b/src/Umbraco.Cms.Api.Management/DependencyInjection/UmbracoBuilder.Collections.cs index e93fb98dfc..cd86b2a95f 100644 --- a/src/Umbraco.Cms.Api.Management/DependencyInjection/UmbracoBuilder.Collections.cs +++ b/src/Umbraco.Cms.Api.Management/DependencyInjection/UmbracoBuilder.Collections.cs @@ -1,4 +1,4 @@ -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Core.DependencyInjection; namespace Umbraco.Extensions @@ -11,17 +11,17 @@ namespace Umbraco.Extensions internal static void AddCollectionBuilders(this IUmbracoBuilder builder) { builder.SignProviders() - .Append() - .Append() - .Append() - .Append(); + .Append() + .Append() + .Append() + .Append(); } /// /// Gets the sign providers collection builder. /// /// The builder. - public static SignProviderCollectionBuilder SignProviders(this IUmbracoBuilder builder) - => builder.WithCollectionBuilder(); + public static FlagProviderCollectionBuilder SignProviders(this IUmbracoBuilder builder) + => builder.WithCollectionBuilder(); } } diff --git a/src/Umbraco.Cms.Api.Management/Factories/ContentCollectionPresentationFactory.cs b/src/Umbraco.Cms.Api.Management/Factories/ContentCollectionPresentationFactory.cs index f151d6337b..72d81b1116 100644 --- a/src/Umbraco.Cms.Api.Management/Factories/ContentCollectionPresentationFactory.cs +++ b/src/Umbraco.Cms.Api.Management/Factories/ContentCollectionPresentationFactory.cs @@ -1,5 +1,5 @@ using Microsoft.Extensions.DependencyInjection; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Content; using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Core.Mapping; @@ -16,23 +16,23 @@ public abstract class ContentCollectionPresentationFactory()) + StaticServiceProvider.Instance.GetRequiredService()) { } protected ContentCollectionPresentationFactory( IUmbracoMapper mapper, - SignProviderCollection signProviderCollection) + FlagProviderCollection flagProviderCollection) { _mapper = mapper; - _signProviderCollection = signProviderCollection; + _flagProviderCollection = flagProviderCollection; } public async Task> CreateCollectionModelAsync(ListViewPagedModel contentCollection) @@ -55,18 +55,18 @@ public abstract class ContentCollectionPresentationFactory contentCollection, List collectionResponseModels) => Task.CompletedTask; - private async Task PopulateSigns(IEnumerable models) + private async Task PopulateFlags(IEnumerable models) { - foreach (ISignProvider signProvider in _signProviderCollection.Where(x => x.CanProvideSigns())) + foreach (IFlagProvider signProvider in _flagProviderCollection.Where(x => x.CanProvideFlags())) { - await signProvider.PopulateSignsAsync(models); + await signProvider.PopulateFlagsAsync(models); } } } diff --git a/src/Umbraco.Cms.Api.Management/Factories/DocumentPresentationFactory.cs b/src/Umbraco.Cms.Api.Management/Factories/DocumentPresentationFactory.cs index 37c127a240..7931e5e35e 100644 --- a/src/Umbraco.Cms.Api.Management/Factories/DocumentPresentationFactory.cs +++ b/src/Umbraco.Cms.Api.Management/Factories/DocumentPresentationFactory.cs @@ -1,6 +1,6 @@ using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Api.Management.Mapping.Content; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels; using Umbraco.Cms.Api.Management.ViewModels.Document; using Umbraco.Cms.Api.Management.ViewModels.Document.Item; @@ -26,7 +26,7 @@ internal sealed class DocumentPresentationFactory : IDocumentPresentationFactory private readonly IPublicAccessService _publicAccessService; private readonly TimeProvider _timeProvider; private readonly IIdKeyMap _idKeyMap; - private readonly SignProviderCollection _signProviderCollection; + private readonly FlagProviderCollection _flagProviderCollection; [Obsolete("Please use the controller with all parameters. Scheduled for removal in Umbraco 18")] public DocumentPresentationFactory( @@ -43,7 +43,7 @@ internal sealed class DocumentPresentationFactory : IDocumentPresentationFactory publicAccessService, timeProvider, idKeyMap, - StaticServiceProvider.Instance.GetRequiredService()) + StaticServiceProvider.Instance.GetRequiredService()) { } @@ -54,7 +54,7 @@ internal sealed class DocumentPresentationFactory : IDocumentPresentationFactory IPublicAccessService publicAccessService, TimeProvider timeProvider, IIdKeyMap idKeyMap, - SignProviderCollection signProviderCollection) + FlagProviderCollection flagProviderCollection) { _umbracoMapper = umbracoMapper; _documentUrlFactory = documentUrlFactory; @@ -62,7 +62,7 @@ internal sealed class DocumentPresentationFactory : IDocumentPresentationFactory _publicAccessService = publicAccessService; _timeProvider = timeProvider; _idKeyMap = idKeyMap; - _signProviderCollection = signProviderCollection; + _flagProviderCollection = flagProviderCollection; } [Obsolete("Schedule for removal in v17")] @@ -130,7 +130,7 @@ internal sealed class DocumentPresentationFactory : IDocumentPresentationFactory responseModel.Variants = CreateVariantsItemResponseModels(entity); - PopulateSignsOnDocuments(responseModel); + PopulateFlagsOnDocuments(responseModel); return responseModel; } @@ -159,7 +159,7 @@ internal sealed class DocumentPresentationFactory : IDocumentPresentationFactory Culture = null, }; - PopulateSignsOnVariants(model); + PopulateFlagsOnVariants(model); yield return model; yield break; } @@ -173,7 +173,7 @@ internal sealed class DocumentPresentationFactory : IDocumentPresentationFactory State = DocumentVariantStateHelper.GetState(entity, cultureNamePair.Key) }; - PopulateSignsOnVariants(model); + PopulateFlagsOnVariants(model); yield return model; } } @@ -290,19 +290,19 @@ internal sealed class DocumentPresentationFactory : IDocumentPresentationFactory return Attempt.SucceedWithStatus(ContentPublishingOperationStatus.Success, model); } - private void PopulateSignsOnDocuments(DocumentItemResponseModel model) + private void PopulateFlagsOnDocuments(DocumentItemResponseModel model) { - foreach (ISignProvider signProvider in _signProviderCollection.Where(x => x.CanProvideSigns())) + foreach (IFlagProvider signProvider in _flagProviderCollection.Where(x => x.CanProvideFlags())) { - signProvider.PopulateSignsAsync([model]).GetAwaiter().GetResult(); + signProvider.PopulateFlagsAsync([model]).GetAwaiter().GetResult(); } } - private void PopulateSignsOnVariants(DocumentVariantItemResponseModel model) + private void PopulateFlagsOnVariants(DocumentVariantItemResponseModel model) { - foreach (ISignProvider signProvider in _signProviderCollection.Where(x => x.CanProvideSigns())) + foreach (IFlagProvider signProvider in _flagProviderCollection.Where(x => x.CanProvideFlags())) { - signProvider.PopulateSignsAsync([model]).GetAwaiter().GetResult(); + signProvider.PopulateFlagsAsync([model]).GetAwaiter().GetResult(); } } } diff --git a/src/Umbraco.Cms.Api.Management/Mapping/Document/DocumentMapDefinition.cs b/src/Umbraco.Cms.Api.Management/Mapping/Document/DocumentMapDefinition.cs index fa703c134d..6fe2fbff55 100644 --- a/src/Umbraco.Cms.Api.Management/Mapping/Document/DocumentMapDefinition.cs +++ b/src/Umbraco.Cms.Api.Management/Mapping/Document/DocumentMapDefinition.cs @@ -44,7 +44,7 @@ public class DocumentMapDefinition : ContentMapDefinition(Map); } - // Umbraco.Code.MapAll -Urls -Template -Signs + // Umbraco.Code.MapAll -Urls -Template -Flags private void Map(IContent source, DocumentResponseModel target, MapperContext context) { target.Id = source.Key; @@ -62,7 +62,7 @@ public class DocumentMapDefinition : ContentMapDefinition((_, _) => new MediaCollectionResponseModel(), Map); } - // Umbraco.Code.MapAll -Urls -Signs + // Umbraco.Code.MapAll -Urls -Flags private void Map(IMedia source, MediaResponseModel target, MapperContext context) { target.Id = source.Key; @@ -50,7 +50,7 @@ public class MediaMapDefinition : ContentMapDefinition mapper.Define((_, _) => new MemberResponseModel(), Map); - // Umbraco.Code.MapAll -IsTwoFactorEnabled -Groups -Kind -Signs + // Umbraco.Code.MapAll -IsTwoFactorEnabled -Groups -Kind -Flags private void Map(IMember source, MemberResponseModel target, MapperContext context) { target.Id = source.Key; diff --git a/src/Umbraco.Cms.Api.Management/OpenApi.json b/src/Umbraco.Cms.Api.Management/OpenApi.json index b0c205c82b..e0dff28806 100644 --- a/src/Umbraco.Cms.Api.Management/OpenApi.json +++ b/src/Umbraco.Cms.Api.Management/OpenApi.json @@ -7883,6 +7883,85 @@ ] } }, + "/umbraco/management/api/v1/document/{id}/available-segment-options": { + "get": { + "tags": [ + "Document" + ], + "operationId": "GetDocumentByIdAvailableSegmentOptions", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "skip", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "take", + "in": "query", + "schema": { + "type": "integer", + "format": "int32", + "default": 100 + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/PagedSegmentResponseModel" + } + ] + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/ProblemDetails" + } + ] + } + } + } + }, + "401": { + "description": "The resource is protected and requires an authentication token" + }, + "403": { + "description": "The authenticated user does not have access to this resource" + } + }, + "deprecated": true, + "security": [ + { + "Backoffice-User": [ ] + } + ] + } + }, "/umbraco/management/api/v1/document/{id}/copy": { "post": { "tags": [ @@ -37128,10 +37207,10 @@ "DataTypeItemResponseModel": { "required": [ "editorAlias", + "flags", "id", "isDeletable", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -37139,12 +37218,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -37271,12 +37350,12 @@ }, "DataTypeTreeItemResponseModel": { "required": [ + "flags", "hasChildren", "id", "isDeletable", "isFolder", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -37295,12 +37374,12 @@ ], "nullable": true }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -37528,9 +37607,9 @@ }, "DictionaryItemItemResponseModel": { "required": [ + "flags", "id", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -37538,12 +37617,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -37662,9 +37741,9 @@ "DocumentBlueprintItemResponseModel": { "required": [ "documentType", + "flags", "id", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -37672,12 +37751,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -37698,8 +37777,8 @@ "DocumentBlueprintResponseModel": { "required": [ "documentType", + "flags", "id", - "signs", "values", "variants" ], @@ -37729,12 +37808,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -37751,11 +37830,11 @@ }, "DocumentBlueprintTreeItemResponseModel": { "required": [ + "flags", "hasChildren", "id", "isFolder", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -37774,12 +37853,12 @@ ], "nullable": true }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -37805,10 +37884,10 @@ "required": [ "ancestors", "documentType", + "flags", "id", "isProtected", "isTrashed", - "signs", "sortOrder", "values", "variants" @@ -37839,12 +37918,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -37914,11 +37993,11 @@ "DocumentItemResponseModel": { "required": [ "documentType", + "flags", "hasChildren", "id", "isProtected", "isTrashed", - "signs", "variants" ], "type": "object", @@ -37927,12 +38006,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -38172,9 +38251,9 @@ "DocumentResponseModel": { "required": [ "documentType", + "flags", "id", "isTrashed", - "signs", "urls", "values", "variants" @@ -38205,12 +38284,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -38252,12 +38331,12 @@ "ancestors", "createDate", "documentType", + "flags", "hasChildren", "id", "isProtected", "isTrashed", "noAccess", - "signs", "variants" ], "type": "object", @@ -38277,12 +38356,12 @@ ], "nullable": true }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -38332,9 +38411,9 @@ }, "DocumentTypeBlueprintItemResponseModel": { "required": [ + "flags", "id", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -38342,12 +38421,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -38512,10 +38591,10 @@ }, "DocumentTypeItemResponseModel": { "required": [ + "flags", "id", "isElement", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -38523,12 +38602,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -38901,13 +38980,13 @@ }, "DocumentTypeTreeItemResponseModel": { "required": [ + "flags", "hasChildren", "icon", "id", "isElement", "isFolder", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -38926,12 +39005,12 @@ ], "nullable": true }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -39047,6 +39126,8 @@ }, "DocumentVariantItemResponseModel": { "required": [ + "flags", + "id", "name", "state" ], @@ -39059,6 +39140,21 @@ "type": "string", "nullable": true }, + "id": { + "type": "string", + "format": "uuid", + "readOnly": true + }, + "flags": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/FlagModel" + } + ] + } + }, "state": { "$ref": "#/components/schemas/DocumentVariantStateModel" } @@ -39089,6 +39185,8 @@ "DocumentVariantResponseModel": { "required": [ "createDate", + "flags", + "id", "name", "state", "updateDate" @@ -39132,6 +39230,21 @@ "type": "string", "format": "date-time", "nullable": true + }, + "id": { + "type": "string", + "format": "uuid", + "readOnly": true + }, + "flags": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/FlagModel" + } + ] + } } }, "additionalProperties": false @@ -39202,8 +39315,8 @@ "DocumentVersionResponseModel": { "required": [ "documentType", + "flags", "id", - "signs", "values", "variants" ], @@ -39233,12 +39346,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -39563,6 +39676,18 @@ }, "additionalProperties": false }, + "FlagModel": { + "required": [ + "alias" + ], + "type": "object", + "properties": { + "alias": { + "type": "string" + } + }, + "additionalProperties": false + }, "FolderResponseModel": { "required": [ "id", @@ -40256,9 +40381,9 @@ }, "MediaCollectionResponseModel": { "required": [ + "flags", "id", "mediaType", - "signs", "sortOrder", "values", "variants" @@ -40289,12 +40414,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -40335,11 +40460,11 @@ }, "MediaItemResponseModel": { "required": [ + "flags", "hasChildren", "id", "isTrashed", "mediaType", - "signs", "variants" ], "type": "object", @@ -40348,12 +40473,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -40478,10 +40603,10 @@ }, "MediaResponseModel": { "required": [ + "flags", "id", "isTrashed", "mediaType", - "signs", "urls", "values", "variants" @@ -40512,12 +40637,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -40549,12 +40674,12 @@ "MediaTreeItemResponseModel": { "required": [ "createDate", + "flags", "hasChildren", "id", "isTrashed", "mediaType", "noAccess", - "signs", "variants" ], "type": "object", @@ -40574,12 +40699,12 @@ ], "nullable": true }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -40730,9 +40855,9 @@ }, "MediaTypeItemResponseModel": { "required": [ + "flags", "id", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -40740,12 +40865,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -41062,13 +41187,13 @@ }, "MediaTypeTreeItemResponseModel": { "required": [ + "flags", "hasChildren", "icon", "id", "isDeletable", "isFolder", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -41087,12 +41212,12 @@ ], "nullable": true }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -41264,9 +41389,9 @@ }, "MemberGroupItemResponseModel": { "required": [ + "flags", "id", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -41274,12 +41399,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -41309,10 +41434,10 @@ }, "MemberItemResponseModel": { "required": [ + "flags", "id", "kind", "memberType", - "signs", "variants" ], "type": "object", @@ -41321,12 +41446,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -41400,6 +41525,7 @@ "required": [ "email", "failedPasswordAttempts", + "flags", "groups", "id", "isApproved", @@ -41407,7 +41533,6 @@ "isTwoFactorEnabled", "kind", "memberType", - "signs", "username", "values", "variants" @@ -41438,12 +41563,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -41589,9 +41714,9 @@ }, "MemberTypeItemResponseModel": { "required": [ + "flags", "id", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -41599,12 +41724,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -41909,11 +42034,11 @@ }, "MemberTypeTreeItemResponseModel": { "required": [ + "flags", "hasChildren", "icon", "id", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -41932,12 +42057,12 @@ ], "nullable": true }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -42201,10 +42326,10 @@ }, "NamedEntityTreeItemResponseModel": { "required": [ + "flags", "hasChildren", "id", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -42223,12 +42348,12 @@ ], "nullable": true }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -44294,9 +44419,9 @@ "PublishedDocumentResponseModel": { "required": [ "documentType", + "flags", "id", "isTrashed", - "signs", "urls", "values", "variants" @@ -44327,12 +44452,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -44524,10 +44649,10 @@ }, "RelationTypeItemResponseModel": { "required": [ + "flags", "id", "isDeletable", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -44535,12 +44660,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -44927,6 +45052,14 @@ }, "alias": { "type": "string" + }, + "cultures": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "deprecated": true } }, "additionalProperties": false @@ -45039,18 +45172,6 @@ }, "additionalProperties": false }, - "SignModel": { - "required": [ - "alias" - ], - "type": "object", - "properties": { - "alias": { - "type": "string" - } - }, - "additionalProperties": false - }, "SortingRequestModel": { "required": [ "sorting" @@ -45471,9 +45592,9 @@ "TemplateItemResponseModel": { "required": [ "alias", + "flags", "id", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -45481,12 +45602,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -47471,9 +47592,9 @@ }, "UserGroupItemResponseModel": { "required": [ + "flags", "id", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -47481,12 +47602,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -47642,10 +47763,10 @@ "UserItemResponseModel": { "required": [ "avatarUrls", + "flags", "id", "kind", - "name", - "signs" + "name" ], "type": "object", "properties": { @@ -47653,12 +47774,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } @@ -48097,9 +48218,9 @@ "required": [ "enabled", "events", + "flags", "id", "name", - "signs", "types", "url" ], @@ -48109,12 +48230,12 @@ "type": "string", "format": "uuid" }, - "signs": { + "flags": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/components/schemas/SignModel" + "$ref": "#/components/schemas/FlagModel" } ] } diff --git a/src/Umbraco.Cms.Api.Management/Services/Flags/FlagProviderCollection.cs b/src/Umbraco.Cms.Api.Management/Services/Flags/FlagProviderCollection.cs new file mode 100644 index 0000000000..5c50f8bba6 --- /dev/null +++ b/src/Umbraco.Cms.Api.Management/Services/Flags/FlagProviderCollection.cs @@ -0,0 +1,18 @@ +using Umbraco.Cms.Core.Composing; + +namespace Umbraco.Cms.Api.Management.Services.Flags; + +/// +/// Defines an ordered collection of . +/// +public class FlagProviderCollection : BuilderCollectionBase +{ + /// + /// Initializes a new instance of the class. + /// + /// The collection items. + public FlagProviderCollection(Func> items) + : base(items) + { + } +} diff --git a/src/Umbraco.Cms.Api.Management/Services/Flags/FlagProviderCollectionBuilder.cs b/src/Umbraco.Cms.Api.Management/Services/Flags/FlagProviderCollectionBuilder.cs new file mode 100644 index 0000000000..47fc609dc2 --- /dev/null +++ b/src/Umbraco.Cms.Api.Management/Services/Flags/FlagProviderCollectionBuilder.cs @@ -0,0 +1,12 @@ +using Umbraco.Cms.Core.Composing; + +namespace Umbraco.Cms.Api.Management.Services.Flags; + +/// +/// Builds an ordered collection of . +/// +public class FlagProviderCollectionBuilder : OrderedCollectionBuilderBase +{ + /// + protected override FlagProviderCollectionBuilder This => this; +} diff --git a/src/Umbraco.Cms.Api.Management/Services/Signs/HasCollectionSignProvider.cs b/src/Umbraco.Cms.Api.Management/Services/Flags/HasCollectionFlagProvider.cs similarity index 79% rename from src/Umbraco.Cms.Api.Management/Services/Signs/HasCollectionSignProvider.cs rename to src/Umbraco.Cms.Api.Management/Services/Flags/HasCollectionFlagProvider.cs index 41f7ebe066..0f5d989f19 100644 --- a/src/Umbraco.Cms.Api.Management/Services/Signs/HasCollectionSignProvider.cs +++ b/src/Umbraco.Cms.Api.Management/Services/Flags/HasCollectionFlagProvider.cs @@ -6,18 +6,18 @@ using Umbraco.Cms.Api.Management.ViewModels.Media.Item; using Umbraco.Cms.Api.Management.ViewModels.Tree; using Umbraco.Cms.Core; -namespace Umbraco.Cms.Api.Management.Services.Signs; +namespace Umbraco.Cms.Api.Management.Services.Flags; /// -/// Implements a that provides signs for entities that have a collection. +/// Implements a that provides flags for entities that have a collection. /// -public class HasCollectionSignProvider : ISignProvider +public class HasCollectionFlagProvider : IFlagProvider { - private const string Alias = Constants.Conventions.Signs.Prefix + "HasCollection"; + private const string Alias = Constants.Conventions.Flags.Prefix + "HasCollection"; /// - public bool CanProvideSigns() - where TItem : IHasSigns => + public bool CanProvideFlags() + where TItem : IHasFlags => typeof(TItem) == typeof(DocumentTreeItemResponseModel) || typeof(TItem) == typeof(DocumentCollectionResponseModel) || typeof(TItem) == typeof(DocumentItemResponseModel) || @@ -26,14 +26,14 @@ public class HasCollectionSignProvider : ISignProvider typeof(TItem) == typeof(MediaItemResponseModel); /// - public Task PopulateSignsAsync(IEnumerable itemViewModels) - where TItem : IHasSigns + public Task PopulateFlagsAsync(IEnumerable itemViewModels) + where TItem : IHasFlags { foreach (TItem item in itemViewModels) { if (HasCollection(item)) { - item.AddSign(Alias); + item.AddFlag(Alias); } } diff --git a/src/Umbraco.Cms.Api.Management/Services/Signs/HasPendingChangesSignProvider.cs b/src/Umbraco.Cms.Api.Management/Services/Flags/HasPendingChangesFlagProvider.cs similarity index 69% rename from src/Umbraco.Cms.Api.Management/Services/Signs/HasPendingChangesSignProvider.cs rename to src/Umbraco.Cms.Api.Management/Services/Flags/HasPendingChangesFlagProvider.cs index e7563aa310..0a8be1d75c 100644 --- a/src/Umbraco.Cms.Api.Management/Services/Signs/HasPendingChangesSignProvider.cs +++ b/src/Umbraco.Cms.Api.Management/Services/Flags/HasPendingChangesFlagProvider.cs @@ -2,31 +2,31 @@ using Umbraco.Cms.Api.Management.ViewModels.Document; using Umbraco.Cms.Core; -namespace Umbraco.Cms.Api.Management.Services.Signs; +namespace Umbraco.Cms.Api.Management.Services.Flags; /// -/// Implements a that provides signs for documents that have pending changes. +/// Implements a that provides flags for documents that have pending changes. /// -public class HasPendingChangesSignProvider : ISignProvider +public class HasPendingChangesFlagProvider : IFlagProvider { - private const string Alias = Constants.Conventions.Signs.Prefix + "PendingChanges"; + private const string Alias = Constants.Conventions.Flags.Prefix + "PendingChanges"; /// - public bool CanProvideSigns() - where TItem : IHasSigns => + public bool CanProvideFlags() + where TItem : IHasFlags => typeof(TItem) == typeof(DocumentVariantItemResponseModel) || typeof(TItem) == typeof(DocumentVariantResponseModel); /// - public Task PopulateSignsAsync(IEnumerable items) - where TItem : IHasSigns + public Task PopulateFlagsAsync(IEnumerable items) + where TItem : IHasFlags { foreach (TItem item in items) { if (HasPendingChanges(item)) { - item.AddSign(Alias); + item.AddFlag(Alias); } } diff --git a/src/Umbraco.Cms.Api.Management/Services/Signs/HasScheduleSignProvider.cs b/src/Umbraco.Cms.Api.Management/Services/Flags/HasScheduleFlagProvider.cs similarity index 86% rename from src/Umbraco.Cms.Api.Management/Services/Signs/HasScheduleSignProvider.cs rename to src/Umbraco.Cms.Api.Management/Services/Flags/HasScheduleFlagProvider.cs index e9f949a57a..8aa071faaf 100644 --- a/src/Umbraco.Cms.Api.Management/Services/Signs/HasScheduleSignProvider.cs +++ b/src/Umbraco.Cms.Api.Management/Services/Flags/HasScheduleFlagProvider.cs @@ -8,14 +8,14 @@ using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Services; using Constants = Umbraco.Cms.Core.Constants; -namespace Umbraco.Cms.Api.Management.Services.Signs; +namespace Umbraco.Cms.Api.Management.Services.Flags; /// -/// Implements a that provides signs for documents that are scheduled for publication. +/// Implements a that provides flags for documents that are scheduled for publication. /// -internal class HasScheduleSignProvider : ISignProvider +internal class HasScheduleFlagProvider : IFlagProvider { - private const string Alias = Constants.Conventions.Signs.Prefix + "ScheduledForPublish"; + private const string Alias = Constants.Conventions.Flags.Prefix + "ScheduledForPublish"; private readonly IContentService _contentService; private readonly IIdKeyMap _keyMap; @@ -23,22 +23,22 @@ internal class HasScheduleSignProvider : ISignProvider /// /// Initializes a new instance of the class. /// - public HasScheduleSignProvider(IContentService contentService, IIdKeyMap keyMap) + public HasScheduleFlagProvider(IContentService contentService, IIdKeyMap keyMap) { _contentService = contentService; _keyMap = keyMap; } /// - public bool CanProvideSigns() - where TItem : IHasSigns => + public bool CanProvideFlags() + where TItem : IHasFlags => typeof(TItem) == typeof(DocumentTreeItemResponseModel) || typeof(TItem) == typeof(DocumentCollectionResponseModel) || typeof(TItem) == typeof(DocumentItemResponseModel); /// - public Task PopulateSignsAsync(IEnumerable items) - where TItem : IHasSigns + public Task PopulateFlagsAsync(IEnumerable items) + where TItem : IHasFlags { IDictionary> schedules = _contentService.GetContentSchedulesByIds(items.Select(x => x.Id).ToArray()); foreach (TItem item in items) @@ -80,7 +80,7 @@ internal class HasScheduleSignProvider : ISignProvider if (variantsArray.Length == 1) { DocumentVariantItemResponseModel variant = variantsArray[0]; - variant.AddSign(Alias); + variant.AddFlag(Alias); return variantsArray; } @@ -91,7 +91,7 @@ internal class HasScheduleSignProvider : ISignProvider if (isScheduled) { - variant.AddSign(Alias); + variant.AddFlag(Alias); } } @@ -105,7 +105,7 @@ internal class HasScheduleSignProvider : ISignProvider if (variantsArray.Length == 1) { DocumentVariantResponseModel variant = variantsArray[0]; - variant.AddSign(Alias); + variant.AddFlag(Alias); return variantsArray; } @@ -116,7 +116,7 @@ internal class HasScheduleSignProvider : ISignProvider if (isScheduled) { - variant.AddSign(Alias); + variant.AddFlag(Alias); } } diff --git a/src/Umbraco.Cms.Api.Management/Services/Flags/IFlagProvider.cs b/src/Umbraco.Cms.Api.Management/Services/Flags/IFlagProvider.cs new file mode 100644 index 0000000000..48c78a7c8f --- /dev/null +++ b/src/Umbraco.Cms.Api.Management/Services/Flags/IFlagProvider.cs @@ -0,0 +1,23 @@ +using Umbraco.Cms.Api.Management.ViewModels; + +namespace Umbraco.Cms.Api.Management.Services.Flags; + +/// +/// Defines operation for the provision of presentation flags for item, tree and collection nodes. +/// +public interface IFlagProvider +{ + /// + /// Gets a value indicating whether this provider can provide flags for the specified item type. + /// + /// Type of view model supporting flags. + bool CanProvideFlags() + where TItem : IHasFlags; + + /// + /// Populates the provided item view models with flags. + /// + /// Type of item view model supporting flags. + Task PopulateFlagsAsync(IEnumerable items) + where TItem : IHasFlags; +} diff --git a/src/Umbraco.Cms.Api.Management/Services/Signs/IsProtectedSignProvider.cs b/src/Umbraco.Cms.Api.Management/Services/Flags/IsProtectedFlagProvider.cs similarity index 52% rename from src/Umbraco.Cms.Api.Management/Services/Signs/IsProtectedSignProvider.cs rename to src/Umbraco.Cms.Api.Management/Services/Flags/IsProtectedFlagProvider.cs index acd375ca9e..f92b20aa30 100644 --- a/src/Umbraco.Cms.Api.Management/Services/Signs/IsProtectedSignProvider.cs +++ b/src/Umbraco.Cms.Api.Management/Services/Flags/IsProtectedFlagProvider.cs @@ -1,29 +1,29 @@ using Umbraco.Cms.Api.Management.ViewModels; using Umbraco.Cms.Core; -namespace Umbraco.Cms.Api.Management.Services.Signs; +namespace Umbraco.Cms.Api.Management.Services.Flags; /// -/// Implements a that provides signs for documents that are protected. +/// Implements a that provides flags for documents that are protected. /// -internal class IsProtectedSignProvider : ISignProvider +internal class IsProtectedFlagProvider : IFlagProvider { - private const string Alias = Constants.Conventions.Signs.Prefix + "IsProtected"; + private const string Alias = Constants.Conventions.Flags.Prefix + "IsProtected"; /// > - public bool CanProvideSigns() - where TItem : IHasSigns => + public bool CanProvideFlags() + where TItem : IHasFlags => typeof(IIsProtected).IsAssignableFrom(typeof(TItem)); /// > - public Task PopulateSignsAsync(IEnumerable itemViewModels) - where TItem : IHasSigns + public Task PopulateFlagsAsync(IEnumerable itemViewModels) + where TItem : IHasFlags { foreach (TItem item in itemViewModels) { if (item is IIsProtected { IsProtected: true }) { - item.AddSign(Alias); + item.AddFlag(Alias); } } diff --git a/src/Umbraco.Cms.Api.Management/Services/Signs/ISignProvider.cs b/src/Umbraco.Cms.Api.Management/Services/Signs/ISignProvider.cs deleted file mode 100644 index e47a128e74..0000000000 --- a/src/Umbraco.Cms.Api.Management/Services/Signs/ISignProvider.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Umbraco.Cms.Api.Management.ViewModels; - -namespace Umbraco.Cms.Api.Management.Services.Signs; - -/// -/// Defines operation for the provision of presentation signs for item, tree and collection nodes. -/// -public interface ISignProvider -{ - /// - /// Gets a value indicating whether this provider can provide signs for the specified item type. - /// - /// Type of view model supporting signs. - bool CanProvideSigns() - where TItem : IHasSigns; - - /// - /// Populates the provided item view models with signs. - /// - /// Type of item view model supporting signs. - Task PopulateSignsAsync(IEnumerable items) - where TItem : IHasSigns; -} diff --git a/src/Umbraco.Cms.Api.Management/Services/Signs/SignProviderCollection.cs b/src/Umbraco.Cms.Api.Management/Services/Signs/SignProviderCollection.cs deleted file mode 100644 index 81c50aafd5..0000000000 --- a/src/Umbraco.Cms.Api.Management/Services/Signs/SignProviderCollection.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Umbraco.Cms.Core.Composing; - -namespace Umbraco.Cms.Api.Management.Services.Signs; - -/// -/// Defines an ordered collection of . -/// -public class SignProviderCollection : BuilderCollectionBase -{ - /// - /// Initializes a new instance of the class. - /// - /// The collection items. - public SignProviderCollection(Func> items) - : base(items) - { - } -} diff --git a/src/Umbraco.Cms.Api.Management/Services/Signs/SignProviderCollectionBuilder.cs b/src/Umbraco.Cms.Api.Management/Services/Signs/SignProviderCollectionBuilder.cs deleted file mode 100644 index a07d67634f..0000000000 --- a/src/Umbraco.Cms.Api.Management/Services/Signs/SignProviderCollectionBuilder.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Umbraco.Cms.Core.Composing; - -namespace Umbraco.Cms.Api.Management.Services.Signs; - -/// -/// Builds an ordered collection of . -/// -public class SignProviderCollectionBuilder : OrderedCollectionBuilderBase -{ - /// - protected override SignProviderCollectionBuilder This => this; -} diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/Content/ContentResponseModelBase.cs b/src/Umbraco.Cms.Api.Management/ViewModels/Content/ContentResponseModelBase.cs index 11f7599252..9bb65254ae 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/Content/ContentResponseModelBase.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/Content/ContentResponseModelBase.cs @@ -3,25 +3,25 @@ using Umbraco.Cms.Core.Models.ContentEditing; namespace Umbraco.Cms.Api.Management.ViewModels.Content; public abstract class ContentResponseModelBase - : ContentModelBase, IHasSigns + : ContentModelBase, IHasFlags where TValueResponseModelBase : ValueModelBase where TVariantResponseModel : VariantResponseModelBase { - private readonly List _signs = []; + private readonly List _flags = []; public Guid Id { get; set; } - public IEnumerable Signs + public IEnumerable Flags { - get => _signs.AsEnumerable(); + get => _flags.AsEnumerable(); set { - _signs.Clear(); - _signs.AddRange(value); + _flags.Clear(); + _flags.AddRange(value); } } - public void AddSign(string alias) => _signs.Add(new SignModel { Alias = alias }); + public void AddFlag(string alias) => _flags.Add(new FlagModel { Alias = alias }); - public void RemoveSign(string alias) => _signs.RemoveAll(x => x.Alias == alias); + public void RemoveFlag(string alias) => _flags.RemoveAll(x => x.Alias == alias); } diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/Document/Collection/DocumentCollectionResponseModel.cs b/src/Umbraco.Cms.Api.Management/ViewModels/Document/Collection/DocumentCollectionResponseModel.cs index 107ec0c891..d31de2e2d0 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/Document/Collection/DocumentCollectionResponseModel.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/Document/Collection/DocumentCollectionResponseModel.cs @@ -3,7 +3,7 @@ using Umbraco.Cms.Api.Management.ViewModels.DocumentType; namespace Umbraco.Cms.Api.Management.ViewModels.Document.Collection; -public class DocumentCollectionResponseModel : ContentCollectionResponseModelBase, IHasSigns, IIsProtected +public class DocumentCollectionResponseModel : ContentCollectionResponseModelBase, IHasFlags, IIsProtected { public DocumentTypeCollectionReferenceResponseModel DocumentType { get; set; } = new(); diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/Document/DocumentVariantItemResponseModel.cs b/src/Umbraco.Cms.Api.Management/ViewModels/Document/DocumentVariantItemResponseModel.cs index 3e4d8913f8..108bc7090e 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/Document/DocumentVariantItemResponseModel.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/Document/DocumentVariantItemResponseModel.cs @@ -2,25 +2,25 @@ namespace Umbraco.Cms.Api.Management.ViewModels.Document; -public class DocumentVariantItemResponseModel : VariantItemResponseModelBase, IHasSigns +public class DocumentVariantItemResponseModel : VariantItemResponseModelBase, IHasFlags { - private readonly List _signs = []; + private readonly List _flags = []; public Guid Id { get; } - public IEnumerable Signs + public IEnumerable Flags { - get => _signs.AsEnumerable(); + get => _flags.AsEnumerable(); set { - _signs.Clear(); - _signs.AddRange(value); + _flags.Clear(); + _flags.AddRange(value); } } - public void AddSign(string alias) => _signs.Add(new SignModel { Alias = alias }); + public void AddFlag(string alias) => _flags.Add(new FlagModel { Alias = alias }); - public void RemoveSign(string alias) => _signs.RemoveAll(x => x.Alias == alias); + public void RemoveFlag(string alias) => _flags.RemoveAll(x => x.Alias == alias); public required DocumentVariantState State { get; set; } } diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/Document/DocumentVariantResponseModel.cs b/src/Umbraco.Cms.Api.Management/ViewModels/Document/DocumentVariantResponseModel.cs index cfa3ef5809..a58b3cf9bd 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/Document/DocumentVariantResponseModel.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/Document/DocumentVariantResponseModel.cs @@ -2,7 +2,7 @@ using Umbraco.Cms.Api.Management.ViewModels.Content; namespace Umbraco.Cms.Api.Management.ViewModels.Document; -public class DocumentVariantResponseModel : VariantResponseModelBase, IHasSigns +public class DocumentVariantResponseModel : VariantResponseModelBase, IHasFlags { public DocumentVariantState State { get; set; } @@ -12,21 +12,21 @@ public class DocumentVariantResponseModel : VariantResponseModelBase, IHasSigns public DateTimeOffset? ScheduledUnpublishDate { get; set; } - private readonly List _signs = []; + private readonly List _flags = []; public Guid Id { get; } - public IEnumerable Signs + public IEnumerable Flags { - get => _signs.AsEnumerable(); + get => _flags.AsEnumerable(); set { - _signs.Clear(); - _signs.AddRange(value); + _flags.Clear(); + _flags.AddRange(value); } } - public void AddSign(string alias) => _signs.Add(new SignModel { Alias = alias }); + public void AddFlag(string alias) => _flags.Add(new FlagModel { Alias = alias }); - public void RemoveSign(string alias) => _signs.RemoveAll(x => x.Alias == alias); + public void RemoveFlag(string alias) => _flags.RemoveAll(x => x.Alias == alias); } diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/SignModel.cs b/src/Umbraco.Cms.Api.Management/ViewModels/FlagModel.cs similarity index 81% rename from src/Umbraco.Cms.Api.Management/ViewModels/SignModel.cs rename to src/Umbraco.Cms.Api.Management/ViewModels/FlagModel.cs index 0cfec8e36f..5eaacb5e0c 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/SignModel.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/FlagModel.cs @@ -1,6 +1,6 @@ namespace Umbraco.Cms.Api.Management.ViewModels; -public class SignModel +public class FlagModel { public required string Alias { get; set; } } diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/IHasSigns.cs b/src/Umbraco.Cms.Api.Management/ViewModels/IHasFlags.cs similarity index 58% rename from src/Umbraco.Cms.Api.Management/ViewModels/IHasSigns.cs rename to src/Umbraco.Cms.Api.Management/ViewModels/IHasFlags.cs index 23aafd1e2b..3a622572aa 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/IHasSigns.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/IHasFlags.cs @@ -1,10 +1,10 @@ namespace Umbraco.Cms.Api.Management.ViewModels; /// -/// Marker interface that indicates the type has support for backoffice signs (presented as icons +/// Marker interface that indicates the type has support for backoffice flags (presented as icons /// overlaying the main icon for the entity). /// -public interface IHasSigns +public interface IHasFlags { /// /// Gets the unique identifier for the entity. @@ -12,19 +12,19 @@ public interface IHasSigns Guid Id { get; } /// - /// Gets the collection of signs for the entity. + /// Gets the collection of flag for the entity. /// - IEnumerable Signs { get; } + IEnumerable Flags { get; } /// - /// Adds a sign to the entity with the specified alias. + /// Adds a flag to the entity with the specified alias. /// /// - void AddSign(string alias); + void AddFlag(string alias); /// - /// Removes a sign from the entity with the specified alias. + /// Removes a flag from the entity with the specified alias. /// /// - void RemoveSign(string alias); + void RemoveFlag(string alias); } diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/Item/ItemResponseModelBase.cs b/src/Umbraco.Cms.Api.Management/ViewModels/Item/ItemResponseModelBase.cs index bccb7fc1e6..6bd1062859 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/Item/ItemResponseModelBase.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/Item/ItemResponseModelBase.cs @@ -1,22 +1,22 @@ namespace Umbraco.Cms.Api.Management.ViewModels.Item; -public abstract class ItemResponseModelBase : IHasSigns +public abstract class ItemResponseModelBase : IHasFlags { - private readonly List _signs = []; + private readonly List _flags = []; public Guid Id { get; set; } - public IEnumerable Signs + public IEnumerable Flags { - get => _signs.AsEnumerable(); + get => _flags.AsEnumerable(); set { - _signs.Clear(); - _signs.AddRange(value); + _flags.Clear(); + _flags.AddRange(value); } } - public void AddSign(string alias) => _signs.Add(new SignModel { Alias = alias }); + public void AddFlag(string alias) => _flags.Add(new FlagModel { Alias = alias }); - public void RemoveSign(string alias) => _signs.RemoveAll(x => x.Alias == alias); + public void RemoveFlag(string alias) => _flags.RemoveAll(x => x.Alias == alias); } diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/Tree/EntityTreeItemResponseModel.cs b/src/Umbraco.Cms.Api.Management/ViewModels/Tree/EntityTreeItemResponseModel.cs index 64c08420d8..b54eda0c67 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/Tree/EntityTreeItemResponseModel.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/Tree/EntityTreeItemResponseModel.cs @@ -1,24 +1,24 @@ namespace Umbraco.Cms.Api.Management.ViewModels.Tree; -public class EntityTreeItemResponseModel : TreeItemPresentationModel, IHasSigns +public class EntityTreeItemResponseModel : TreeItemPresentationModel, IHasFlags { - private readonly List _signs = []; + private readonly List _flags = []; public Guid Id { get; set; } public ReferenceByIdModel? Parent { get; set; } - public IEnumerable Signs + public IEnumerable Flags { - get => _signs.AsEnumerable(); + get => _flags.AsEnumerable(); set { - _signs.Clear(); - _signs.AddRange(value); + _flags.Clear(); + _flags.AddRange(value); } } - public void AddSign(string alias) => _signs.Add(new SignModel { Alias = alias }); + public void AddFlag(string alias) => _flags.Add(new FlagModel { Alias = alias }); - public void RemoveSign(string alias) => _signs.RemoveAll(x => x.Alias == alias); + public void RemoveFlag(string alias) => _flags.RemoveAll(x => x.Alias == alias); } diff --git a/src/Umbraco.Core/Constants-Conventions.cs b/src/Umbraco.Core/Constants-Conventions.cs index fd57fef49a..2d21c544e5 100644 --- a/src/Umbraco.Core/Constants-Conventions.cs +++ b/src/Umbraco.Core/Constants-Conventions.cs @@ -305,12 +305,12 @@ public static partial class Constants } /// - /// Constants for relating to view model signs. + /// Constants for relating to view model flags. /// - public static class Signs + public static class Flags { /// - /// Prefix for all sign aliases. + /// Prefix for all flag aliases. /// public const string Prefix = "Umb."; } diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/HasCollectionFlagProviderTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/HasCollectionFlagProviderTests.cs new file mode 100644 index 0000000000..5310bff33c --- /dev/null +++ b/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/HasCollectionFlagProviderTests.cs @@ -0,0 +1,196 @@ +using NUnit.Framework; +using Umbraco.Cms.Api.Management.Services.Flags; +using Umbraco.Cms.Api.Management.ViewModels; +using Umbraco.Cms.Api.Management.ViewModels.Document.Collection; +using Umbraco.Cms.Api.Management.ViewModels.Document.Item; +using Umbraco.Cms.Api.Management.ViewModels.DocumentType; +using Umbraco.Cms.Api.Management.ViewModels.Media.Collection; +using Umbraco.Cms.Api.Management.ViewModels.Media.Item; +using Umbraco.Cms.Api.Management.ViewModels.MediaType; +using Umbraco.Cms.Api.Management.ViewModels.Tree; + +namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Cms.Api.Management.Services.Flags; + +[TestFixture] +internal class HasCollectionFlagProviderTests +{ + [Test] + public void HasCollectionFlagProvider_Can_Provide_Document_Tree_Flags() + { + var sut = new HasCollectionFlagProvider(); + Assert.IsTrue(sut.CanProvideFlags()); + } + + [Test] + public void HasCollectionFlagProvider_Can_Provide_Document_Collection_Flags() + { + var sut = new HasCollectionFlagProvider(); + Assert.IsTrue(sut.CanProvideFlags()); + } + + [Test] + public void HasCollectionFlagProvider_Can_Provide_Document_Item_Flags() + { + var sut = new HasCollectionFlagProvider(); + Assert.IsTrue(sut.CanProvideFlags()); + } + + [Test] + public void HasCollectionFlagProvider_Can_Provide_Media_Tree_Flags() + { + var sut = new HasCollectionFlagProvider(); + Assert.IsTrue(sut.CanProvideFlags()); + } + + [Test] + public void HasCollectionFlagProvider_Can_Provide_Media_Collection_Flags() + { + var sut = new HasCollectionFlagProvider(); + Assert.IsTrue(sut.CanProvideFlags()); + } + + [Test] + public void HasCollectionFlagProvider_Can_Provide_Media_Item_Flags() + { + var sut = new HasCollectionFlagProvider(); + Assert.IsTrue(sut.CanProvideFlags()); + } + + [Test] + public async Task HasCollectionFlagProvider_Should_Populate_Document_Tree_Flags() + { + var sut = new HasCollectionFlagProvider(); + + var viewModels = new List + { + new() + { + Id = Guid.NewGuid(), DocumentType = new DocumentTypeReferenceResponseModel() { Collection = new ReferenceByIdModel(Guid.NewGuid()) }, + }, + new() { Id = Guid.NewGuid() }, + }; + + await sut.PopulateFlagsAsync(viewModels); + + Assert.AreEqual(viewModels[0].Flags.Count(), 1); + Assert.AreEqual(viewModels[1].Flags.Count(), 0); + + var flagModel = viewModels[0].Flags.First(); + Assert.AreEqual("Umb.HasCollection", flagModel.Alias); + } + + [Test] + public async Task HasCollectionFlagProvider_Should_Populate_Document_Collection_Flags() + { + var sut = new HasCollectionFlagProvider(); + + var viewModels = new List + { + new() + { + Id = Guid.NewGuid(), DocumentType = new DocumentTypeCollectionReferenceResponseModel() { Collection = new ReferenceByIdModel(Guid.NewGuid()) }, + }, + new() { Id = Guid.NewGuid() }, + }; + + await sut.PopulateFlagsAsync(viewModels); + + Assert.AreEqual(viewModels[0].Flags.Count(), 1); + Assert.AreEqual(viewModels[1].Flags.Count(), 0); + + var flagModel = viewModels[0].Flags.First(); + Assert.AreEqual("Umb.HasCollection", flagModel.Alias); + } + + [Test] + public async Task HasCollectionFlagProvider_Should_Populate_Document_Item_Flags() + { + var sut = new HasCollectionFlagProvider(); + + var viewModels = new List + { + new() + { + Id = Guid.NewGuid(), DocumentType = new DocumentTypeReferenceResponseModel() { Collection = new ReferenceByIdModel(Guid.NewGuid()) }, + }, + new() { Id = Guid.NewGuid() }, + }; + + await sut.PopulateFlagsAsync(viewModels); + + Assert.AreEqual(viewModels[0].Flags.Count(), 1); + Assert.AreEqual(viewModels[1].Flags.Count(), 0); + + var flagModel = viewModels[0].Flags.First(); + Assert.AreEqual("Umb.HasCollection", flagModel.Alias); + } + + [Test] + public async Task HasCollectionFlagProvider_Should_Populate_Media_Tree_Flags() + { + var sut = new HasCollectionFlagProvider(); + + var viewModels = new List + { + new() + { + Id = Guid.NewGuid(), MediaType = new MediaTypeReferenceResponseModel() { Collection = new ReferenceByIdModel(Guid.NewGuid()) }, + }, + new() { Id = Guid.NewGuid() }, + }; + + await sut.PopulateFlagsAsync(viewModels); + + Assert.AreEqual(viewModels[0].Flags.Count(), 1); + Assert.AreEqual(viewModels[1].Flags.Count(), 0); + + var flagModel = viewModels[0].Flags.First(); + Assert.AreEqual("Umb.HasCollection", flagModel.Alias); + } + + [Test] + public async Task HasCollectionFlagProvider_Should_Populate_Media_Collection_Flags() + { + var sut = new HasCollectionFlagProvider(); + + var viewModels = new List + { + new() + { + Id = Guid.NewGuid(), MediaType = new MediaTypeCollectionReferenceResponseModel() { Collection = new ReferenceByIdModel(Guid.NewGuid()) }, + }, + new() { Id = Guid.NewGuid() }, + }; + + await sut.PopulateFlagsAsync(viewModels); + + Assert.AreEqual(viewModels[0].Flags.Count(), 1); + Assert.AreEqual(viewModels[1].Flags.Count(), 0); + + var flagModel = viewModels[0].Flags.First(); + Assert.AreEqual("Umb.HasCollection", flagModel.Alias); + } + + [Test] + public async Task HasCollectionFlagProvider_Should_Populate_Media_Item_Flags() + { + var sut = new HasCollectionFlagProvider(); + + var viewModels = new List + { + new() + { + Id = Guid.NewGuid(), MediaType = new MediaTypeReferenceResponseModel() { Collection = new ReferenceByIdModel(Guid.NewGuid()) }, + }, + new() { Id = Guid.NewGuid() }, + }; + + await sut.PopulateFlagsAsync(viewModels); + + Assert.AreEqual(viewModels[0].Flags.Count(), 1); + Assert.AreEqual(viewModels[1].Flags.Count(), 0); + + var flagModel = viewModels[0].Flags.First(); + Assert.AreEqual("Umb.HasCollection", flagModel.Alias); + } +} diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/HasPendingChangesFlagProviderTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/HasPendingChangesFlagProviderTests.cs new file mode 100644 index 0000000000..480da73b95 --- /dev/null +++ b/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/HasPendingChangesFlagProviderTests.cs @@ -0,0 +1,83 @@ +using NUnit.Framework; +using Umbraco.Cms.Api.Management.Services.Flags; +using Umbraco.Cms.Api.Management.ViewModels.Document; + +namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Cms.Api.Management.Services.Flags; + +[TestFixture] +internal class HasPendingChangesFlagProviderTests +{ + [Test] + public void HasPendingChangesFlagProvider_Can_Provide_Variant_Item_Flags() + { + var sut = new HasPendingChangesFlagProvider(); + Assert.IsTrue(sut.CanProvideFlags()); + } + + [Test] + public void HasPendingChangesFlagProvider_Can_Provide_Variant_Flags() + { + var sut = new HasPendingChangesFlagProvider(); + Assert.IsTrue(sut.CanProvideFlags()); + } + + [Test] + public async Task HasPendingChangesFlagProvider_Should_Populate_Variant_Item_Flags() + { + var sut = new HasPendingChangesFlagProvider(); + + var variants = new List + { + new() + { + State = DocumentVariantState.PublishedPendingChanges, + Culture = null, + Name = "Test", + }, + new() + { + State = DocumentVariantState.Published, + Culture = null, + Name = "Test2", + }, + }; + + await sut.PopulateFlagsAsync(variants); + + Assert.AreEqual(variants[0].Flags.Count(), 1); + Assert.AreEqual(variants[1].Flags.Count(), 0); + + var flagModel = variants[0].Flags.First(); + Assert.AreEqual("Umb.PendingChanges", flagModel.Alias); + } + + [Test] + public async Task HasPendingChangesFlagProvider_Should_Populate_Variant_Flags() + { + var sut = new HasPendingChangesFlagProvider(); + + var variants = new List + { + new() + { + State = DocumentVariantState.PublishedPendingChanges, + Culture = null, + Name = "Test", + }, + new() + { + State = DocumentVariantState.Published, + Culture = null, + Name = "Test2", + }, + }; + + await sut.PopulateFlagsAsync(variants); + + Assert.AreEqual(variants[0].Flags.Count(), 1); + Assert.AreEqual(variants[1].Flags.Count(), 0); + + var flagModel = variants[0].Flags.First(); + Assert.AreEqual("Umb.PendingChanges", flagModel.Alias); + } +} diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/HasScheduleSignProviderTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/HasScheduleFlagProviderTests.cs similarity index 75% rename from tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/HasScheduleSignProviderTests.cs rename to tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/HasScheduleFlagProviderTests.cs index 7292b3a9ae..9cfaa22c8c 100644 --- a/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/HasScheduleSignProviderTests.cs +++ b/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/HasScheduleFlagProviderTests.cs @@ -1,6 +1,6 @@ using Moq; using NUnit.Framework; -using Umbraco.Cms.Api.Management.Services.Signs; +using Umbraco.Cms.Api.Management.Services.Flags; using Umbraco.Cms.Api.Management.ViewModels.Content; using Umbraco.Cms.Api.Management.ViewModels.Document; using Umbraco.Cms.Api.Management.ViewModels.Document.Collection; @@ -11,43 +11,43 @@ using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.Entities; using Umbraco.Cms.Core.Services; -namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Cms.Api.Management.Services.Signs; +namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Cms.Api.Management.Services.Flags; [TestFixture] -internal class HasScheduleSignProviderTests +internal class HasScheduleFlagProviderTests { [Test] - public void HasScheduleSignProvider_Can_Provide_Document_Tree_Signs() + public void HasScheduleFlagProvider_Can_Provide_Document_Tree_Flags() { var contentServiceMock = new Mock(); var idKeyMapMock = new Mock(); - var sut = new HasScheduleSignProvider(contentServiceMock.Object, idKeyMapMock.Object); - Assert.IsTrue(sut.CanProvideSigns()); + var sut = new HasScheduleFlagProvider(contentServiceMock.Object, idKeyMapMock.Object); + Assert.IsTrue(sut.CanProvideFlags()); } [Test] - public void HasScheduleSignProvider_Can_Provide_Document_Collection_Signs() + public void HasScheduleFlagProvider_Can_Provide_Document_Collection_Flags() { var contentServiceMock = new Mock(); var idKeyMapMock = new Mock(); - var sut = new HasScheduleSignProvider(contentServiceMock.Object, idKeyMapMock.Object); - Assert.IsTrue(sut.CanProvideSigns()); + var sut = new HasScheduleFlagProvider(contentServiceMock.Object, idKeyMapMock.Object); + Assert.IsTrue(sut.CanProvideFlags()); } [Test] - public void HasScheduleSignProvider_Can_Provide_Document_Item_Signs() + public void HasScheduleFlagProvider_Can_Provide_Document_Item_Flags() { var contentServiceMock = new Mock(); var idKeyMapMock = new Mock(); - var sut = new HasScheduleSignProvider(contentServiceMock.Object, idKeyMapMock.Object); - Assert.IsTrue(sut.CanProvideSigns()); + var sut = new HasScheduleFlagProvider(contentServiceMock.Object, idKeyMapMock.Object); + Assert.IsTrue(sut.CanProvideFlags()); } [Test] - public async Task HasScheduleSignProvider_Should_Populate_Document_Tree_Signs() + public async Task HasScheduleFlagProvider_Should_Populate_Document_Tree_Flags() { var entities = new List { @@ -67,7 +67,7 @@ internal class HasScheduleSignProviderTests .Returns(CreateContentSchedules()); - var sut = new HasScheduleSignProvider(contentServiceMock.Object, idKeyMapMock.Object); + var sut = new HasScheduleFlagProvider(contentServiceMock.Object, idKeyMapMock.Object); var variant1 = new DocumentVariantItemResponseModel() { State = DocumentVariantState.Published, Name = "Test1", Culture = "en-EN" }; var variant2 = new DocumentVariantItemResponseModel() { State = DocumentVariantState.Published, Name = "Test1", Culture = "da-DA" }; @@ -78,18 +78,18 @@ internal class HasScheduleSignProviderTests new() { Id = entities[0].Key, Variants = [variant1, variant2] }, new() { Id = entities[1].Key, Variants = [variant3] }, }; - await sut.PopulateSignsAsync(viewModels); + await sut.PopulateFlagsAsync(viewModels); - Assert.AreEqual(viewModels[0].Variants.FirstOrDefault(x => x.Culture == "da-DA").Signs.Count(), 0); - Assert.AreEqual(viewModels[0].Variants.FirstOrDefault(x => x.Culture == "en-EN").Signs.Count(), 1); - Assert.AreEqual(viewModels[1].Variants.First().Signs.Count(), 1); + Assert.AreEqual(viewModels[0].Variants.FirstOrDefault(x => x.Culture == "da-DA").Flags.Count(), 0); + Assert.AreEqual(viewModels[0].Variants.FirstOrDefault(x => x.Culture == "en-EN").Flags.Count(), 1); + Assert.AreEqual(viewModels[1].Variants.First().Flags.Count(), 1); - var signModel = viewModels[0].Variants.First().Signs.First(); - Assert.AreEqual("Umb.ScheduledForPublish", signModel.Alias); + var flagModel = viewModels[0].Variants.First().Flags.First(); + Assert.AreEqual("Umb.ScheduledForPublish", flagModel.Alias); } [Test] - public async Task HasScheduleSignProvider_Should_Populate_Document_Collection_Signs() + public async Task HasScheduleFlagProvider_Should_Populate_Document_Collection_Flags() { var entities = new List { @@ -108,7 +108,7 @@ internal class HasScheduleSignProviderTests .Setup(x => x.GetContentSchedulesByIds(keys)) .Returns(CreateContentSchedules()); - var sut = new HasScheduleSignProvider(contentServiceMock.Object, idKeyMapMock.Object); + var sut = new HasScheduleFlagProvider(contentServiceMock.Object, idKeyMapMock.Object); var variant1 = new DocumentVariantResponseModel() { State = DocumentVariantState.Published, Name = "Test1", Culture = "en-EN" }; var variant2 = new DocumentVariantResponseModel() { State = DocumentVariantState.Published, Name = "Test1", Culture = "da-DA" }; @@ -119,18 +119,18 @@ internal class HasScheduleSignProviderTests new() { Id = entities[0].Key, Variants = [variant1, variant2] }, new() { Id = entities[1].Key, Variants = [variant3] }, }; - await sut.PopulateSignsAsync(viewModels); + await sut.PopulateFlagsAsync(viewModels); - Assert.AreEqual(viewModels[0].Variants.FirstOrDefault(x => x.Culture == "da-DA").Signs.Count(), 0); - Assert.AreEqual(viewModels[0].Variants.FirstOrDefault(x => x.Culture == "en-EN").Signs.Count(), 1); - Assert.AreEqual(viewModels[1].Variants.First().Signs.Count(), 1); + Assert.AreEqual(viewModels[0].Variants.FirstOrDefault(x => x.Culture == "da-DA").Flags.Count(), 0); + Assert.AreEqual(viewModels[0].Variants.FirstOrDefault(x => x.Culture == "en-EN").Flags.Count(), 1); + Assert.AreEqual(viewModels[1].Variants.First().Flags.Count(), 1); - var signModel = viewModels[0].Variants.First().Signs.First(); - Assert.AreEqual("Umb.ScheduledForPublish", signModel.Alias); + var flagModel = viewModels[0].Variants.First().Flags.First(); + Assert.AreEqual("Umb.ScheduledForPublish", flagModel.Alias); } [Test] - public async Task HasScheduleSignProvider_Should_Populate_Document_Item_Signs() + public async Task HasScheduleFlagProvider_Should_Populate_Document_Item_Flags() { var entities = new List { @@ -149,7 +149,7 @@ internal class HasScheduleSignProviderTests .Setup(x => x.GetContentSchedulesByIds(keys)) .Returns(CreateContentSchedules()); - var sut = new HasScheduleSignProvider(contentServiceMock.Object, idKeyMapMock.Object); + var sut = new HasScheduleFlagProvider(contentServiceMock.Object, idKeyMapMock.Object); var variant1 = new DocumentVariantItemResponseModel() { State = DocumentVariantState.Published, Name = "Test1", Culture = "en-EN" }; var variant2 = new DocumentVariantItemResponseModel() { State = DocumentVariantState.Published, Name = "Test1", Culture = "da-DA" }; @@ -160,14 +160,14 @@ internal class HasScheduleSignProviderTests new() { Id = entities[0].Key, Variants = [variant1, variant2] }, new() { Id = entities[1].Key, Variants = [variant3] }, }; - await sut.PopulateSignsAsync(viewModels); + await sut.PopulateFlagsAsync(viewModels); - Assert.AreEqual(viewModels[0].Variants.FirstOrDefault(x => x.Culture == "da-DA").Signs.Count(), 0); - Assert.AreEqual(viewModels[0].Variants.FirstOrDefault(x => x.Culture == "en-EN").Signs.Count(), 1); - Assert.AreEqual(viewModels[1].Variants.First().Signs.Count(), 1); + Assert.AreEqual(viewModels[0].Variants.FirstOrDefault(x => x.Culture == "da-DA").Flags.Count(), 0); + Assert.AreEqual(viewModels[0].Variants.FirstOrDefault(x => x.Culture == "en-EN").Flags.Count(), 1); + Assert.AreEqual(viewModels[1].Variants.First().Flags.Count(), 1); - var signModel = viewModels[0].Variants.First().Signs.First(); - Assert.AreEqual("Umb.ScheduledForPublish", signModel.Alias); + var flagModel = viewModels[0].Variants.First().Flags.First(); + Assert.AreEqual("Umb.ScheduledForPublish", flagModel.Alias); } private Dictionary> CreateContentSchedules() diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/IsProtectedFlagProviderTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/IsProtectedFlagProviderTests.cs new file mode 100644 index 0000000000..7c6f588d7d --- /dev/null +++ b/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Flags/IsProtectedFlagProviderTests.cs @@ -0,0 +1,92 @@ +using NUnit.Framework; +using Umbraco.Cms.Api.Management.Services.Flags; +using Umbraco.Cms.Api.Management.ViewModels.Document.Collection; +using Umbraco.Cms.Api.Management.ViewModels.Document.Item; +using Umbraco.Cms.Api.Management.ViewModels.Tree; + +namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Cms.Api.Management.Services.Flags; + +[TestFixture] +internal class IsProtectedFlagProviderTests +{ + [Test] + public void IsProtectedFlagProvider_Can_Provide_Tree_Flags() + { + var sut = new IsProtectedFlagProvider(); + Assert.IsTrue(sut.CanProvideFlags()); + } + + [Test] + public void IsProtectedFlagProvider_Can_Provide_Collection_Flags() + { + var sut = new IsProtectedFlagProvider(); + Assert.IsTrue(sut.CanProvideFlags()); + } + + [Test] + public void IsProtectedFlagProvider_Can_Provide_Plain_Flags() + { + var sut = new IsProtectedFlagProvider(); + Assert.IsTrue(sut.CanProvideFlags()); + } + + [Test] + public async Task IsProtectedFlagProvider_Should_Populate_Tree_Flags() + { + var sut = new IsProtectedFlagProvider(); + + var viewModels = new List + { + new(), + new() { IsProtected = true }, + }; + + await sut.PopulateFlagsAsync(viewModels); + + Assert.AreEqual(viewModels[0].Flags.Count(), 0); + Assert.AreEqual(viewModels[1].Flags.Count(), 1); + + var flagModel = viewModels[1].Flags.First(); + Assert.AreEqual("Umb.IsProtected", flagModel.Alias); + } + + [Test] + public async Task IsProtectedFlagProvider_Should_Populate_Collection_Flags() + { + var sut = new IsProtectedFlagProvider(); + + var viewModels = new List + { + new(), + new() { IsProtected = true }, + }; + + await sut.PopulateFlagsAsync(viewModels); + + Assert.AreEqual(viewModels[0].Flags.Count(), 0); + Assert.AreEqual(viewModels[1].Flags.Count(), 1); + + var flagModel = viewModels[1].Flags.First(); + Assert.AreEqual("Umb.IsProtected", flagModel.Alias); + } + + [Test] + public async Task IsProtectedFlagProvider_Should_Populate_Plain_Flags() + { + var sut = new IsProtectedFlagProvider(); + + var viewModels = new List + { + new(), + new() { IsProtected = true }, + }; + + await sut.PopulateFlagsAsync(viewModels); + + Assert.AreEqual(viewModels[0].Flags.Count(), 0); + Assert.AreEqual(viewModels[1].Flags.Count(), 1); + + var flagModel = viewModels[1].Flags.First(); + Assert.AreEqual("Umb.IsProtected", flagModel.Alias); + } +} diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/HasCollectionSignProviderTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/HasCollectionSignProviderTests.cs deleted file mode 100644 index 8c9a4cb3e3..0000000000 --- a/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/HasCollectionSignProviderTests.cs +++ /dev/null @@ -1,196 +0,0 @@ -using NUnit.Framework; -using Umbraco.Cms.Api.Management.Services.Signs; -using Umbraco.Cms.Api.Management.ViewModels; -using Umbraco.Cms.Api.Management.ViewModels.Document.Collection; -using Umbraco.Cms.Api.Management.ViewModels.Document.Item; -using Umbraco.Cms.Api.Management.ViewModels.DocumentType; -using Umbraco.Cms.Api.Management.ViewModels.Media.Collection; -using Umbraco.Cms.Api.Management.ViewModels.Media.Item; -using Umbraco.Cms.Api.Management.ViewModels.MediaType; -using Umbraco.Cms.Api.Management.ViewModels.Tree; - -namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Cms.Api.Management.Services.Signs; - -[TestFixture] -internal class HasCollectionSignProviderTests -{ - [Test] - public void HasCollectionSignProvider_Can_Provide_Document_Tree_Signs() - { - var sut = new HasCollectionSignProvider(); - Assert.IsTrue(sut.CanProvideSigns()); - } - - [Test] - public void HasCollectionSignProvider_Can_Provide_Document_Collection_Signs() - { - var sut = new HasCollectionSignProvider(); - Assert.IsTrue(sut.CanProvideSigns()); - } - - [Test] - public void HasCollectionSignProvider_Can_Provide_Document_Item_Signs() - { - var sut = new HasCollectionSignProvider(); - Assert.IsTrue(sut.CanProvideSigns()); - } - - [Test] - public void HasCollectionSignProvider_Can_Provide_Media_Tree_Signs() - { - var sut = new HasCollectionSignProvider(); - Assert.IsTrue(sut.CanProvideSigns()); - } - - [Test] - public void HasCollectionSignProvider_Can_Provide_Media_Collection_Signs() - { - var sut = new HasCollectionSignProvider(); - Assert.IsTrue(sut.CanProvideSigns()); - } - - [Test] - public void HasCollectionSignProvider_Can_Provide_Media_Item_Signs() - { - var sut = new HasCollectionSignProvider(); - Assert.IsTrue(sut.CanProvideSigns()); - } - - [Test] - public async Task HasCollectionSignProvider_Should_Populate_Document_Tree_Signs() - { - var sut = new HasCollectionSignProvider(); - - var viewModels = new List - { - new() - { - Id = Guid.NewGuid(), DocumentType = new DocumentTypeReferenceResponseModel() { Collection = new ReferenceByIdModel(Guid.NewGuid()) }, - }, - new() { Id = Guid.NewGuid() }, - }; - - await sut.PopulateSignsAsync(viewModels); - - Assert.AreEqual(viewModels[0].Signs.Count(), 1); - Assert.AreEqual(viewModels[1].Signs.Count(), 0); - - var signModel = viewModels[0].Signs.First(); - Assert.AreEqual("Umb.HasCollection", signModel.Alias); - } - - [Test] - public async Task HasCollectionSignProvider_Should_Populate_Document_Collection_Signs() - { - var sut = new HasCollectionSignProvider(); - - var viewModels = new List - { - new() - { - Id = Guid.NewGuid(), DocumentType = new DocumentTypeCollectionReferenceResponseModel() { Collection = new ReferenceByIdModel(Guid.NewGuid()) }, - }, - new() { Id = Guid.NewGuid() }, - }; - - await sut.PopulateSignsAsync(viewModels); - - Assert.AreEqual(viewModels[0].Signs.Count(), 1); - Assert.AreEqual(viewModels[1].Signs.Count(), 0); - - var signModel = viewModels[0].Signs.First(); - Assert.AreEqual("Umb.HasCollection", signModel.Alias); - } - - [Test] - public async Task HasCollectionSignProvider_Should_Populate_Document_Item_Signs() - { - var sut = new HasCollectionSignProvider(); - - var viewModels = new List - { - new() - { - Id = Guid.NewGuid(), DocumentType = new DocumentTypeReferenceResponseModel() { Collection = new ReferenceByIdModel(Guid.NewGuid()) }, - }, - new() { Id = Guid.NewGuid() }, - }; - - await sut.PopulateSignsAsync(viewModels); - - Assert.AreEqual(viewModels[0].Signs.Count(), 1); - Assert.AreEqual(viewModels[1].Signs.Count(), 0); - - var signModel = viewModels[0].Signs.First(); - Assert.AreEqual("Umb.HasCollection", signModel.Alias); - } - - [Test] - public async Task HasCollectionSignProvider_Should_Populate_Media_Tree_Signs() - { - var sut = new HasCollectionSignProvider(); - - var viewModels = new List - { - new() - { - Id = Guid.NewGuid(), MediaType = new MediaTypeReferenceResponseModel() { Collection = new ReferenceByIdModel(Guid.NewGuid()) }, - }, - new() { Id = Guid.NewGuid() }, - }; - - await sut.PopulateSignsAsync(viewModels); - - Assert.AreEqual(viewModels[0].Signs.Count(), 1); - Assert.AreEqual(viewModels[1].Signs.Count(), 0); - - var signModel = viewModels[0].Signs.First(); - Assert.AreEqual("Umb.HasCollection", signModel.Alias); - } - - [Test] - public async Task HasCollectionSignProvider_Should_Populate_Media_Collection_Signs() - { - var sut = new HasCollectionSignProvider(); - - var viewModels = new List - { - new() - { - Id = Guid.NewGuid(), MediaType = new MediaTypeCollectionReferenceResponseModel() { Collection = new ReferenceByIdModel(Guid.NewGuid()) }, - }, - new() { Id = Guid.NewGuid() }, - }; - - await sut.PopulateSignsAsync(viewModels); - - Assert.AreEqual(viewModels[0].Signs.Count(), 1); - Assert.AreEqual(viewModels[1].Signs.Count(), 0); - - var signModel = viewModels[0].Signs.First(); - Assert.AreEqual("Umb.HasCollection", signModel.Alias); - } - - [Test] - public async Task HasCollectionSignProvider_Should_Populate_Media_Item_Signs() - { - var sut = new HasCollectionSignProvider(); - - var viewModels = new List - { - new() - { - Id = Guid.NewGuid(), MediaType = new MediaTypeReferenceResponseModel() { Collection = new ReferenceByIdModel(Guid.NewGuid()) }, - }, - new() { Id = Guid.NewGuid() }, - }; - - await sut.PopulateSignsAsync(viewModels); - - Assert.AreEqual(viewModels[0].Signs.Count(), 1); - Assert.AreEqual(viewModels[1].Signs.Count(), 0); - - var signModel = viewModels[0].Signs.First(); - Assert.AreEqual("Umb.HasCollection", signModel.Alias); - } -} diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/HasPendingChangesSignProviderTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/HasPendingChangesSignProviderTests.cs deleted file mode 100644 index 58dcb07c32..0000000000 --- a/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/HasPendingChangesSignProviderTests.cs +++ /dev/null @@ -1,86 +0,0 @@ -using NUnit.Framework; -using Umbraco.Cms.Api.Management.Services.Signs; -using Umbraco.Cms.Api.Management.ViewModels.Document; -using Umbraco.Cms.Api.Management.ViewModels.Document.Collection; -using Umbraco.Cms.Api.Management.ViewModels.Document.Item; -using Umbraco.Cms.Api.Management.ViewModels.Tree; - -namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Cms.Api.Management.Services.Signs; - -[TestFixture] -internal class HasPendingChangesSignProviderTests -{ - [Test] - public void HasPendingChangesSignProvider_Can_Provide_Variant_Item_Signs() - { - var sut = new HasPendingChangesSignProvider(); - Assert.IsTrue(sut.CanProvideSigns()); - } - - [Test] - public void HasPendingChangesSignProvider_Can_Provide_Variant_Signs() - { - var sut = new HasPendingChangesSignProvider(); - Assert.IsTrue(sut.CanProvideSigns()); - } - - [Test] - public async Task HasPendingChangesSignProvider_Should_Populate_Variant_Item_Signs() - { - var sut = new HasPendingChangesSignProvider(); - - var variants = new List - { - new() - { - State = DocumentVariantState.PublishedPendingChanges, - Culture = null, - Name = "Test", - }, - new() - { - State = DocumentVariantState.Published, - Culture = null, - Name = "Test2", - }, - }; - - await sut.PopulateSignsAsync(variants); - - Assert.AreEqual(variants[0].Signs.Count(), 1); - Assert.AreEqual(variants[1].Signs.Count(), 0); - - var signModel = variants[0].Signs.First(); - Assert.AreEqual("Umb.PendingChanges", signModel.Alias); - } - - [Test] - public async Task HasPendingChangesSignProvider_Should_Populate_Variant_Signs() - { - var sut = new HasPendingChangesSignProvider(); - - var variants = new List - { - new() - { - State = DocumentVariantState.PublishedPendingChanges, - Culture = null, - Name = "Test", - }, - new() - { - State = DocumentVariantState.Published, - Culture = null, - Name = "Test2", - }, - }; - - await sut.PopulateSignsAsync(variants); - - Assert.AreEqual(variants[0].Signs.Count(), 1); - Assert.AreEqual(variants[1].Signs.Count(), 0); - - var signModel = variants[0].Signs.First(); - Assert.AreEqual("Umb.PendingChanges", signModel.Alias); - } -} diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/IsProtectedSignProviderTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/IsProtectedSignProviderTests.cs deleted file mode 100644 index c15fec787c..0000000000 --- a/tests/Umbraco.Tests.UnitTests/Umbraco.Cms.Api.Management/Services/Signs/IsProtectedSignProviderTests.cs +++ /dev/null @@ -1,92 +0,0 @@ -using NUnit.Framework; -using Umbraco.Cms.Api.Management.Services.Signs; -using Umbraco.Cms.Api.Management.ViewModels.Document.Collection; -using Umbraco.Cms.Api.Management.ViewModels.Document.Item; -using Umbraco.Cms.Api.Management.ViewModels.Tree; - -namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Cms.Api.Management.Services.Signs; - -[TestFixture] -internal class IsProtectedSignProviderTests -{ - [Test] - public void IsProtectedSignProvider_Can_Provide_Tree_Signs() - { - var sut = new IsProtectedSignProvider(); - Assert.IsTrue(sut.CanProvideSigns()); - } - - [Test] - public void IsProtectedSignProvider_Can_Provide_Collection_Signs() - { - var sut = new IsProtectedSignProvider(); - Assert.IsTrue(sut.CanProvideSigns()); - } - - [Test] - public void IsProtectedSignProvider_Can_Provide_Plain_Signs() - { - var sut = new IsProtectedSignProvider(); - Assert.IsTrue(sut.CanProvideSigns()); - } - - [Test] - public async Task IsProtectedSignProvider_Should_Populate_Tree_Signs() - { - var sut = new IsProtectedSignProvider(); - - var viewModels = new List - { - new(), - new() { IsProtected = true }, - }; - - await sut.PopulateSignsAsync(viewModels); - - Assert.AreEqual(viewModels[0].Signs.Count(), 0); - Assert.AreEqual(viewModels[1].Signs.Count(), 1); - - var signModel = viewModels[1].Signs.First(); - Assert.AreEqual("Umb.IsProtected", signModel.Alias); - } - - [Test] - public async Task IsProtectedSignProvider_Should_Populate_Collection_Signs() - { - var sut = new IsProtectedSignProvider(); - - var viewModels = new List - { - new(), - new() { IsProtected = true }, - }; - - await sut.PopulateSignsAsync(viewModels); - - Assert.AreEqual(viewModels[0].Signs.Count(), 0); - Assert.AreEqual(viewModels[1].Signs.Count(), 1); - - var signModel = viewModels[1].Signs.First(); - Assert.AreEqual("Umb.IsProtected", signModel.Alias); - } - - [Test] - public async Task IsProtectedSignProvider_Should_Populate_Plain_Signs() - { - var sut = new IsProtectedSignProvider(); - - var viewModels = new List - { - new(), - new() { IsProtected = true }, - }; - - await sut.PopulateSignsAsync(viewModels); - - Assert.AreEqual(viewModels[0].Signs.Count(), 0); - Assert.AreEqual(viewModels[1].Signs.Count(), 1); - - var signModel = viewModels[1].Signs.First(); - Assert.AreEqual("Umb.IsProtected", signModel.Alias); - } -}