From c0b7070c1a5cb1e3d7194a7b915a8c3299270ea5 Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Thu, 8 Nov 2018 08:09:25 +0100 Subject: [PATCH] Added asset size options. --- .../Assets/AssetOptions.cs | 2 ++ .../Areas/Api/Controllers/Assets/AssetConfig.cs | 14 -------------- .../Api/Controllers/Assets/AssetsController.cs | 10 +++++----- src/Squidex/appsettings.json | 7 ++++++- 4 files changed, 13 insertions(+), 20 deletions(-) delete mode 100644 src/Squidex/Areas/Api/Controllers/Assets/AssetConfig.cs diff --git a/src/Squidex.Domain.Apps.Entities/Assets/AssetOptions.cs b/src/Squidex.Domain.Apps.Entities/Assets/AssetOptions.cs index 1326eaa4f..c0a77b6a8 100644 --- a/src/Squidex.Domain.Apps.Entities/Assets/AssetOptions.cs +++ b/src/Squidex.Domain.Apps.Entities/Assets/AssetOptions.cs @@ -10,5 +10,7 @@ namespace Squidex.Domain.Apps.Entities.Assets public sealed class AssetOptions { public int MaxResults { get; set; } = 200; + + public long MaxSize { get; set; } = 5 * 1024 * 1024; } } diff --git a/src/Squidex/Areas/Api/Controllers/Assets/AssetConfig.cs b/src/Squidex/Areas/Api/Controllers/Assets/AssetConfig.cs deleted file mode 100644 index 38d5d2920..000000000 --- a/src/Squidex/Areas/Api/Controllers/Assets/AssetConfig.cs +++ /dev/null @@ -1,14 +0,0 @@ -// ========================================================================== -// Squidex Headless CMS -// ========================================================================== -// Copyright (c) Squidex UG (haftungsbeschränkt) -// All rights reserved. Licensed under the MIT license. -// ========================================================================== - -namespace Squidex.Areas.Api.Controllers.Assets -{ - public sealed class AssetConfig - { - public long MaxSize { get; set; } = 5 * 1024 * 1024; - } -} diff --git a/src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs b/src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs index 3a899c2de..666cdcce7 100644 --- a/src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs +++ b/src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs @@ -39,19 +39,19 @@ namespace Squidex.Areas.Api.Controllers.Assets private readonly IAppPlansProvider appPlanProvider; private readonly IOptions controllerOptions; private readonly ITagService tagService; - private readonly AssetConfig assetsConfig; + private readonly AssetOptions assetOptions; public AssetsController( ICommandBus commandBus, IAssetQueryService assetQuery, IAssetStatsRepository assetStatsRepository, IAppPlansProvider appPlanProvider, - IOptions assetsConfig, + IOptions assetOptions, IOptions controllerOptions, ITagService tagService) : base(commandBus) { - this.assetsConfig = assetsConfig.Value; + this.assetOptions = assetOptions.Value; this.assetQuery = assetQuery; this.assetStatsRepository = assetStatsRepository; this.appPlanProvider = appPlanProvider; @@ -273,9 +273,9 @@ namespace Squidex.Areas.Api.Controllers.Assets var formFile = file[0]; - if (formFile.Length > assetsConfig.MaxSize) + if (formFile.Length > assetOptions.MaxSize) { - var error = new ValidationError($"File size cannot be longer than {assetsConfig.MaxSize.ToReadableSize()}."); + var error = new ValidationError($"File size cannot be longer than {assetOptions.MaxSize.ToReadableSize()}."); throw new ValidationException("Cannot create asset.", error); } diff --git a/src/Squidex/appsettings.json b/src/Squidex/appsettings.json index f9c32ef61..50a70a503 100644 --- a/src/Squidex/appsettings.json +++ b/src/Squidex/appsettings.json @@ -78,7 +78,12 @@ * * Warning: Use pagination and not large number of items. */ - "maxResults": 200 + "maxResults": 200, + + /* + * The maximum file size in bytes. Default: 5MB + */ + "maxSize": 5242880 }, "logging": {