From e6470a9ff7c09c04f91e9e78c633ec023e25212e Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Thu, 27 May 2021 21:35:44 +0200 Subject: [PATCH] Just cleanup. --- .../Apps/AppSettings.cs | 2 -- .../Contents/ContentEntity.cs | 4 +-- .../Contents/IEnrichedContentEntity.cs | 2 -- .../Queries/Steps/EnrichWithSchema.cs | 2 -- .../Controllers/Apps/Models/AppLanguageDto.cs | 4 +-- .../Apps/Models/AppLanguagesDto.cs | 5 ++-- .../Controllers/Apps/Models/AppSettingsDto.cs | 20 +++++++------- .../Api/Controllers/Apps/Models/ClientDto.cs | 4 +-- .../Api/Controllers/Apps/Models/ClientsDto.cs | 17 +++++------- .../Controllers/Apps/Models/ContributorDto.cs | 6 ++--- .../Apps/Models/ContributorsDto.cs | 27 +++++++++---------- .../Api/Controllers/Apps/Models/EditorDto.cs | 12 +++++++++ .../Api/Controllers/Apps/Models/PatternDto.cs | 21 ++++++++++----- .../Api/Controllers/Apps/Models/RoleDto.cs | 2 +- .../Api/Controllers/Apps/Models/RolesDto.cs | 2 +- .../Apps/Models/UpdateAppSettingsDto.cs | 20 +++++++------- .../Apps/Models/UpdateWorkflowDto.cs | 2 +- .../Controllers/Apps/Models/WorkflowDto.cs | 2 +- .../Apps/Models/WorkflowStepDto.cs | 4 +-- .../Apps/Models/WorkflowTransitionDto.cs | 4 +-- .../Controllers/Apps/Models/WorkflowsDto.cs | 2 +- .../Controllers/Contents/Models/ContentDto.cs | 13 +++++++-- .../Contents/Queries/EnrichWithSchemaTests.cs | 1 - 23 files changed, 98 insertions(+), 80 deletions(-) diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Apps/AppSettings.cs b/backend/src/Squidex.Domain.Apps.Core.Model/Apps/AppSettings.cs index 5e8144472..6eff41ddb 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Model/Apps/AppSettings.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Model/Apps/AppSettings.cs @@ -20,7 +20,5 @@ namespace Squidex.Domain.Apps.Core.Apps public bool HideScheduler { get; init; } public bool HideDateTimeModeButton { get; init; } - - public bool HideDateTimeQuickButtons { get; init; } } } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/ContentEntity.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/ContentEntity.cs index 08f469141..2129c5197 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/ContentEntity.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/ContentEntity.cs @@ -46,8 +46,6 @@ namespace Squidex.Domain.Apps.Entities.Contents public bool IsSingleton { get; set; } - public string SchemaName { get; set; } - public string SchemaDisplayName { get; set; } public string StatusColor { get; set; } @@ -63,4 +61,4 @@ namespace Squidex.Domain.Apps.Entities.Contents get => DomainId.Combine(AppId, Id); } } -} \ No newline at end of file +} diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/IEnrichedContentEntity.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/IEnrichedContentEntity.cs index 51bd57dae..60eb397bd 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/IEnrichedContentEntity.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/IEnrichedContentEntity.cs @@ -22,8 +22,6 @@ namespace Squidex.Domain.Apps.Entities.Contents string? ScheduledStatusColor { get; } - string SchemaName { get; } - string SchemaDisplayName { get; } RootField[]? ReferenceFields { get; } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/EnrichWithSchema.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/EnrichWithSchema.cs index 9d40e40b7..609b8bae5 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/EnrichWithSchema.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/EnrichWithSchema.cs @@ -24,14 +24,12 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries.Steps var schema = await schemas(group.Key); - var schemaName = schema.SchemaDef.Name; var schemaDisplayName = schema.SchemaDef.DisplayNameUnchanged(); foreach (var content in group) { content.IsSingleton = schema.SchemaDef.Type == SchemaType.Singleton; - content.SchemaName = schemaName; content.SchemaDisplayName = schemaDisplayName; } diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppLanguageDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppLanguageDto.cs index bb2105947..ab269729a 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppLanguageDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppLanguageDto.cs @@ -58,9 +58,9 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models return result; } - public AppLanguageDto WithLinks(Resources resources, IAppEntity app) + public AppLanguageDto CreateLinks(Resources resources, IAppEntity app) { - var values = new { app = app.Name, language = Iso2Code }; + var values = new { app = resources.App, language = Iso2Code }; if (!IsMaster) { diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppLanguagesDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppLanguagesDto.cs index de4035157..69e3fa3e4 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppLanguagesDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppLanguagesDto.cs @@ -28,8 +28,9 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models { Items = config.Languages .Select(x => AppLanguageDto.FromLanguage(x.Key, x.Value, config)) - .Select(x => x.WithLinks(resources, app)) - .OrderByDescending(x => x.IsMaster).ThenBy(x => x.Iso2Code) + .Select(x => x.CreateLinks(resources, app)) + .OrderByDescending(x => x.IsMaster) + .ThenBy(x => x.Iso2Code) .ToArray() }; diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppSettingsDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppSettingsDto.cs index f27ea3a25..9a29b20d4 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppSettingsDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppSettingsDto.cs @@ -5,10 +5,8 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using System.Collections.Generic; using System.Linq; using Squidex.Domain.Apps.Entities.Apps; -using Squidex.Infrastructure.Reflection; using Squidex.Infrastructure.Validation; using Squidex.Web; @@ -20,19 +18,24 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models /// The configured app patterns. /// [LocalizedRequired] - public List Patterns { get; set; } + public PatternDto[] Patterns { get; set; } /// /// The configured UI editors. /// [LocalizedRequired] - public List Editors { get; set; } + public EditorDto[] Editors { get; set; } /// /// Hide the scheduler for content items. /// public bool HideScheduler { get; set; } + /// + /// Hide the datetime mode button. + /// + public bool HideDateTimeModeButton { get; set; } + /// /// The version of the app. /// @@ -44,13 +47,10 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models var result = new AppSettingsDto { + Editors = settings.Editors.Select(EditorDto.FromEditor).ToArray(), + HideDateTimeModeButton = settings.HideDateTimeModeButton, HideScheduler = settings.HideScheduler, - Patterns = - settings.Patterns - .Select(x => SimpleMapper.Map(x, new PatternDto())).ToList(), - Editors = - settings.Editors - .Select(x => SimpleMapper.Map(x, new EditorDto())).ToList(), + Patterns = settings.Patterns.Select(PatternDto.FromPattern).ToArray(), Version = app.Version }; diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ClientDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ClientDto.cs index d6544fc6b..197a8fbd6 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ClientDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ClientDto.cs @@ -59,9 +59,9 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models return result; } - public ClientDto WithLinks(Resources resources, string app) + public ClientDto CreateLinks(Resources resources) { - var values = new { app, id = Id }; + var values = new { app = resources.App, id = Id }; if (resources.CanUpdateClient) { diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ClientsDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ClientsDto.cs index ebea5004f..fc1d9d316 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ClientsDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ClientsDto.cs @@ -22,23 +22,20 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models public static ClientsDto FromApp(IAppEntity app, Resources resources) { - var appName = app.Name; - var result = new ClientsDto { - Items = - app.Clients - .Select(x => ClientDto.FromClient(x.Key, x.Value)) - .Select(x => x.WithLinks(resources, appName)) - .ToArray() + Items = app.Clients + .Select(x => ClientDto.FromClient(x.Key, x.Value)) + .Select(x => x.CreateLinks(resources)) + .ToArray() }; - return result.CreateLinks(resources, appName); + return result; } - private ClientsDto CreateLinks(Resources resources, string app) + private ClientsDto CreateLinks(Resources resources) { - var values = new { app }; + var values = new { app = resources.App }; AddSelfLink(resources.Url(x => nameof(x.GetClients), values)); diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorDto.cs index 4b802d436..017e626ed 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorDto.cs @@ -1,4 +1,4 @@ -// ========================================================================== +// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschraenkt) @@ -46,7 +46,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models return result; } - public ContributorDto WithUser(IDictionary users) + public ContributorDto CreateUser(IDictionary users) { if (users.TryGetValue(ContributorId, out var user)) { @@ -61,7 +61,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models return this; } - public ContributorDto WithLinks(Resources resources) + public ContributorDto CreateLinks(Resources resources) { if (!resources.IsUser(ContributorId)) { diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorsDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorsDto.cs index d03d63375..cb832acf5 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorsDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorsDto.cs @@ -41,27 +41,26 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models var result = new ContributorsDto { - Items = - app.Contributors - .Select(x => ContributorDto.FromIdAndRole(x.Key, x.Value)) - .Select(x => x.WithUser(users)) - .Select(x => x.WithLinks(resources)) - .OrderBy(x => x.ContributorName) - .ToArray() + Items = app.Contributors + .Select(x => ContributorDto.FromIdAndRole(x.Key, x.Value)) + .Select(x => x.CreateUser(users)) + .Select(x => x.CreateLinks(resources)) + .OrderBy(x => x.ContributorName) + .ToArray() }; - result.WithInvited(invited); - result.WithPlan(app, plans); + result.CreateInvited(invited); + result.CreatePlan(app, plans); - return result.CreateLinks(resources, app.Name); + return result.CreateLinks(resources); } - private void WithPlan(IAppEntity app, IAppPlansProvider plans) + private void CreatePlan(IAppEntity app, IAppPlansProvider plans) { MaxContributors = plans.GetPlanForApp(app).Plan.MaxContributors; } - private void WithInvited(bool isInvited) + private void CreateInvited(bool isInvited) { if (isInvited) { @@ -72,9 +71,9 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models } } - private ContributorsDto CreateLinks(Resources resources, string app) + private ContributorsDto CreateLinks(Resources resources) { - var values = new { app }; + var values = new { app = resources.App }; AddSelfLink(resources.Url(x => nameof(x.GetContributors), values)); diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/EditorDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/EditorDto.cs index b4b23414b..b71afadf1 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/EditorDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/EditorDto.cs @@ -5,6 +5,8 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== +using Squidex.Domain.Apps.Core.Apps; +using Squidex.Infrastructure.Reflection; using Squidex.Infrastructure.Validation; namespace Squidex.Areas.Api.Controllers.Apps.Models @@ -22,5 +24,15 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models /// [LocalizedRequired] public string Url { get; set; } + + public static EditorDto FromEditor(Editor editor) + { + return SimpleMapper.Map(editor, new EditorDto()); + } + + public Editor ToEditor() + { + return new Editor(Name, Url); + } } } diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/PatternDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/PatternDto.cs index 3f6004590..9fe771551 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/PatternDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/PatternDto.cs @@ -5,18 +5,14 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using Squidex.Infrastructure; +using Squidex.Domain.Apps.Core.Apps; +using Squidex.Infrastructure.Reflection; using Squidex.Infrastructure.Validation; namespace Squidex.Areas.Api.Controllers.Apps.Models { public sealed class PatternDto { - /// - /// Unique id of the pattern. - /// - public DomainId Id { get; set; } - /// /// The name of the suggestion. /// @@ -33,5 +29,18 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models /// The regex message. /// public string? Message { get; set; } + + public static PatternDto FromPattern(Pattern pattern) + { + return SimpleMapper.Map(pattern, new PatternDto()); + } + + public Pattern ToPattern() + { + return new Pattern(Name, Regex) + { + Message = Message + }; + } } } diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/RoleDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/RoleDto.cs index 3038d81d0..954b8c914 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/RoleDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/RoleDto.cs @@ -74,7 +74,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models return app.Clients.Count(x => role.Equals(x.Value.Role)); } - public RoleDto WithLinks(Resources resources) + public RoleDto CreateLinks(Resources resources) { var values = new { app = resources.App, roleName = Name }; diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/RolesDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/RolesDto.cs index 2d73751e8..787811395 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/RolesDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/RolesDto.cs @@ -27,7 +27,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models Items = app.Roles.All .Select(x => RoleDto.FromRole(x, app)) - .Select(x => x.WithLinks(resources)) + .Select(x => x.CreateLinks(resources)) .OrderBy(x => x.Name) .ToArray() }; diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateAppSettingsDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateAppSettingsDto.cs index 415b49890..374b979ae 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateAppSettingsDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateAppSettingsDto.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using Squidex.Domain.Apps.Core.Apps; @@ -20,33 +19,34 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models /// The configured app patterns. /// [Required] - public List Patterns { get; set; } + public PatternDto[] Patterns { get; set; } /// /// The configured UI editors. /// [Required] - public List Editors { get; set; } + public EditorDto[] Editors { get; set; } /// /// Hide the scheduler for content items. /// public bool HideScheduler { get; set; } + /// + /// Hide the datetime mode button. + /// + public bool HideDateTimeModeButton { get; set; } + public UpdateAppSettings ToCommand() { return new UpdateAppSettings { Settings = new AppSettings { + Editors = Editors?.Select(x => x.ToEditor()).ToImmutableList()!, HideScheduler = HideScheduler, - Patterns = - Patterns?.Select(x => new Pattern(x.Name, x.Regex) - { - Message = x.Message - }).ToImmutableList()!, - Editors = - Editors?.Select(x => new Editor(x.Name, x.Url)).ToImmutableList()! + HideDateTimeModeButton = HideDateTimeModeButton, + Patterns = Patterns?.Select(x => x.ToPattern()).ToImmutableList()!, } }; } diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs index 050b11495..6adb82ae7 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs @@ -44,7 +44,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models Initial, Steps?.ToImmutableDictionary( x => x.Key, - x => x.Value?.ToStep()!), + x => x.Value?.ToWorkflowStep()!), SchemaIds, Name); diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowDto.cs index 945383a30..995fde738 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowDto.cs @@ -56,7 +56,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models return result; } - public WorkflowDto WithLinks(Resources resources) + public WorkflowDto CreateLinks(Resources resources) { var values = new { app = resources.App, id = Id }; diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowStepDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowStepDto.cs index 55fe559fa..61156e3fb 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowStepDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowStepDto.cs @@ -62,12 +62,12 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models return response; } - public WorkflowStep ToStep() + public WorkflowStep ToWorkflowStep() { return new WorkflowStep( Transitions?.ToImmutableDictionary( y => y.Key, - y => y.Value?.ToTransition()!), + y => y.Value?.ToWorkflowTransition()!), Color, NoUpdate ? NoUpdateType.When(NoUpdateExpression, NoUpdateRoles) : diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowTransitionDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowTransitionDto.cs index f6380f139..e6afdd31f 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowTransitionDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowTransitionDto.cs @@ -27,9 +27,9 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models return new WorkflowTransitionDto { Expression = transition.Expression, Roles = transition.Roles?.ToArray() }; } - public WorkflowTransition ToTransition() + public WorkflowTransition ToWorkflowTransition() { return WorkflowTransition.When(Expression, Roles); } } -} \ No newline at end of file +} diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowsDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowsDto.cs index 3be52d787..0e112124a 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowsDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowsDto.cs @@ -35,7 +35,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models Items = app.Workflows .Select(x => WorkflowDto.FromWorkflow(x.Key, x.Value)) - .Select(x => x.WithLinks(resources)) + .Select(x => x.CreateLinks(resources)) .ToArray() }; diff --git a/backend/src/Squidex/Areas/Api/Controllers/Contents/Models/ContentDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Contents/Models/ContentDto.cs index dc16dc403..c03286b88 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Contents/Models/ContentDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Contents/Models/ContentDto.cs @@ -83,6 +83,11 @@ namespace Squidex.Areas.Api.Controllers.Contents.Models /// public ScheduleJobDto? ScheduleJob { get; set; } + /// + /// The id of the schema. + /// + public DomainId SchemaId { get; set; } + /// /// The name of the schema. /// @@ -105,7 +110,11 @@ namespace Squidex.Areas.Api.Controllers.Contents.Models public static ContentDto FromContent(IEnrichedContentEntity content, Resources resources) { - var response = SimpleMapper.Map(content, new ContentDto()); + var response = SimpleMapper.Map(content, new ContentDto + { + SchemaId = content.SchemaId.Id, + SchemaName = content.SchemaId.Name + }); if (resources.Context.ShouldFlatten()) { @@ -144,7 +153,7 @@ namespace Squidex.Areas.Api.Controllers.Contents.Models if (Version > 0) { - var versioned = new { app, schema, id = Id, version = Version - 1 }; + var versioned = new { app, schema, values.id, version = Version - 1 }; AddGetLink("previous", resources.Url(x => nameof(x.GetContentVersion), versioned)); } diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/EnrichWithSchemaTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/EnrichWithSchemaTests.cs index 2084f78b5..00cf1a315 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/EnrichWithSchemaTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/EnrichWithSchemaTests.cs @@ -64,7 +64,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries await sut.EnrichAsync(ctx, Enumerable.Repeat(content, 1), schemaProvider, default); - Assert.Equal("my-schema", content.SchemaName); Assert.Equal("my-schema", content.SchemaDisplayName); }