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. 4
      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. 17
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ClientsDto.cs
  10. 6
      backend/src/Squidex/Areas/Api/Controllers/Apps/Models/ContributorDto.cs
  11. 27
      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. 4
      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 HideDateTimeModeButton { get; init; }
public bool HideDateTimeQuickButtons { get; init; }
}
}

4
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);
}
}
}
}

2
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; }

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 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;
}

4
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)
{

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
.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()
};

20
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.
/// </summary>
[LocalizedRequired]
public List<PatternDto> Patterns { get; set; }
public PatternDto[] Patterns { get; set; }
/// <summary>
/// The configured UI editors.
/// </summary>
[LocalizedRequired]
public List<EditorDto> Editors { get; set; }
public EditorDto[] Editors { get; set; }
/// <summary>
/// Hide the scheduler for content items.
/// </summary>
public bool HideScheduler { get; set; }
/// <summary>
/// Hide the datetime mode button.
/// </summary>
public bool HideDateTimeModeButton { get; set; }
/// <summary>
/// The version of the app.
/// </summary>
@ -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
};

4
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)
{

17
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<AppClientsController>(x => nameof(x.GetClients), values));

6
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<string, IUser> users)
public ContributorDto CreateUser(IDictionary<string, IUser> 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))
{

27
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<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.
// ==========================================================================
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
/// </summary>
[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);
}
}
}

21
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
{
/// <summary>
/// Unique id of the pattern.
/// </summary>
public DomainId Id { get; set; }
/// <summary>
/// The name of the suggestion.
/// </summary>
@ -33,5 +29,18 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
/// The regex message.
/// </summary>
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));
}
public RoleDto WithLinks(Resources resources)
public RoleDto CreateLinks(Resources resources)
{
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 =
app.Roles.All
.Select(x => RoleDto.FromRole(x, app))
.Select(x => x.WithLinks(resources))
.Select(x => x.CreateLinks(resources))
.OrderBy(x => x.Name)
.ToArray()
};

20
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.
/// </summary>
[Required]
public List<PatternDto> Patterns { get; set; }
public PatternDto[] Patterns { get; set; }
/// <summary>
/// The configured UI editors.
/// </summary>
[Required]
public List<EditorDto> Editors { get; set; }
public EditorDto[] Editors { get; set; }
/// <summary>
/// Hide the scheduler for content items.
/// </summary>
public bool HideScheduler { get; set; }
/// <summary>
/// Hide the datetime mode button.
/// </summary>
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()!,
}
};
}

2
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);

2
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 };

4
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) :

4
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);
}
}
}
}

2
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()
};

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

@ -83,6 +83,11 @@ namespace Squidex.Areas.Api.Controllers.Contents.Models
/// </summary>
public ScheduleJobDto? ScheduleJob { get; set; }
/// <summary>
/// The id of the schema.
/// </summary>
public DomainId SchemaId { get; set; }
/// <summary>
/// The name of the schema.
/// </summary>
@ -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<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);
Assert.Equal("my-schema", content.SchemaName);
Assert.Equal("my-schema", content.SchemaDisplayName);
}

Loading…
Cancel
Save