Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add EditorAlias to content value outputs #17032

Merged
merged 1 commit into from
Sep 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ namespace Umbraco.Cms.Api.Management.Controllers.Content;
public abstract class ContentCollectionControllerBase<TContent, TCollectionResponseModel, TValueResponseModelBase, TVariantResponseModel> : ManagementApiControllerBase
where TContent : class, IContentBase
where TCollectionResponseModel : ContentResponseModelBase<TValueResponseModelBase, TVariantResponseModel>
where TValueResponseModelBase : ValueModelBase
where TValueResponseModelBase : ValueResponseModelBase
where TVariantResponseModel : VariantResponseModelBase
{
private readonly IUmbracoMapper _mapper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace Umbraco.Cms.Api.Management.Controllers.Document.Collection;
[VersionedApiBackOfficeRoute($"{Constants.Web.RoutePath.Collection}/{Constants.UdiEntityType.Document}")]
[ApiExplorerSettings(GroupName = nameof(Constants.UdiEntityType.Document))]
[Authorize(Policy = AuthorizationPolicies.TreeAccessDocuments)]
public abstract class DocumentCollectionControllerBase : ContentCollectionControllerBase<IContent, DocumentCollectionResponseModel, DocumentValueModel, DocumentVariantResponseModel>
public abstract class DocumentCollectionControllerBase : ContentCollectionControllerBase<IContent, DocumentCollectionResponseModel, DocumentValueResponseModel, DocumentVariantResponseModel>
{
protected DocumentCollectionControllerBase(IUmbracoMapper mapper)
: base(mapper)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace Umbraco.Cms.Api.Management.Controllers.Media.Collection;
[VersionedApiBackOfficeRoute($"{Constants.Web.RoutePath.Collection}/{Constants.UdiEntityType.Media}")]
[ApiExplorerSettings(GroupName = nameof(Constants.UdiEntityType.Media))]
[Authorize(Policy = AuthorizationPolicies.SectionAccessMedia)]
public abstract class MediaCollectionControllerBase : ContentCollectionControllerBase<IMedia, MediaCollectionResponseModel, MediaValueModel, MediaVariantResponseModel>
public abstract class MediaCollectionControllerBase : ContentCollectionControllerBase<IMedia, MediaCollectionResponseModel, MediaValueResponseModel, MediaVariantResponseModel>
{
protected MediaCollectionControllerBase(IUmbracoMapper mapper)
: base(mapper)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ namespace Umbraco.Cms.Api.Management.Mapping.Content;

public abstract class ContentMapDefinition<TContent, TValueViewModel, TVariantViewModel>
where TContent : IContentBase
where TValueViewModel : ValueModelBase, new()
where TValueViewModel : ValueResponseModelBase, new()
where TVariantViewModel : VariantResponseModelBase, new()
{
private readonly PropertyEditorCollection _propertyEditorCollection;
Expand Down Expand Up @@ -36,7 +36,8 @@ protected IEnumerable<TValueViewModel> MapValueViewModels(IEnumerable<IProperty>
Culture = propertyValue.Culture,
Segment = propertyValue.Segment,
Alias = property.Alias,
Value = propertyEditor.GetValueEditor().ToEditor(property, propertyValue.Culture, propertyValue.Segment)
Value = propertyEditor.GetValueEditor().ToEditor(property, propertyValue.Culture, propertyValue.Segment),
EditorAlias = propertyEditor.Alias
};
additionalPropertyMapping?.Invoke(propertyEditor, variantViewModel);
return variantViewModel;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

namespace Umbraco.Cms.Api.Management.Mapping.Document;

public class DocumentMapDefinition : ContentMapDefinition<IContent, DocumentValueModel, DocumentVariantResponseModel>, IMapDefinition
public class DocumentMapDefinition : ContentMapDefinition<IContent, DocumentValueResponseModel, DocumentVariantResponseModel>, IMapDefinition
{
private readonly CommonMapper _commonMapper;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

namespace Umbraco.Cms.Api.Management.Mapping.Document;

public class DocumentVersionMapDefinition : ContentMapDefinition<IContent, DocumentValueModel, DocumentVariantResponseModel>, IMapDefinition
public class DocumentVersionMapDefinition : ContentMapDefinition<IContent, DocumentValueResponseModel, DocumentVariantResponseModel>, IMapDefinition
{
public DocumentVersionMapDefinition(PropertyEditorCollection propertyEditorCollection)
: base(propertyEditorCollection)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

namespace Umbraco.Cms.Api.Management.Mapping.Media;

public class MediaMapDefinition : ContentMapDefinition<IMedia, MediaValueModel, MediaVariantResponseModel>, IMapDefinition
public class MediaMapDefinition : ContentMapDefinition<IMedia, MediaValueResponseModel, MediaVariantResponseModel>, IMapDefinition
{
private readonly CommonMapper _commonMapper;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

namespace Umbraco.Cms.Api.Management.Mapping.Member;

public class MemberMapDefinition : ContentMapDefinition<IMember, MemberValueModel, MemberVariantResponseModel>, IMapDefinition
public class MemberMapDefinition : ContentMapDefinition<IMember, MemberValueResponseModel, MemberVariantResponseModel>, IMapDefinition
{
public MemberMapDefinition(PropertyEditorCollection propertyEditorCollection)
: base(propertyEditorCollection)
Expand Down
101 changes: 94 additions & 7 deletions src/Umbraco.Cms.Api.Management/OpenApi.json
Original file line number Diff line number Diff line change
Expand Up @@ -36314,7 +36314,7 @@
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentValueModel"
"$ref": "#/components/schemas/DocumentValueResponseModel"
}
]
}
Expand Down Expand Up @@ -36399,7 +36399,7 @@
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentValueModel"
"$ref": "#/components/schemas/DocumentValueResponseModel"
}
]
}
Expand Down Expand Up @@ -36652,7 +36652,7 @@
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentValueModel"
"$ref": "#/components/schemas/DocumentValueResponseModel"
}
]
}
Expand Down Expand Up @@ -37334,6 +37334,35 @@
},
"additionalProperties": false
},
"DocumentValueResponseModel": {
"required": [
"alias",
"editorAlias"
],
"type": "object",
"properties": {
"culture": {
"type": "string",
"nullable": true
},
"segment": {
"type": "string",
"nullable": true
},
"alias": {
"minLength": 1,
"type": "string"
},
"value": {
"nullable": true
},
"editorAlias": {
"minLength": 1,
"type": "string"
}
},
"additionalProperties": false
},
"DocumentVariantItemResponseModel": {
"required": [
"name",
Expand Down Expand Up @@ -37492,7 +37521,7 @@
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentValueModel"
"$ref": "#/components/schemas/DocumentValueResponseModel"
}
]
}
Expand Down Expand Up @@ -38534,7 +38563,7 @@
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/MediaValueModel"
"$ref": "#/components/schemas/MediaValueResponseModel"
}
]
}
Expand Down Expand Up @@ -38717,7 +38746,7 @@
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/MediaValueModel"
"$ref": "#/components/schemas/MediaValueResponseModel"
}
]
}
Expand Down Expand Up @@ -39305,6 +39334,35 @@
},
"additionalProperties": false
},
"MediaValueResponseModel": {
"required": [
"alias",
"editorAlias"
],
"type": "object",
"properties": {
"culture": {
"type": "string",
"nullable": true
},
"segment": {
"type": "string",
"nullable": true
},
"alias": {
"minLength": 1,
"type": "string"
},
"value": {
"nullable": true
},
"editorAlias": {
"minLength": 1,
"type": "string"
}
},
"additionalProperties": false
},
"MediaVariantRequestModel": {
"required": [
"name"
Expand Down Expand Up @@ -39473,7 +39531,7 @@
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/MemberValueModel"
"$ref": "#/components/schemas/MemberValueResponseModel"
}
]
}
Expand Down Expand Up @@ -39958,6 +40016,35 @@
},
"additionalProperties": false
},
"MemberValueResponseModel": {
"required": [
"alias",
"editorAlias"
],
"type": "object",
"properties": {
"culture": {
"type": "string",
"nullable": true
},
"segment": {
"type": "string",
"nullable": true
},
"alias": {
"minLength": 1,
"type": "string"
},
"value": {
"nullable": true
},
"editorAlias": {
"minLength": 1,
"type": "string"
}
},
"additionalProperties": false
},
"MemberVariantRequestModel": {
"required": [
"name"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace Umbraco.Cms.Api.Management.ViewModels.Content;

public abstract class ContentCollectionResponseModelBase<TValueResponseModelBase, TVariantResponseModel>
: ContentResponseModelBase<TValueResponseModelBase, TVariantResponseModel>
where TValueResponseModelBase : ValueModelBase
where TValueResponseModelBase : ValueResponseModelBase
where TVariantResponseModel : VariantResponseModelBase
{
public string? Creator { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

namespace Umbraco.Cms.Api.Management.ViewModels.Document.Collection;

public class DocumentCollectionResponseModel : ContentCollectionResponseModelBase<DocumentValueModel, DocumentVariantResponseModel>
public class DocumentCollectionResponseModel : ContentCollectionResponseModelBase<DocumentValueResponseModel, DocumentVariantResponseModel>
{
public DocumentTypeCollectionReferenceResponseModel DocumentType { get; set; } = new();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
namespace Umbraco.Cms.Api.Management.ViewModels.Document;

public class DocumentResponseModel : DocumentResponseModelBase<DocumentValueModel, DocumentVariantResponseModel>
public class DocumentResponseModel : DocumentResponseModelBase<DocumentValueResponseModel, DocumentVariantResponseModel>
{
public IEnumerable<DocumentUrlInfo> Urls { get; set; } = Enumerable.Empty<DocumentUrlInfo>();

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
using Umbraco.Cms.Core.Models.ContentEditing;

namespace Umbraco.Cms.Api.Management.ViewModels.Document;

public class DocumentValueResponseModel : ValueResponseModelBase
{
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
namespace Umbraco.Cms.Api.Management.ViewModels.Document;

public class DocumentVersionResponseModel : DocumentResponseModelBase<DocumentValueModel, DocumentVariantResponseModel>
public class DocumentVersionResponseModel : DocumentResponseModelBase<DocumentValueResponseModel, DocumentVariantResponseModel>
{
public ReferenceByIdModel? Document { get; set; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

namespace Umbraco.Cms.Api.Management.ViewModels.DocumentBlueprint;

public class DocumentBlueprintResponseModel : DocumentResponseModelBase<DocumentValueModel, DocumentVariantResponseModel>
public class DocumentBlueprintResponseModel : DocumentResponseModelBase<DocumentValueResponseModel, DocumentVariantResponseModel>
{
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

namespace Umbraco.Cms.Api.Management.ViewModels.Media.Collection;

public class MediaCollectionResponseModel : ContentCollectionResponseModelBase<MediaValueModel, MediaVariantResponseModel>
public class MediaCollectionResponseModel : ContentCollectionResponseModelBase<MediaValueResponseModel, MediaVariantResponseModel>
{
public MediaTypeCollectionReferenceResponseModel MediaType { get; set; } = new();
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

namespace Umbraco.Cms.Api.Management.ViewModels.Media;

public class MediaResponseModel : ContentResponseModelBase<MediaValueModel, MediaVariantResponseModel>
public class MediaResponseModel : ContentResponseModelBase<MediaValueResponseModel, MediaVariantResponseModel>
{
public IEnumerable<MediaUrlInfo> Urls { get; set; } = Enumerable.Empty<MediaUrlInfo>();

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
using Umbraco.Cms.Core.Models.ContentEditing;

namespace Umbraco.Cms.Api.Management.ViewModels.Media;

public class MediaValueResponseModel : ValueResponseModelBase
{
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace Umbraco.Cms.Api.Management.ViewModels.Member;

public class MemberResponseModel : ContentResponseModelBase<MemberValueModel, MemberVariantResponseModel>
public class MemberResponseModel : ContentResponseModelBase<MemberValueResponseModel, MemberVariantResponseModel>
{
public string Email { get; set; } = string.Empty;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
using Umbraco.Cms.Core.Models.ContentEditing;

namespace Umbraco.Cms.Api.Management.ViewModels.Member;

public class MemberValueResponseModel : ValueResponseModelBase
{
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using System.ComponentModel.DataAnnotations;

namespace Umbraco.Cms.Core.Models.ContentEditing;

public abstract class ValueResponseModelBase : ValueModelBase
{
[Required]
public string EditorAlias { get; set; } = string.Empty;
}
Loading