From 6fb2550690f55efa0064f4de6e0039d33234370c Mon Sep 17 00:00:00 2001 From: Sven Geusens Date: Thu, 12 Oct 2023 07:00:06 +0200 Subject: [PATCH] V14/feature/response model trash tracking (#14948) * Clearify UmbracoMapper functionality trough comment * Add trash tracking to doc/media(item) response models * Add mapping for ITracksTrashing * Removed uneccesary abstraction and seperation * Cleanup after removing abstractions * Cleanup unused DI item * Clean up and formatting --------- Co-authored-by: Sven Geusens Co-authored-by: kjac --- .../Factories/DocumentPresentationFactory.cs | 2 +- .../Mapping/Document/DocumentMapDefinition.cs | 1 + .../Mapping/Items/ItemTypeMapDefinition.cs | 1 + .../Mapping/Media/MediaMapDefinition.cs | 1 + .../ViewModels/Document/DocumentResponseModel.cs | 2 ++ .../ViewModels/Document/Item/DocumentItemResponseModel.cs | 2 ++ .../ViewModels/Media/MediaResponseModel.cs | 2 ++ .../ViewModels/Media/item/MediaItemResponseModel.cs | 2 ++ src/Umbraco.Core/Mapping/IUmbracoMapper.cs | 2 +- 9 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Cms.Api.Management/Factories/DocumentPresentationFactory.cs b/src/Umbraco.Cms.Api.Management/Factories/DocumentPresentationFactory.cs index 21a1494c9c..be11fadaf5 100644 --- a/src/Umbraco.Cms.Api.Management/Factories/DocumentPresentationFactory.cs +++ b/src/Umbraco.Cms.Api.Management/Factories/DocumentPresentationFactory.cs @@ -1,7 +1,6 @@ using Umbraco.Cms.Api.Management.ViewModels.Document; using Umbraco.Cms.Api.Management.ViewModels.Document.Item; using Umbraco.Cms.Api.Management.ViewModels.DocumentBlueprint.Item; -using Umbraco.Cms.Core; using Umbraco.Cms.Core.Mapping; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.Entities; @@ -49,6 +48,7 @@ public class DocumentPresentationFactory : IDocumentPresentationFactory Name = entity.Name ?? string.Empty, Id = entity.Key, Icon = entity.ContentTypeIcon, + IsTrashed = entity.Trashed }; IContentType? contentType = _contentTypeService.Get(entity.ContentTypeAlias); diff --git a/src/Umbraco.Cms.Api.Management/Mapping/Document/DocumentMapDefinition.cs b/src/Umbraco.Cms.Api.Management/Mapping/Document/DocumentMapDefinition.cs index 0bfd701765..8f84060fb5 100644 --- a/src/Umbraco.Cms.Api.Management/Mapping/Document/DocumentMapDefinition.cs +++ b/src/Umbraco.Cms.Api.Management/Mapping/Document/DocumentMapDefinition.cs @@ -32,6 +32,7 @@ public class DocumentMapDefinition : ContentMapDefinition Urls { get; set; } = Array.Empty(); public Guid? TemplateId { get; set; } + + public bool IsTrashed { get; set; } } diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/Document/Item/DocumentItemResponseModel.cs b/src/Umbraco.Cms.Api.Management/ViewModels/Document/Item/DocumentItemResponseModel.cs index 477c3503bd..10dab656be 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/Document/Item/DocumentItemResponseModel.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/Document/Item/DocumentItemResponseModel.cs @@ -7,4 +7,6 @@ public class DocumentItemResponseModel : ItemResponseModelBase public string? Icon { get; set; } public Guid ContentTypeId { get; set; } + + public bool IsTrashed { get; set; } } diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/Media/MediaResponseModel.cs b/src/Umbraco.Cms.Api.Management/ViewModels/Media/MediaResponseModel.cs index 384e4e2895..e1f044e561 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/Media/MediaResponseModel.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/Media/MediaResponseModel.cs @@ -5,4 +5,6 @@ namespace Umbraco.Cms.Api.Management.ViewModels.Media; public class MediaResponseModel : ContentResponseModelBase { public IEnumerable Urls { get; set; } = Array.Empty(); + + public bool IsTrashed { get; set; } } diff --git a/src/Umbraco.Cms.Api.Management/ViewModels/Media/item/MediaItemResponseModel.cs b/src/Umbraco.Cms.Api.Management/ViewModels/Media/item/MediaItemResponseModel.cs index d638c3216c..6775bc1a91 100644 --- a/src/Umbraco.Cms.Api.Management/ViewModels/Media/item/MediaItemResponseModel.cs +++ b/src/Umbraco.Cms.Api.Management/ViewModels/Media/item/MediaItemResponseModel.cs @@ -5,4 +5,6 @@ namespace Umbraco.Cms.Api.Management.ViewModels.Media.Item; public class MediaItemResponseModel : ItemResponseModelBase { public string? Icon { get; set; } + + public bool IsTrashed { get; set; } } diff --git a/src/Umbraco.Core/Mapping/IUmbracoMapper.cs b/src/Umbraco.Core/Mapping/IUmbracoMapper.cs index 5cbee7164c..4cfd976a12 100644 --- a/src/Umbraco.Core/Mapping/IUmbracoMapper.cs +++ b/src/Umbraco.Core/Mapping/IUmbracoMapper.cs @@ -30,7 +30,7 @@ public interface IUmbracoMapper /// /// The source type. /// The target type. - /// A constructor method. + /// A constructor method. Will not be used if the mapping call receives a Target object /// A mapping method. void Define( Func ctor,