From 7715fbb884d963d55888e83dd927175a11ebe598 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 11 Mar 2022 19:07:50 +0100 Subject: [PATCH] Fix template bug. --- .../Apps/Templates/TemplateCommandMiddleware.cs | 9 +++++++-- .../Areas/Api/Controllers/Apps/Models/CreateAppDto.cs | 5 +++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs b/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs index a8ece85a1..6c24693f3 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs @@ -47,14 +47,19 @@ namespace Squidex.Domain.Apps.Entities.Apps.Templates { await next(context); - if (context.IsCompleted && context.Command is CreateApp createApp && !string.IsNullOrWhiteSpace(createApp.Template)) + if (context.IsCompleted && context.Command is CreateApp createApp) { await ApplyTemplateAsync(context.Result(), createApp.Template); } } - private async Task ApplyTemplateAsync(IAppEntity app, string template) + private async Task ApplyTemplateAsync(IAppEntity app, string? template) { + if (string.IsNullOrWhiteSpace(template)) + { + return; + } + var repository = await templatesClient.GetRepositoryUrl(template); if (string.IsNullOrEmpty(repository)) diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/CreateAppDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/CreateAppDto.cs index 71860dfdf..4a8b18ab4 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/CreateAppDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/CreateAppDto.cs @@ -20,6 +20,11 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models [LocalizedRegularExpression("^[a-z0-9]+(\\-[a-z0-9]+)*$")] public string Name { get; set; } + /// + /// Initialize the app with the inbuilt template. + /// + public string? Template { get; set; } + public CreateApp ToCommand() { return SimpleMapper.Map(this, new CreateApp());