Browse Source

Just cleanup.

pull/715/head
Sebastian Stehle 5 years ago
parent
commit
e6470a9ff7
  1. 2
      backend/src/Squidex.Domain.Apps.Core.Model/Apps/AppSettings.cs
  2. 2
      backend/src/Squidex.Domain.Apps.Entities/Contents/ContentEntity.cs
  3. 2
      backend/src/Squidex.Domain.Apps.Entities/Contents/IEnrichedContentEntity.cs
  4. 2
      backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/EnrichWithSchema.cs
  5. 4
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppLanguageDto.cs
  6. 5
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppLanguagesDto.cs
  7. 20
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppSettingsDto.cs
  8. 4
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ClientDto.cs
  9. 13
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ClientsDto.cs
  10. 6
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorDto.cs
  11. 21
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorsDto.cs
  12. 12
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/EditorDto.cs
  13. 21
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/PatternDto.cs
  14. 2
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/RoleDto.cs
  15. 2
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/RolesDto.cs
  16. 20
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateAppSettingsDto.cs
  17. 2
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs
  18. 2
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowDto.cs
  19. 4
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowStepDto.cs
  20. 2
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowTransitionDto.cs
  21. 2
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowsDto.cs
  22. 13
      backend/src/Squidex/Areas/Api/Controllers/Contents/Models/ContentDto.cs
  23. 1
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/EnrichWithSchemaTests.cs

2
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 HideScheduler { get; init; }
public bool HideDateTimeModeButton { get; init; } public bool HideDateTimeModeButton { get; init; }
public bool HideDateTimeQuickButtons { get; init; }
} }
} }

2
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 bool IsSingleton { get; set; }
public string SchemaName { get; set; }
public string SchemaDisplayName { get; set; } public string SchemaDisplayName { get; set; }
public string StatusColor { get; set; } public string StatusColor { get; set; }

2
backend/src/Squidex.Domain.Apps.Entities/Contents/IEnrichedContentEntity.cs

@ -22,8 +22,6 @@ namespace Squidex.Domain.Apps.Entities.Contents
string? ScheduledStatusColor { get; } string? ScheduledStatusColor { get; }
string SchemaName { get; }
string SchemaDisplayName { get; } string SchemaDisplayName { get; }
RootField[]? ReferenceFields { get; } RootField[]? ReferenceFields { get; }

2
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 schema = await schemas(group.Key);
var schemaName = schema.SchemaDef.Name;
var schemaDisplayName = schema.SchemaDef.DisplayNameUnchanged(); var schemaDisplayName = schema.SchemaDef.DisplayNameUnchanged();
foreach (var content in group) foreach (var content in group)
{ {
content.IsSingleton = schema.SchemaDef.Type == SchemaType.Singleton; content.IsSingleton = schema.SchemaDef.Type == SchemaType.Singleton;
content.SchemaName = schemaName;
content.SchemaDisplayName = schemaDisplayName; content.SchemaDisplayName = schemaDisplayName;
} }

4
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppLanguageDto.cs

@ -58,9 +58,9 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
return result; 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) if (!IsMaster)
{ {

5
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppLanguagesDto.cs

@ -28,8 +28,9 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
{ {
Items = config.Languages Items = config.Languages
.Select(x => AppLanguageDto.FromLanguage(x.Key, x.Value, config)) .Select(x => AppLanguageDto.FromLanguage(x.Key, x.Value, config))
.Select(x => x.WithLinks(resources, app)) .Select(x => x.CreateLinks(resources, app))
.OrderByDescending(x => x.IsMaster).ThenBy(x => x.Iso2Code) .OrderByDescending(x => x.IsMaster)
.ThenBy(x => x.Iso2Code)
.ToArray() .ToArray()
}; };

20
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AppSettingsDto.cs

@ -5,10 +5,8 @@
// All rights reserved. Licensed under the MIT license. // All rights reserved. Licensed under the MIT license.
// ========================================================================== // ==========================================================================
using System.Collections.Generic;
using System.Linq; using System.Linq;
using Squidex.Domain.Apps.Entities.Apps; using Squidex.Domain.Apps.Entities.Apps;
using Squidex.Infrastructure.Reflection;
using Squidex.Infrastructure.Validation; using Squidex.Infrastructure.Validation;
using Squidex.Web; using Squidex.Web;
@ -20,19 +18,24 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
/// The configured app patterns. /// The configured app patterns.
/// </summary> /// </summary>
[LocalizedRequired] [LocalizedRequired]
public List<PatternDto> Patterns { get; set; } public PatternDto[] Patterns { get; set; }
/// <summary> /// <summary>
/// The configured UI editors. /// The configured UI editors.
/// </summary> /// </summary>
[LocalizedRequired] [LocalizedRequired]
public List<EditorDto> Editors { get; set; } public EditorDto[] Editors { get; set; }
/// <summary> /// <summary>
/// Hide the scheduler for content items. /// Hide the scheduler for content items.
/// </summary> /// </summary>
public bool HideScheduler { get; set; } public bool HideScheduler { get; set; }
/// <summary>
/// Hide the datetime mode button.
/// </summary>
public bool HideDateTimeModeButton { get; set; }
/// <summary> /// <summary>
/// The version of the app. /// The version of the app.
/// </summary> /// </summary>
@ -44,13 +47,10 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
var result = new AppSettingsDto var result = new AppSettingsDto
{ {
Editors = settings.Editors.Select(EditorDto.FromEditor).ToArray(),
HideDateTimeModeButton = settings.HideDateTimeModeButton,
HideScheduler = settings.HideScheduler, HideScheduler = settings.HideScheduler,
Patterns = Patterns = settings.Patterns.Select(PatternDto.FromPattern).ToArray(),
settings.Patterns
.Select(x => SimpleMapper.Map(x, new PatternDto())).ToList(),
Editors =
settings.Editors
.Select(x => SimpleMapper.Map(x, new EditorDto())).ToList(),
Version = app.Version Version = app.Version
}; };

4
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ClientDto.cs

@ -59,9 +59,9 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
return result; 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) if (resources.CanUpdateClient)
{ {

13
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) public static ClientsDto FromApp(IAppEntity app, Resources resources)
{ {
var appName = app.Name;
var result = new ClientsDto var result = new ClientsDto
{ {
Items = Items = app.Clients
app.Clients
.Select(x => ClientDto.FromClient(x.Key, x.Value)) .Select(x => ClientDto.FromClient(x.Key, x.Value))
.Select(x => x.WithLinks(resources, appName)) .Select(x => x.CreateLinks(resources))
.ToArray() .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<AppClientsController>(x => nameof(x.GetClients), values)); AddSelfLink(resources.Url<AppClientsController>(x => nameof(x.GetClients), values));

6
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorDto.cs

@ -1,4 +1,4 @@
// ========================================================================== // ==========================================================================
// Squidex Headless CMS // Squidex Headless CMS
// ========================================================================== // ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt) // Copyright (c) Squidex UG (haftungsbeschraenkt)
@ -46,7 +46,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
return result; return result;
} }
public ContributorDto WithUser(IDictionary<string, IUser> users) public ContributorDto CreateUser(IDictionary<string, IUser> users)
{ {
if (users.TryGetValue(ContributorId, out var user)) if (users.TryGetValue(ContributorId, out var user))
{ {
@ -61,7 +61,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
return this; return this;
} }
public ContributorDto WithLinks(Resources resources) public ContributorDto CreateLinks(Resources resources)
{ {
if (!resources.IsUser(ContributorId)) if (!resources.IsUser(ContributorId))
{ {

21
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 var result = new ContributorsDto
{ {
Items = Items = app.Contributors
app.Contributors
.Select(x => ContributorDto.FromIdAndRole(x.Key, x.Value)) .Select(x => ContributorDto.FromIdAndRole(x.Key, x.Value))
.Select(x => x.WithUser(users)) .Select(x => x.CreateUser(users))
.Select(x => x.WithLinks(resources)) .Select(x => x.CreateLinks(resources))
.OrderBy(x => x.ContributorName) .OrderBy(x => x.ContributorName)
.ToArray() .ToArray()
}; };
result.WithInvited(invited); result.CreateInvited(invited);
result.WithPlan(app, plans); 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; MaxContributors = plans.GetPlanForApp(app).Plan.MaxContributors;
} }
private void WithInvited(bool isInvited) private void CreateInvited(bool isInvited)
{ {
if (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<AppContributorsController>(x => nameof(x.GetContributors), values)); AddSelfLink(resources.Url<AppContributorsController>(x => nameof(x.GetContributors), values));

12
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/EditorDto.cs

@ -5,6 +5,8 @@
// All rights reserved. Licensed under the MIT license. // All rights reserved. Licensed under the MIT license.
// ========================================================================== // ==========================================================================
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Infrastructure.Reflection;
using Squidex.Infrastructure.Validation; using Squidex.Infrastructure.Validation;
namespace Squidex.Areas.Api.Controllers.Apps.Models namespace Squidex.Areas.Api.Controllers.Apps.Models
@ -22,5 +24,15 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
/// </summary> /// </summary>
[LocalizedRequired] [LocalizedRequired]
public string Url { get; set; } 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);
}
} }
} }

21
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/PatternDto.cs

@ -5,18 +5,14 @@
// All rights reserved. Licensed under the MIT license. // 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; using Squidex.Infrastructure.Validation;
namespace Squidex.Areas.Api.Controllers.Apps.Models namespace Squidex.Areas.Api.Controllers.Apps.Models
{ {
public sealed class PatternDto public sealed class PatternDto
{ {
/// <summary>
/// Unique id of the pattern.
/// </summary>
public DomainId Id { get; set; }
/// <summary> /// <summary>
/// The name of the suggestion. /// The name of the suggestion.
/// </summary> /// </summary>
@ -33,5 +29,18 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
/// The regex message. /// The regex message.
/// </summary> /// </summary>
public string? Message { get; set; } 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
};
}
} }
} }

2
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)); 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 }; var values = new { app = resources.App, roleName = Name };

2
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/RolesDto.cs

@ -27,7 +27,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
Items = Items =
app.Roles.All app.Roles.All
.Select(x => RoleDto.FromRole(x, app)) .Select(x => RoleDto.FromRole(x, app))
.Select(x => x.WithLinks(resources)) .Select(x => x.CreateLinks(resources))
.OrderBy(x => x.Name) .OrderBy(x => x.Name)
.ToArray() .ToArray()
}; };

20
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateAppSettingsDto.cs

@ -5,7 +5,6 @@
// All rights reserved. Licensed under the MIT license. // All rights reserved. Licensed under the MIT license.
// ========================================================================== // ==========================================================================
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
using Squidex.Domain.Apps.Core.Apps; using Squidex.Domain.Apps.Core.Apps;
@ -20,33 +19,34 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
/// The configured app patterns. /// The configured app patterns.
/// </summary> /// </summary>
[Required] [Required]
public List<PatternDto> Patterns { get; set; } public PatternDto[] Patterns { get; set; }
/// <summary> /// <summary>
/// The configured UI editors. /// The configured UI editors.
/// </summary> /// </summary>
[Required] [Required]
public List<EditorDto> Editors { get; set; } public EditorDto[] Editors { get; set; }
/// <summary> /// <summary>
/// Hide the scheduler for content items. /// Hide the scheduler for content items.
/// </summary> /// </summary>
public bool HideScheduler { get; set; } public bool HideScheduler { get; set; }
/// <summary>
/// Hide the datetime mode button.
/// </summary>
public bool HideDateTimeModeButton { get; set; }
public UpdateAppSettings ToCommand() public UpdateAppSettings ToCommand()
{ {
return new UpdateAppSettings return new UpdateAppSettings
{ {
Settings = new AppSettings Settings = new AppSettings
{ {
Editors = Editors?.Select(x => x.ToEditor()).ToImmutableList()!,
HideScheduler = HideScheduler, HideScheduler = HideScheduler,
Patterns = HideDateTimeModeButton = HideDateTimeModeButton,
Patterns?.Select(x => new Pattern(x.Name, x.Regex) Patterns = Patterns?.Select(x => x.ToPattern()).ToImmutableList()!,
{
Message = x.Message
}).ToImmutableList()!,
Editors =
Editors?.Select(x => new Editor(x.Name, x.Url)).ToImmutableList()!
} }
}; };
} }

2
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs

@ -44,7 +44,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
Initial, Initial,
Steps?.ToImmutableDictionary( Steps?.ToImmutableDictionary(
x => x.Key, x => x.Key,
x => x.Value?.ToStep()!), x => x.Value?.ToWorkflowStep()!),
SchemaIds, SchemaIds,
Name); Name);

2
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowDto.cs

@ -56,7 +56,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
return result; return result;
} }
public WorkflowDto WithLinks(Resources resources) public WorkflowDto CreateLinks(Resources resources)
{ {
var values = new { app = resources.App, id = Id }; var values = new { app = resources.App, id = Id };

4
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowStepDto.cs

@ -62,12 +62,12 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
return response; return response;
} }
public WorkflowStep ToStep() public WorkflowStep ToWorkflowStep()
{ {
return new WorkflowStep( return new WorkflowStep(
Transitions?.ToImmutableDictionary( Transitions?.ToImmutableDictionary(
y => y.Key, y => y.Key,
y => y.Value?.ToTransition()!), y => y.Value?.ToWorkflowTransition()!),
Color, Color,
NoUpdate ? NoUpdate ?
NoUpdateType.When(NoUpdateExpression, NoUpdateRoles) : NoUpdateType.When(NoUpdateExpression, NoUpdateRoles) :

2
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowTransitionDto.cs

@ -27,7 +27,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
return new WorkflowTransitionDto { Expression = transition.Expression, Roles = transition.Roles?.ToArray() }; return new WorkflowTransitionDto { Expression = transition.Expression, Roles = transition.Roles?.ToArray() };
} }
public WorkflowTransition ToTransition() public WorkflowTransition ToWorkflowTransition()
{ {
return WorkflowTransition.When(Expression, Roles); return WorkflowTransition.When(Expression, Roles);
} }

2
backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowsDto.cs

@ -35,7 +35,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
Items = Items =
app.Workflows app.Workflows
.Select(x => WorkflowDto.FromWorkflow(x.Key, x.Value)) .Select(x => WorkflowDto.FromWorkflow(x.Key, x.Value))
.Select(x => x.WithLinks(resources)) .Select(x => x.CreateLinks(resources))
.ToArray() .ToArray()
}; };

13
backend/src/Squidex/Areas/Api/Controllers/Contents/Models/ContentDto.cs

@ -83,6 +83,11 @@ namespace Squidex.Areas.Api.Controllers.Contents.Models
/// </summary> /// </summary>
public ScheduleJobDto? ScheduleJob { get; set; } public ScheduleJobDto? ScheduleJob { get; set; }
/// <summary>
/// The id of the schema.
/// </summary>
public DomainId SchemaId { get; set; }
/// <summary> /// <summary>
/// The name of the schema. /// The name of the schema.
/// </summary> /// </summary>
@ -105,7 +110,11 @@ namespace Squidex.Areas.Api.Controllers.Contents.Models
public static ContentDto FromContent(IEnrichedContentEntity content, Resources resources) 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()) if (resources.Context.ShouldFlatten())
{ {
@ -144,7 +153,7 @@ namespace Squidex.Areas.Api.Controllers.Contents.Models
if (Version > 0) 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<ContentsController>(x => nameof(x.GetContentVersion), versioned)); AddGetLink("previous", resources.Url<ContentsController>(x => nameof(x.GetContentVersion), versioned));
} }

1
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); await sut.EnrichAsync(ctx, Enumerable.Repeat(content, 1), schemaProvider, default);
Assert.Equal("my-schema", content.SchemaName);
Assert.Equal("my-schema", content.SchemaDisplayName); Assert.Equal("my-schema", content.SchemaDisplayName);
} }

Loading…
Cancel
Save