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": {