diff --git a/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldCollection.cs b/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldCollection.cs index 3e865aeea..d09841b55 100644 --- a/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldCollection.cs +++ b/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldCollection.cs @@ -61,7 +61,7 @@ namespace Squidex.Domain.Apps.Core.Schemas } else { - fieldsByName = fieldsOrdered.ToDictionary(x => x.Name, StringComparer.OrdinalIgnoreCase); + fieldsByName = fieldsOrdered.ToDictionary(x => x.Name); } } diff --git a/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ContentValidator.cs b/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ContentValidator.cs index ab089b5d7..11b072b8c 100644 --- a/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ContentValidator.cs +++ b/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ContentValidator.cs @@ -69,7 +69,7 @@ namespace Squidex.Domain.Apps.Core.ValidateContent private IValidator CreateSchemaValidator(bool isPartial) { - var fieldsValidators = new Dictionary(); + var fieldsValidators = new Dictionary(schema.Fields.Count); foreach (var field in schema.FieldsByName) { diff --git a/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidatorsFactory.cs b/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidatorsFactory.cs index afd76321d..464ad7748 100644 --- a/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidatorsFactory.cs +++ b/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidatorsFactory.cs @@ -38,7 +38,7 @@ namespace Squidex.Domain.Apps.Core.ValidateContent yield return new CollectionValidator(field.Properties.IsRequired, field.Properties.MinItems, field.Properties.MaxItems); } - var nestedSchema = new Dictionary(); + var nestedSchema = new Dictionary(field.Fields.Count); foreach (var nestedField in field.Fields) { diff --git a/src/Squidex.Domain.Apps.Entities/Apps/Indexes/AppsByNameIndexGrain.cs b/src/Squidex.Domain.Apps.Entities/Apps/Indexes/AppsByNameIndexGrain.cs index a76be1ae3..ffd7d333a 100644 --- a/src/Squidex.Domain.Apps.Entities/Apps/Indexes/AppsByNameIndexGrain.cs +++ b/src/Squidex.Domain.Apps.Entities/Apps/Indexes/AppsByNameIndexGrain.cs @@ -23,7 +23,7 @@ namespace Squidex.Domain.Apps.Entities.Apps.Indexes [CollectionName("Index_AppsByName")] public sealed class GrainState { - public Dictionary Apps { get; set; } = new Dictionary(); + public Dictionary Apps { get; set; } = new Dictionary(StringComparer.Ordinal); } public AppsByNameIndexGrain(IStore store) diff --git a/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs b/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs index f0cfeccbf..6f243f8bf 100644 --- a/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs +++ b/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs @@ -57,7 +57,7 @@ namespace Squidex.Areas.Api.Controllers.Assets /// [HttpGet] [Route("assets/{id}/")] - [ProducesResponseType(200)] + [ProducesResponseType(typeof(FileResult), 200)] [ApiCosts(0.5)] public async Task GetAssetContent(Guid id, [FromQuery] long version = EtagVersion.Any, [FromQuery] int? width = null, [FromQuery] int? height = null, [FromQuery] string mode = null) { diff --git a/src/Squidex/Areas/Api/Controllers/Backups/BackupContentController.cs b/src/Squidex/Areas/Api/Controllers/Backups/BackupContentController.cs index f94233fad..ba2dbe410 100644 --- a/src/Squidex/Areas/Api/Controllers/Backups/BackupContentController.cs +++ b/src/Squidex/Areas/Api/Controllers/Backups/BackupContentController.cs @@ -40,7 +40,7 @@ namespace Squidex.Areas.Api.Controllers.Backups [HttpGet] [Route("apps/{app}/backups/{id}")] [ResponseCache(Duration = 3600 * 24 * 30)] - [ProducesResponseType(200)] + [ProducesResponseType(typeof(FileResult), 200)] [ApiCosts(0)] [AllowAnonymous] public IActionResult GetBackupContent(string app, Guid id) diff --git a/src/Squidex/Areas/Api/Controllers/Backups/BackupsController.cs b/src/Squidex/Areas/Api/Controllers/Backups/BackupsController.cs index 5819a1a16..3c433fbdb 100644 --- a/src/Squidex/Areas/Api/Controllers/Backups/BackupsController.cs +++ b/src/Squidex/Areas/Api/Controllers/Backups/BackupsController.cs @@ -21,7 +21,7 @@ using Squidex.Shared; namespace Squidex.Areas.Api.Controllers.Backups { /// - /// Manages backups for app. + /// Manages backups for apps. /// [ApiExplorerSettings(GroupName = nameof(Backups))] public class BackupsController : ApiController diff --git a/src/Squidex/Areas/Api/Controllers/Backups/RestoreController.cs b/src/Squidex/Areas/Api/Controllers/Backups/RestoreController.cs index 273bacc90..a8a63b02b 100644 --- a/src/Squidex/Areas/Api/Controllers/Backups/RestoreController.cs +++ b/src/Squidex/Areas/Api/Controllers/Backups/RestoreController.cs @@ -17,6 +17,10 @@ using Squidex.Shared; namespace Squidex.Areas.Api.Controllers.Backups { + /// + /// Manages backups for apps. + /// + [ApiExplorerSettings(GroupName = nameof(Backups))] public class RestoreController : ApiController { private readonly IGrainFactory grainFactory; @@ -28,13 +32,14 @@ namespace Squidex.Areas.Api.Controllers.Backups } /// - /// Get current status. + /// Get current restore status. /// /// /// 200 => Status returned. /// [HttpGet] [Route("apps/restore/")] + [ProducesResponseType(typeof(RestoreJobDto), 200)] [ApiPermission(Permissions.AdminRestoreRead)] public async Task GetJob() { diff --git a/src/Squidex/Areas/Api/Controllers/Ping/PingController.cs b/src/Squidex/Areas/Api/Controllers/Ping/PingController.cs index fd72eee9a..c27e14477 100644 --- a/src/Squidex/Areas/Api/Controllers/Ping/PingController.cs +++ b/src/Squidex/Areas/Api/Controllers/Ping/PingController.cs @@ -53,7 +53,7 @@ namespace Squidex.Areas.Api.Controllers.Ping [Route("ping/{app}/")] [ApiPermission(Permissions.AppCommon)] [ApiCosts(0)] - public IActionResult GetPing(string app) + public IActionResult GetAppPing(string app) { return NoContent(); } diff --git a/src/Squidex/Areas/Api/Controllers/Users/UsersController.cs b/src/Squidex/Areas/Api/Controllers/Users/UsersController.cs index f7983a639..3aef01d84 100644 --- a/src/Squidex/Areas/Api/Controllers/Users/UsersController.cs +++ b/src/Squidex/Areas/Api/Controllers/Users/UsersController.cs @@ -136,7 +136,7 @@ namespace Squidex.Areas.Api.Controllers.Users /// [HttpGet] [Route("users/{id}/picture/")] - [ProducesResponseType(200)] + [ProducesResponseType(typeof(FileResult), 200)] [ResponseCache(Duration = 3600)] public async Task GetUserPicture(string id) {