diff --git a/backend/extensions/Squidex.Extensions/APM/Otlp/OtlpPlugin.cs b/backend/extensions/Squidex.Extensions/APM/Otlp/OtlpPlugin.cs index 451af7430..4de4269e5 100644 --- a/backend/extensions/Squidex.Extensions/APM/Otlp/OtlpPlugin.cs +++ b/backend/extensions/Squidex.Extensions/APM/Otlp/OtlpPlugin.cs @@ -11,7 +11,7 @@ using OpenTelemetry.Trace; using Squidex.Infrastructure; using Squidex.Infrastructure.Plugins; -namespace Squidex.Extensions.APM.Datadog +namespace Squidex.Extensions.APM.Otlp { public sealed class OtlpPlugin : IPlugin { diff --git a/backend/extensions/Squidex.Extensions/Actions/Comment/CommentActionHandler.cs b/backend/extensions/Squidex.Extensions/Actions/Comment/CommentActionHandler.cs index 7a7f945b6..cdff9d7a7 100644 --- a/backend/extensions/Squidex.Extensions/Actions/Comment/CommentActionHandler.cs +++ b/backend/extensions/Squidex.Extensions/Actions/Comment/CommentActionHandler.cs @@ -55,18 +55,18 @@ namespace Squidex.Extensions.Actions.Comment protected override async Task ExecuteJobAsync(CreateComment job, CancellationToken ct = default) { - if (job.CommentsId == default) + var command = job; + + if (command.CommentsId == default) { return Result.Ignored(); } - var command = job; - command.FromRule = true; await commandBus.PublishAsync(command, ct); - return Result.Success($"Commented: {job.Text}"); + return Result.Success($"Commented: {command.Text}"); } } } diff --git a/backend/extensions/Squidex.Extensions/Actions/CreateContent/CreateContentActionHandler.cs b/backend/extensions/Squidex.Extensions/Actions/CreateContent/CreateContentActionHandler.cs index 965577813..924a81ef9 100644 --- a/backend/extensions/Squidex.Extensions/Actions/CreateContent/CreateContentActionHandler.cs +++ b/backend/extensions/Squidex.Extensions/Actions/CreateContent/CreateContentActionHandler.cs @@ -78,7 +78,7 @@ namespace Squidex.Extensions.Actions.CreateContent await commandBus.PublishAsync(command, ct); - return Result.Success($"Created to: {job.SchemaId.Name}"); + return Result.Success($"Created to: {command.SchemaId.Name}"); } } } diff --git a/backend/extensions/Squidex.Extensions/Actions/Notification/NotificationActionHandler.cs b/backend/extensions/Squidex.Extensions/Actions/Notification/NotificationActionHandler.cs index 4c22643ba..79b7a5421 100644 --- a/backend/extensions/Squidex.Extensions/Actions/Notification/NotificationActionHandler.cs +++ b/backend/extensions/Squidex.Extensions/Actions/Notification/NotificationActionHandler.cs @@ -74,19 +74,19 @@ namespace Squidex.Extensions.Actions.Notification protected override async Task ExecuteJobAsync(CreateComment job, CancellationToken ct = default) { - if (job.CommentsId == default) + var command = job; + + if (command.CommentsId == default) { return Result.Ignored(); } - var command = job; - command.AppId = NoApp; command.FromRule = true; await commandBus.PublishAsync(command, ct); - return Result.Success($"Notified: {job.Text}"); + return Result.Success($"Notified: {command.Text}"); } } } diff --git a/backend/extensions/Squidex.Extensions/Actions/RuleHelper.cs b/backend/extensions/Squidex.Extensions/Actions/RuleHelper.cs index 06f3de5b1..31b21abb5 100644 --- a/backend/extensions/Squidex.Extensions/Actions/RuleHelper.cs +++ b/backend/extensions/Squidex.Extensions/Actions/RuleHelper.cs @@ -32,9 +32,7 @@ namespace Squidex.Extensions.Actions public static bool IsContentDeletion(this EnrichedEvent @event) { - return @event is EnrichedContentEvent contentEvent && - (contentEvent.Type == EnrichedContentEventType.Deleted || - contentEvent.Type == EnrichedContentEventType.Unpublished); + return @event is EnrichedContentEvent { Type: EnrichedContentEventType.Deleted or EnrichedContentEventType.Unpublished }; } public static bool IsAssetDeletion(this EnrichedEvent @event) diff --git a/backend/extensions/Squidex.Extensions/Assets/Azure/AzureMetadataSource.cs b/backend/extensions/Squidex.Extensions/Assets/Azure/AzureMetadataSource.cs index bd6965d17..3b675b5d2 100644 --- a/backend/extensions/Squidex.Extensions/Assets/Azure/AzureMetadataSource.cs +++ b/backend/extensions/Squidex.Extensions/Assets/Azure/AzureMetadataSource.cs @@ -73,7 +73,7 @@ namespace Squidex.Extensions.Assets.Azure } } - var description = result.Description?.Captions?.OrderByDescending(x => x.Confidence)?.FirstOrDefault()?.Text; + var description = result.Description?.Captions.MaxBy(x => x.Confidence)?.Text; if (description != null) { diff --git a/backend/extensions/Squidex.Extensions/Text/Azure/AzureIndexDefinition.cs b/backend/extensions/Squidex.Extensions/Text/Azure/AzureIndexDefinition.cs index fcaa67b7d..b03a3977b 100644 --- a/backend/extensions/Squidex.Extensions/Text/Azure/AzureIndexDefinition.cs +++ b/backend/extensions/Squidex.Extensions/Text/Azure/AzureIndexDefinition.cs @@ -36,7 +36,7 @@ namespace Squidex.Extensions.Text.Azure if (indexOfDot > 0) { - var language = analyzer[0..indexOfDot]; + var language = analyzer[..indexOfDot]; var isValidLanguage = language.Length == 2 || @@ -78,11 +78,11 @@ namespace Squidex.Extensions.Text.Azure { new SimpleField("docId", SearchFieldDataType.String) { - IsKey = true, + IsKey = true }, new SimpleField("appId", SearchFieldDataType.String) { - IsFilterable = true, + IsFilterable = true }, new SimpleField("appName", SearchFieldDataType.String) { diff --git a/backend/extensions/Squidex.Extensions/Text/Azure/CommandFactory.cs b/backend/extensions/Squidex.Extensions/Text/Azure/CommandFactory.cs index afde1d6f8..05fceff86 100644 --- a/backend/extensions/Squidex.Extensions/Text/Azure/CommandFactory.cs +++ b/backend/extensions/Squidex.Extensions/Text/Azure/CommandFactory.cs @@ -96,7 +96,7 @@ namespace Squidex.Extensions.Text.Azure { ["docId"] = update.DocId.ToBase64(), ["serveAll"] = update.ServeAll, - ["servePublished"] = update.ServePublished, + ["servePublished"] = update.ServePublished }; batch.Add(IndexDocumentsAction.MergeOrUpload(document)); diff --git a/backend/extensions/Squidex.Extensions/Text/ElasticSearch/ElasticSearchTextIndex.cs b/backend/extensions/Squidex.Extensions/Text/ElasticSearch/ElasticSearchTextIndex.cs index f6996ee67..b7ada2896 100644 --- a/backend/extensions/Squidex.Extensions/Text/ElasticSearch/ElasticSearchTextIndex.cs +++ b/backend/extensions/Squidex.Extensions/Text/ElasticSearch/ElasticSearchTextIndex.cs @@ -117,7 +117,7 @@ namespace Squidex.Extensions.Text.ElasticSearch distance = $"{query.Radius}m" } } - }, + } } }, _source = new[] diff --git a/backend/extensions/Squidex.Extensions/Validation/CompositeUniqueValidator.cs b/backend/extensions/Squidex.Extensions/Validation/CompositeUniqueValidator.cs index 777a4d9d0..af9f1ae31 100644 --- a/backend/extensions/Squidex.Extensions/Validation/CompositeUniqueValidator.cs +++ b/backend/extensions/Squidex.Extensions/Validation/CompositeUniqueValidator.cs @@ -107,10 +107,7 @@ namespace Squidex.Extensions.Validation return field.Partitioning == Partitioning.Invariant && field.RawProperties.Tags?.Contains(tag) == true && - (field.RawProperties is BooleanFieldProperties || - field.RawProperties is NumberFieldProperties || - field.RawProperties is ReferencesFieldProperties || - field.RawProperties is StringFieldProperties); + field.RawProperties is BooleanFieldProperties or NumberFieldProperties or ReferencesFieldProperties or StringFieldProperties; } } } diff --git a/backend/src/Migrations/OldEvents/AppPatternUpdated.cs b/backend/src/Migrations/OldEvents/AppPatternUpdated.cs index 09b9399ff..44b8247b0 100644 --- a/backend/src/Migrations/OldEvents/AppPatternUpdated.cs +++ b/backend/src/Migrations/OldEvents/AppPatternUpdated.cs @@ -33,13 +33,13 @@ namespace Migrations.OldEvents { var newSettings = new AppSettings { - Patterns = ReadonlyList.ToReadonlyList(new List(state.Settings.Patterns.Where(x => x.Name != Name || x.Regex != Pattern)) + Patterns = new List(state.Settings.Patterns.Where(x => x.Name != Name || x.Regex != Pattern)) { new Pattern(Name, Pattern) { Message = Message } - }), + }.ToReadonlyList(), Editors = state.Settings.Editors }; diff --git a/backend/src/Migrations/OldEvents/NoopEvent.cs b/backend/src/Migrations/OldEvents/NoopEvent.cs index 8e043cb9c..1d46f5927 100644 --- a/backend/src/Migrations/OldEvents/NoopEvent.cs +++ b/backend/src/Migrations/OldEvents/NoopEvent.cs @@ -8,7 +8,7 @@ using Squidex.Domain.Apps.Events; using Squidex.Infrastructure.Reflection; -namespace Squidex.Infrastructure.EventSourcing +namespace Migrations.OldEvents { [TypeName(nameof(NoopEvent))] public sealed class NoopEvent : SquidexEvent diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Apps/Editor.cs b/backend/src/Squidex.Domain.Apps.Core.Model/Apps/Editor.cs index 5ec9ab71a..292cb3e0e 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Model/Apps/Editor.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Model/Apps/Editor.cs @@ -9,7 +9,5 @@ namespace Squidex.Domain.Apps.Core.Apps { - public sealed record Editor(string Name, string Url) - { - } + public sealed record Editor(string Name, string Url); } diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/ComponentFieldProperties.cs b/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/ComponentFieldProperties.cs index 4f102253b..63f1a00f6 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/ComponentFieldProperties.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/ComponentFieldProperties.cs @@ -16,14 +16,7 @@ namespace Squidex.Domain.Apps.Core.Schemas { init { - if (value != default) - { - SchemaIds = ReadonlyList.Create(value); - } - else - { - SchemaIds = null; - } + SchemaIds = value != default ? ReadonlyList.Create(value) : null; } get { diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/ComponentsFieldProperties.cs b/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/ComponentsFieldProperties.cs index fa9326ba8..70064de98 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/ComponentsFieldProperties.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/ComponentsFieldProperties.cs @@ -22,14 +22,7 @@ namespace Squidex.Domain.Apps.Core.Schemas { init { - if (value != default) - { - SchemaIds = ReadonlyList.Create(value); - } - else - { - SchemaIds = null; - } + SchemaIds = value != default ? ReadonlyList.Create(value) : null; } get { diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldExtensions.cs b/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldExtensions.cs index e6fc54429..62d5b078a 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldExtensions.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldExtensions.cs @@ -29,7 +29,7 @@ namespace Squidex.Domain.Apps.Core.Schemas public static bool IsComponentLike(this T field) where T : IField { - return field.RawProperties is ComponentFieldProperties || field.RawProperties is ComponentsFieldProperties; + return field.RawProperties is ComponentFieldProperties or ComponentsFieldProperties; } public static bool IsUI(this T field) where T : IField diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/EventSynchronization/SchemaSynchronizer.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/EventSynchronization/SchemaSynchronizer.cs index 70634effc..ee24f7a63 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/EventSynchronization/SchemaSynchronizer.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/EventSynchronization/SchemaSynchronizer.cs @@ -175,7 +175,7 @@ namespace Squidex.Domain.Apps.Core.EventSynchronization new FieldEnabled { FieldId = id }; } - if ((sourceField == null || sourceField is IArrayField) && targetField is IArrayField targetArrayField) + if (sourceField is null or IArrayField && targetField is IArrayField targetArrayField) { var fields = (sourceField as IArrayField)?.FieldCollection ?? FieldCollection.Empty; diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/ExtractReferenceIds/ContentReferencesExtensions.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/ExtractReferenceIds/ContentReferencesExtensions.cs index d91bdab68..cd4003449 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/ExtractReferenceIds/ContentReferencesExtensions.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/ExtractReferenceIds/ContentReferencesExtensions.cs @@ -22,7 +22,7 @@ namespace Squidex.Domain.Apps.Core.ExtractReferenceIds return false; } - static bool CanHaveReference(JsonValue value) + static bool CanValueHaveReference(JsonValue value) { if (value.Value is JsonArray) { @@ -33,7 +33,7 @@ namespace Squidex.Domain.Apps.Core.ExtractReferenceIds { foreach (var (_, nested) in o) { - if (CanHaveReference(nested)) + if (CanValueHaveReference(nested)) { return true; } @@ -49,7 +49,7 @@ namespace Squidex.Domain.Apps.Core.ExtractReferenceIds { foreach (var (_, value) in field) { - if (CanHaveReference(value)) + if (CanValueHaveReference(value)) { return true; } diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/ExtractReferenceIds/ReferencesExtractor.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/ExtractReferenceIds/ReferencesExtractor.cs index 64963d4df..9f3740ce8 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/ExtractReferenceIds/ReferencesExtractor.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/ExtractReferenceIds/ReferencesExtractor.cs @@ -126,12 +126,7 @@ namespace Squidex.Domain.Apps.Core.ExtractReferenceIds private static bool CanHaveReferences(FieldProperties properties) { - return - properties is ArrayFieldProperties || - properties is ReferencesFieldProperties || - properties is AssetsFieldProperties || - properties is ComponentFieldProperties || - properties is ComponentsFieldProperties; + return properties is ArrayFieldProperties or ReferencesFieldProperties or AssetsFieldProperties or ComponentFieldProperties or ComponentsFieldProperties; } private static void AddIds(ref Args args) diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/GenerateFilters/ContentQueryModel.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/GenerateFilters/ContentQueryModel.cs index 9a47320b5..40afa0e6a 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/GenerateFilters/ContentQueryModel.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/GenerateFilters/ContentQueryModel.cs @@ -47,7 +47,7 @@ namespace Squidex.Domain.Apps.Core.GenerateFilters }, new FilterField(SharedSchemas.Status, "status") { - Description = FieldDescriptions.ContentStatus, + Description = FieldDescriptions.ContentStatus }, new FilterField(SharedSchemas.Status, "newStatus", IsNullable: true) { diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/HandleRules/Result.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/HandleRules/Result.cs index 4335f45a4..a2bb672b0 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/HandleRules/Result.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/HandleRules/Result.cs @@ -88,7 +88,7 @@ namespace Squidex.Domain.Apps.Core.HandleRules { var result = new Result { Exception = ex, Dump = dump ?? ex?.Message }; - if (ex is OperationCanceledException || ex is TimeoutException) + if (ex is OperationCanceledException or TimeoutException) { result.Status = RuleResult.Timeout; } diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/Extensions/StringJintExtension.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/Extensions/StringJintExtension.cs index 67d19bcc5..3851587ee 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/Extensions/StringJintExtension.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/Extensions/StringJintExtension.cs @@ -17,7 +17,7 @@ namespace Squidex.Domain.Apps.Core.Scripting.Extensions { private delegate JsValue StringSlugifyDelegate(string text, bool single = false); - private readonly Func sha256 = (text) => + private readonly Func sha256 = text => { try { @@ -29,7 +29,7 @@ namespace Squidex.Domain.Apps.Core.Scripting.Extensions } }; - private readonly Func sha512 = (text) => + private readonly Func sha512 = text => { try { @@ -41,7 +41,7 @@ namespace Squidex.Domain.Apps.Core.Scripting.Extensions } }; - private readonly Func md5 = (text) => + private readonly Func md5 = text => { try { diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptExecutionContext.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptExecutionContext.cs index fdeea0b20..a1c3b10ce 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptExecutionContext.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptExecutionContext.cs @@ -40,7 +40,7 @@ namespace Squidex.Domain.Apps.Core.Scripting public bool IsCompleted { - get => tcs.Task.Status == TaskStatus.RanToCompletion || tcs.Task.Status == TaskStatus.Faulted; + get => tcs.Task.Status is TaskStatus.RanToCompletion or TaskStatus.Faulted; } internal ScriptExecutionContext(Engine engine, CancellationToken cancellationToken) diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptScope.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptScope.cs index 012dfed56..304885350 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptScope.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptScope.cs @@ -19,6 +19,6 @@ namespace Squidex.Domain.Apps.Core.Scripting ContentTrigger = 32, SchemaTrigger = 128, Transform = 256, - UsageTrigger = 512, + UsageTrigger = 512 } } diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptingValue.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptingValue.cs index b03c0a9c0..b78d50217 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptingValue.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptingValue.cs @@ -9,7 +9,5 @@ namespace Squidex.Domain.Apps.Core.Scripting { - public sealed record ScriptingValue(string Path, JsonType Type, string? Description) - { - } + public sealed record ScriptingValue(string Path, JsonType Type, string? Description); } diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidationContext.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidationContext.cs index 6c8aeefba..057004859 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidationContext.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidationContext.cs @@ -7,25 +7,20 @@ using System.Collections.Immutable; +#pragma warning disable SA1313 // Parameter names should begin with lower-case letter + namespace Squidex.Domain.Apps.Core.ValidateContent { - public sealed record ValidationContext + public sealed record ValidationContext(RootContext Root) { - public ImmutableQueue Path { get; private set; } = ImmutableQueue.Empty; + public ImmutableQueue Path { get; init; } = ImmutableQueue.Empty; public bool IsOptional { get; init; } - public RootContext Root { get; } - public ValidationMode Mode { get; init; } public ValidationAction Action { get; init; } - public ValidationContext(RootContext rootContext) - { - Root = rootContext; - } - public void AddError(IEnumerable path, string message) { Root.AddError(path, message); diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/AssetsValidator.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/AssetsValidator.cs index 0f2fd2c38..650a0f683 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/AssetsValidator.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/AssetsValidator.cs @@ -130,9 +130,7 @@ namespace Squidex.Domain.Apps.Core.ValidateContent.Validators context.AddError(path, T.Get("contents.validation.maximumSize", new { size = asset.FileSize.ToReadableSize(), max })); } - if (properties.AllowedExtensions != null && - properties.AllowedExtensions.Count > 0 && - !properties.AllowedExtensions.Any(x => asset.FileName.EndsWith("." + x, StringComparison.OrdinalIgnoreCase))) + if (properties.AllowedExtensions is { Count: > 0 } && !properties.AllowedExtensions.Any(x => asset.FileName.EndsWith("." + x, StringComparison.OrdinalIgnoreCase))) { context.AddError(path, T.Get("contents.validation.extension")); } diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/CollectionValidator.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/CollectionValidator.cs index ce8cf50f1..cde656172 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/CollectionValidator.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/CollectionValidator.cs @@ -19,7 +19,7 @@ namespace Squidex.Domain.Apps.Core.ValidateContent.Validators public CollectionValidator(bool isRequired, int? minItems = null, int? maxItems = null) { - if (minItems != null && minItems > maxItems) + if (minItems > maxItems) { ThrowHelper.ArgumentException("Min length must be greater than max length.", nameof(minItems)); } diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/ComponentValidator.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/ComponentValidator.cs index 5a564dee7..891a410eb 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/ComponentValidator.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/ComponentValidator.cs @@ -25,10 +25,7 @@ namespace Squidex.Domain.Apps.Core.ValidateContent.Validators { var validator = validatorFactory(component.Schema); - if (validator != null) - { - validator.Validate(component.Data, context); - } + validator?.Validate(component.Data, context); } } } diff --git a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/AdaptIdVisitor.cs b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/AdaptIdVisitor.cs index 640e3405b..e1680a824 100644 --- a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/AdaptIdVisitor.cs +++ b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/AdaptIdVisitor.cs @@ -32,8 +32,6 @@ namespace Squidex.Domain.Apps.Entities.MongoDb public override FilterNode Visit(CompareFilter nodeIn, Args args) { - var result = nodeIn; - var (path, _, value) = nodeIn; var clrValue = value.Value; @@ -77,7 +75,7 @@ namespace Squidex.Domain.Apps.Entities.MongoDb } } - return result with { Path = path, Value = value }; + return nodeIn with { Path = path, Value = value }; } } } diff --git a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/MongoAssetRepository.cs b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/MongoAssetRepository.cs index b4f4bb412..1d0f5d00e 100644 --- a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/MongoAssetRepository.cs +++ b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/MongoAssetRepository.cs @@ -89,7 +89,7 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Assets { try { - if (q.Ids != null && q.Ids.Count > 0) + if (q.Ids is { Count: > 0 }) { var filter = BuildFilter(appId, q.Ids.ToHashSet()); diff --git a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/MongoContentCollection.cs b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/MongoContentCollection.cs index 23491d127..822f28965 100644 --- a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/MongoContentCollection.cs +++ b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/MongoContentCollection.cs @@ -119,7 +119,7 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Contents { using (Telemetry.Activities.StartActivity("MongoContentCollection/QueryAsync")) { - if (q.Ids != null && q.Ids.Count > 0) + if (q.Ids is { Count: > 0 }) { return await queryByIds.QueryAsync(app.Id, schemas, q, ct); } @@ -148,7 +148,7 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Contents { using (Telemetry.Activities.StartActivity("MongoContentCollection/QueryAsync")) { - if (q.Ids != null && q.Ids.Count > 0) + if (q.Ids is { Count: > 0 }) { return await queryByIds.QueryAsync(app.Id, new List { schema }, q, ct); } diff --git a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/QueryByQuery.cs b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/QueryByQuery.cs index 8ba11bc85..94f1aab9a 100644 --- a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/QueryByQuery.cs +++ b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/QueryByQuery.cs @@ -216,12 +216,7 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations private static bool IsSatisfiedByIndex(ClrQuery query) { - return query.Sort != null && - query.Sort.Count == 2 && - query.Sort[0].Path.ToString() == "mt" && - query.Sort[0].Order == SortOrder.Descending && - query.Sort[1].Path.ToString() == "id" && - query.Sort[1].Order == SortOrder.Ascending; + return query.Sort is { Count: 2 } && query.Sort[0].Path.ToString() == "mt" && query.Sort[0].Order == SortOrder.Descending && query.Sort[1].Path.ToString() == "id" && query.Sort[1].Order == SortOrder.Ascending; } private static FilterDefinition BuildFilter(DomainId appId, DomainId schemaId, FilterNode? filter) diff --git a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/AtlasTextIndex.cs b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/AtlasTextIndex.cs index 55a264678..0b42c259d 100644 --- a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/AtlasTextIndex.cs +++ b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/AtlasTextIndex.cs @@ -139,7 +139,7 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Text var searchQuery = new BsonDocument { - ["compound"] = compound, + ["compound"] = compound }; if (index != null) diff --git a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/LuceneQueryVisitor.cs b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/LuceneQueryVisitor.cs index 16b22c22a..72301e480 100644 --- a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/LuceneQueryVisitor.cs +++ b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/LuceneQueryVisitor.cs @@ -111,7 +111,7 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Text { var fuzzy = new BsonDocument { - ["maxEdits"] = fuzzyQuery.MaxEdits, + ["maxEdits"] = fuzzyQuery.MaxEdits }; if (fuzzyQuery.PrefixLength > 0) @@ -154,7 +154,7 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Text var doc = new BsonDocument { - ["path"] = GetPath(terms[0].Field), + ["path"] = GetPath(terms[0].Field) }; if (terms.Length == 1) @@ -304,7 +304,7 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Text if (number == integer) { - if (integer <= int.MaxValue && integer >= int.MinValue) + if (integer is <= int.MaxValue and >= int.MinValue) { result = (int)integer; } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Apps/BackupApps.cs b/backend/src/Squidex.Domain.Apps.Entities/Apps/BackupApps.cs index 24a140d9a..08a681bc5 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/BackupApps.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/BackupApps.cs @@ -25,7 +25,6 @@ namespace Squidex.Domain.Apps.Entities.Apps private readonly IAppImageStore appImageStore; private readonly IAppsIndex appsIndex; private readonly IAppUISettings appUISettings; - private readonly HashSet contributors = new HashSet(); private string? appReservation; public string Name { get; } = "Apps"; @@ -91,7 +90,6 @@ namespace Squidex.Domain.Apps.Entities.Apps } contributorAssigned.ContributorId = user.Identifier; - contributors.Add(contributorAssigned.ContributorId); break; } @@ -103,7 +101,6 @@ namespace Squidex.Domain.Apps.Entities.Apps } contributorRemoved.ContributorId = user.Identifier; - contributors.Remove(contributorRemoved.ContributorId); break; } } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Apps/DomainObject/AppDomainObject.cs b/backend/src/Squidex.Domain.Apps.Entities/Apps/DomainObject/AppDomainObject.cs index 6a25a109f..ec6799875 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/DomainObject/AppDomainObject.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/DomainObject/AppDomainObject.cs @@ -268,7 +268,7 @@ namespace Squidex.Domain.Apps.Entities.Apps.DomainObject } else { - var result = await AppPlanBillingManager().ChangePlanAsync(c.Actor.Identifier, Snapshot.NamedId(), c.PlanId, c.Referer); + var result = await AppPlanBillingManager().ChangePlanAsync(c.Actor.Identifier, Snapshot.NamedId(), c.PlanId, c.Referer, default); switch (result) { @@ -284,7 +284,7 @@ namespace Squidex.Domain.Apps.Entities.Apps.DomainObject case DeleteApp delete: return UpdateAsync(delete, async (c, ct) => { - await AppPlanBillingManager().ChangePlanAsync(c.Actor.Identifier, Snapshot.NamedId(), null, null); + await AppPlanBillingManager().ChangePlanAsync(c.Actor.Identifier, Snapshot.NamedId(), null, null, ct); DeleteApp(c); }, ct); diff --git a/backend/src/Squidex.Domain.Apps.Entities/Apps/DomainObject/Guards/GuardAppClients.cs b/backend/src/Squidex.Domain.Apps.Entities/Apps/DomainObject/Guards/GuardAppClients.cs index 97d86b8c6..5a7f43eea 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/DomainObject/Guards/GuardAppClients.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/DomainObject/Guards/GuardAppClients.cs @@ -1,4 +1,4 @@ -// ========================================================================== +// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschraenkt) @@ -67,12 +67,12 @@ namespace Squidex.Domain.Apps.Entities.Apps.DomainObject.Guards e(Not.Valid(nameof(command.Role)), nameof(command.Role)); } - if (command.ApiCallsLimit != null && command.ApiCallsLimit < 0) + if (command.ApiCallsLimit is < 0) { e(Not.GreaterEqualsThan(nameof(command.ApiCallsLimit), "0"), nameof(command.ApiCallsLimit)); } - if (command.ApiTrafficLimit != null && command.ApiTrafficLimit < 0) + if (command.ApiTrafficLimit is < 0) { e(Not.GreaterEqualsThan(nameof(command.ApiTrafficLimit), "0"), nameof(command.ApiTrafficLimit)); } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Apps/Indexes/AppsIndex.cs b/backend/src/Squidex.Domain.Apps.Entities/Apps/Indexes/AppsIndex.cs index a142acde0..8e0487e6f 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/Indexes/AppsIndex.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/Indexes/AppsIndex.cs @@ -212,7 +212,7 @@ namespace Squidex.Domain.Apps.Entities.Apps.Indexes private static bool IsValid(IAppEntity? app) { - return app != null && app.Version > EtagVersion.Empty && !app.IsDeleted; + return app is { Version: > EtagVersion.Empty, IsDeleted: false }; } private Task InvalidateItAsync(DomainId id, string name) diff --git a/backend/src/Squidex.Domain.Apps.Entities/Apps/RolePermissionsProvider.cs b/backend/src/Squidex.Domain.Apps.Entities/Apps/RolePermissionsProvider.cs index 0a0cc08b3..87c7df0f7 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/RolePermissionsProvider.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/RolePermissionsProvider.cs @@ -17,10 +17,6 @@ namespace Squidex.Domain.Apps.Entities.Apps private readonly List forAppWithoutSchemas = new List(); private readonly IAppProvider appProvider; - static RolePermissionsProvider() - { - } - public RolePermissionsProvider(IAppProvider appProvider) { this.appProvider = appProvider; diff --git a/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/Template.cs b/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/Template.cs index 13c4257f8..1e08c8b10 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/Template.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/Template.cs @@ -9,7 +9,5 @@ namespace Squidex.Domain.Apps.Entities.Apps.Templates { - public sealed record Template(string Name, string Title, string Description, bool IsStarter) - { - } + public sealed record Template(string Name, string Title, string Description, bool IsStarter); } 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 d5a38a8b0..200a4f877 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Squidex.CLI.Commands.Implementation; using Squidex.CLI.Commands.Implementation.FileSystem; diff --git a/backend/src/Squidex.Domain.Apps.Entities/Assets/AssetChangedTriggerHandler.cs b/backend/src/Squidex.Domain.Apps.Entities/Assets/AssetChangedTriggerHandler.cs index 1d896da72..5af7b6758 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Assets/AssetChangedTriggerHandler.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Assets/AssetChangedTriggerHandler.cs @@ -40,7 +40,7 @@ namespace Squidex.Domain.Apps.Entities.Assets public bool Handles(AppEvent @event) { - return @event is AssetEvent && @event is not AssetMoved; + return @event is AssetEvent and not AssetMoved; } public async IAsyncEnumerable CreateSnapshotEventsAsync(RuleContext context, diff --git a/backend/src/Squidex.Domain.Apps.Entities/Assets/AssetDuplicate.cs b/backend/src/Squidex.Domain.Apps.Entities/Assets/AssetDuplicate.cs index d239a5c67..93821c525 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Assets/AssetDuplicate.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Assets/AssetDuplicate.cs @@ -9,7 +9,5 @@ namespace Squidex.Domain.Apps.Entities.Assets { - public sealed record AssetDuplicate(IEnrichedAssetEntity Asset) - { - } + public sealed record AssetDuplicate(IEnrichedAssetEntity Asset); } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Assets/AssetStats.cs b/backend/src/Squidex.Domain.Apps.Entities/Assets/AssetStats.cs index cfc128dfd..7a414baa6 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Assets/AssetStats.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Assets/AssetStats.cs @@ -9,10 +9,5 @@ namespace Squidex.Domain.Apps.Entities.Assets { - public sealed record AssetStats( - DateTime Date, - long TotalCount, - long TotalSize) - { - } + public sealed record AssetStats(DateTime Date, long TotalCount, long TotalSize); } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Assets/BackupAssets.cs b/backend/src/Squidex.Domain.Apps.Entities/Assets/BackupAssets.cs index 477b380a4..6aa66feaf 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Assets/BackupAssets.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Assets/BackupAssets.cs @@ -137,13 +137,13 @@ namespace Squidex.Domain.Apps.Entities.Assets var export = new TagsExport { Tags = tags, Alias = alias }; - await tagService.RebuildTagsAsync(context.AppId, TagGroups.Assets, export); + await tagService.RebuildTagsAsync(context.AppId, TagGroups.Assets, export, ct); } private async Task BackupTagsAsync(BackupContext context, CancellationToken ct) { - var tags = await tagService.GetExportableTagsAsync(context.AppId, TagGroups.Assets); + var tags = await tagService.GetExportableTagsAsync(context.AppId, TagGroups.Assets, ct); if (tags.Tags != null) { diff --git a/backend/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetCommandMiddleware.cs b/backend/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetCommandMiddleware.cs index 1640494ed..5a6e9b1f0 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetCommandMiddleware.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetCommandMiddleware.cs @@ -159,7 +159,7 @@ namespace Squidex.Domain.Apps.Entities.Assets.DomainObject { await using (var uploadStream = command.File.OpenRead()) { - using (var hashStream = new HasherStream(uploadStream, HashAlgorithmName.SHA256)) + await using (var hashStream = new HasherStream(uploadStream, HashAlgorithmName.SHA256)) { await assetFileStore.UploadAsync(tempFile, hashStream, ct); diff --git a/backend/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetDomainObject.cs b/backend/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetDomainObject.cs index 908976528..ddea4d5bd 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetDomainObject.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetDomainObject.cs @@ -130,7 +130,7 @@ namespace Squidex.Domain.Apps.Entities.Assets.DomainObject return Snapshot; }, ct); - case DeleteAsset delete when delete.Permanent: + case DeleteAsset { Permanent: true } delete: return DeletePermanentAsync(delete, async (c, ct) => { var operation = await AssetOperation.CreateAsync(serviceProvider, c, () => Snapshot); diff --git a/backend/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetsBulkUpdateCommandMiddleware.cs b/backend/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetsBulkUpdateCommandMiddleware.cs index 4575e6da9..1e043541a 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetsBulkUpdateCommandMiddleware.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetsBulkUpdateCommandMiddleware.cs @@ -105,7 +105,7 @@ namespace Squidex.Domain.Apps.Entities.Assets.DomainObject results, ct); - if (!await createCommandsBlock.SendAsync(task)) + if (!await createCommandsBlock.SendAsync(task, ct)) { break; } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Assets/ImageAssetMetadataSource.cs b/backend/src/Squidex.Domain.Apps.Entities/Assets/ImageAssetMetadataSource.cs index d1a8c06a7..517964503 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Assets/ImageAssetMetadataSource.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Assets/ImageAssetMetadataSource.cs @@ -23,11 +23,11 @@ namespace Squidex.Domain.Apps.Entities.Assets public async Task EnhanceAsync(UploadAssetCommand command, CancellationToken ct) { - if (command.Type == AssetType.Unknown || command.Type == AssetType.Image) + if (command.Type is not AssetType.Unknown or AssetType.Image) { var mimeType = command.File.MimeType; - ImageInfo? imageInfo = null; + ImageInfo? imageInfo; await using (var uploadStream = command.File.OpenRead()) { diff --git a/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetLoader.cs b/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetLoader.cs index 1b764a1bf..d9ffd2188 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetLoader.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetLoader.cs @@ -34,7 +34,7 @@ namespace Squidex.Domain.Apps.Entities.Assets.Queries asset = await GetAsync(uniqueId, version, ct); } - if (asset == null || asset.Version <= EtagVersion.Empty || (version > EtagVersion.Any && asset.Version != version)) + if (asset is not { Version: > EtagVersion.Empty } || (version > EtagVersion.Any && asset.Version != version)) { return null; } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryParser.cs b/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryParser.cs index 2d3e4ec85..55efd3903 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryParser.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryParser.cs @@ -85,9 +85,9 @@ namespace Squidex.Domain.Apps.Entities.Assets.Queries private void WithPaging(ClrQuery query, Q q) { - if (query.Take <= 0 || query.Take == long.MaxValue) + if (query.Take is <= 0 or long.MaxValue) { - if (q.Ids != null && q.Ids.Count > 0) + if (q.Ids is { Count: > 0 }) { query.Take = q.Ids.Count; } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryService.cs b/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryService.cs index 4cea7752a..8479e502e 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryService.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryService.cs @@ -150,7 +150,7 @@ namespace Squidex.Domain.Apps.Entities.Assets.Queries if (version > EtagVersion.Empty) { - asset = await assetLoader.GetAsync(context.App.Id, id, version); + asset = await assetLoader.GetAsync(context.App.Id, id, version, ct); } else { @@ -182,7 +182,7 @@ namespace Squidex.Domain.Apps.Entities.Assets.Queries var assets = await QueryCoreAsync(context, parentId, q, ct); - if (q.Ids != null && q.Ids.Count > 0) + if (q.Ids is { Count: > 0 }) { assets = assets.SortSet(x => x.Id, q.Ids); } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Backup/BackupProcessor.cs b/backend/src/Squidex.Domain.Apps.Entities/Backup/BackupProcessor.cs index c386a0f42..4d17f2c1e 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Backup/BackupProcessor.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Backup/BackupProcessor.cs @@ -119,7 +119,7 @@ namespace Squidex.Domain.Apps.Entities.Backup await backupArchiveStore.DeleteAsync(backup.Id, default); } - await state.ClearAsync(); + await state.ClearAsync(default); }); } @@ -161,7 +161,7 @@ namespace Squidex.Domain.Apps.Entities.Backup currentRun.Dispose(); currentRun = null; } - }); + }, ct); } private async Task ProcessAsync(Run run, @@ -183,7 +183,7 @@ namespace Squidex.Domain.Apps.Entities.Backup { var @event = eventFormatter.Parse(storedEvent); - if (@event.Payload is SquidexEvent squidexEvent && squidexEvent.Actor != null) + if (@event.Payload is SquidexEvent { Actor: { } } squidexEvent) { backupUsers.Backup(squidexEvent.Actor); } @@ -241,7 +241,7 @@ namespace Squidex.Domain.Apps.Entities.Backup { run.Job.Stopped = Clock.GetCurrentInstant(); - await state.WriteAsync(); + await state.WriteAsync(default); } } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Backup/BackupWorker.cs b/backend/src/Squidex.Domain.Apps.Entities/Backup/BackupWorker.cs index 6d9d028dc..8da5ae697 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Backup/BackupWorker.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Backup/BackupWorker.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using System.Collections.Concurrent; using Microsoft.Extensions.DependencyInjection; using Squidex.Hosting; using Squidex.Infrastructure; diff --git a/backend/src/Squidex.Domain.Apps.Entities/Backup/RestoreProcessor.cs b/backend/src/Squidex.Domain.Apps.Entities/Backup/RestoreProcessor.cs index 5420464ae..9353f6604 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Backup/RestoreProcessor.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Backup/RestoreProcessor.cs @@ -381,7 +381,7 @@ namespace Squidex.Domain.Apps.Entities.Backup if (newStream != null) { - if (!await batchBlock.SendAsync((newStream, job.Event))) + if (!await batchBlock.SendAsync((newStream, job.Event), ct)) { break; } @@ -416,7 +416,7 @@ namespace Squidex.Domain.Apps.Entities.Backup run.StreamMapper = new StreamMapper(run.Context); } - if (@event.Payload is SquidexEvent squidexEvent && squidexEvent.Actor != null) + if (@event.Payload is SquidexEvent { Actor: { } } squidexEvent) { if (run.Context.UserMapping.TryMap(squidexEvent.Actor, out var newUser)) { diff --git a/backend/src/Squidex.Domain.Apps.Entities/Comments/DomainObject/CommentsStream.cs b/backend/src/Squidex.Domain.Apps.Entities/Comments/DomainObject/CommentsStream.cs index dcd22e39c..4a45dc0c6 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Comments/DomainObject/CommentsStream.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Comments/DomainObject/CommentsStream.cs @@ -27,10 +27,7 @@ namespace Squidex.Domain.Apps.Entities.Comments.DomainObject private long version = EtagVersion.Empty; private string streamName; - private long Version - { - get => version; - } + private long Version => version; public CommentsStream( DomainId key, diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/ContentChangedTriggerHandler.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/ContentChangedTriggerHandler.cs index fd90fe85e..8f6d00eee 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/ContentChangedTriggerHandler.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/ContentChangedTriggerHandler.cs @@ -19,6 +19,8 @@ using Squidex.Infrastructure.EventSourcing; using Squidex.Infrastructure.Reflection; using Squidex.Text; +#pragma warning disable SA1013 // Closing braces should be spaced correctly + namespace Squidex.Domain.Apps.Entities.Contents { public sealed class ContentChangedTriggerHandler : IRuleTriggerHandler @@ -99,13 +101,13 @@ namespace Squidex.Domain.Apps.Entities.Contents case ContentDeleted: result.Type = EnrichedContentEventType.Deleted; break; - case ContentStatusChanged e when e.Change == StatusChange.Published: + case ContentStatusChanged { Change: StatusChange.Published }: result.Type = EnrichedContentEventType.Published; break; - case ContentStatusChanged e when e.Change == StatusChange.Unpublished: + case ContentStatusChanged { Change: StatusChange.Unpublished }: result.Type = EnrichedContentEventType.Unpublished; break; - case ContentStatusChanged e when e.Change == StatusChange.Change: + case ContentStatusChanged { Change: StatusChange.Change }: result.Type = EnrichedContentEventType.StatusChanged; break; case ContentUpdated: @@ -142,11 +144,11 @@ namespace Squidex.Domain.Apps.Entities.Contents return $"{e.SchemaId.Name.ToPascalCase()}Created"; case ContentDeleted e: return $"{e.SchemaId.Name.ToPascalCase()}Deleted"; - case ContentStatusChanged e when e.Change == StatusChange.Published: + case ContentStatusChanged { Change: StatusChange.Published } e: return $"{e.SchemaId.Name.ToPascalCase()}Published"; - case ContentStatusChanged e when e.Change == StatusChange.Unpublished: + case ContentStatusChanged { Change: StatusChange.Unpublished } e: return $"{e.SchemaId.Name.ToPascalCase()}Unpublished"; - case ContentStatusChanged e when e.Change == StatusChange.Change: + case ContentStatusChanged { Change: StatusChange.Change } e: return $"{e.SchemaId.Name.ToPascalCase()}StatusChanged"; case ContentUpdated e: return $"{e.SchemaId.Name.ToPascalCase()}Updated"; diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/Counter/CounterJintExtension.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/Counter/CounterJintExtension.cs index 06901762a..c86a92c31 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/Counter/CounterJintExtension.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/Counter/CounterJintExtension.cs @@ -92,7 +92,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Counter { context.Schedule(async (scheduler, ct) => { - var result = await counterService.IncrementAsync(appId, name); + var result = await counterService.IncrementAsync(appId, name, ct); if (callback != null) { @@ -110,7 +110,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Counter { context.Schedule(async (scheduler, ct) => { - var result = await counterService.ResetAsync(appId, name, value); + var result = await counterService.ResetAsync(appId, name, value, ct); if (callback != null) { diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentCommandMiddleware.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentCommandMiddleware.cs index 8b88afa98..f3b2c3a8b 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentCommandMiddleware.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentCommandMiddleware.cs @@ -32,7 +32,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.DomainObject { var payload = await base.EnrichResultAsync(context, result, ct); - if (payload is IContentEntity content && payload is not IEnrichedContentEntity) + if (payload is IContentEntity content and not IEnrichedContentEntity) { payload = await contentEnricher.EnrichAsync(content, true, contextProvider.Context, ct); } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentDomainObject.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentDomainObject.cs index 87f5c2875..9d5122c6e 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentDomainObject.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentDomainObject.cs @@ -42,7 +42,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.DomainObject protected override bool CanAcceptCreation(ICommand command) { - return command is CreateContent || command is UpsertContent; + return command is CreateContent or UpsertContent; } protected override bool CanRecreate() @@ -204,7 +204,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.DomainObject return Snapshot; }, ct); - case DeleteContent deleteContent when deleteContent.Permanent: + case DeleteContent { Permanent: true } deleteContent: return DeletePermanentAsync(deleteContent, async (c, ct) => { var operation = await ContentOperation.CreateAsync(serviceProvider, c, () => Snapshot); diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentsBulkUpdateCommandMiddleware.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentsBulkUpdateCommandMiddleware.cs index f7db5e6e8..48f1d3dfe 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentsBulkUpdateCommandMiddleware.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentsBulkUpdateCommandMiddleware.cs @@ -113,7 +113,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.DomainObject results, ct); - if (!await createCommandsBlock.SendAsync(task)) + if (!await createCommandsBlock.SendAsync(task, ct)) { break; } @@ -313,7 +313,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.DomainObject return existing.Select(x => x.Id).ToArray(); } - if (task.CommandJob.Type == BulkUpdateContentType.Create || task.CommandJob.Type == BulkUpdateContentType.Upsert) + if (task.CommandJob.Type is BulkUpdateContentType.Create or BulkUpdateContentType.Upsert) { return new[] { DomainId.NewGuid() }; } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/Guards/ScriptingExtensions.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/Guards/ScriptingExtensions.cs index 2c3a02930..e8b835dae 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/Guards/ScriptingExtensions.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/Guards/ScriptingExtensions.cs @@ -61,7 +61,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.DomainObject.Guards OldStatus = operation.Snapshot.Status, Operation = "Update", Status = operation.Snapshot.EditingStatus(), - StatusOld = default, + StatusOld = default }); return TransformAsync(operation, script, vars); diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/GraphQL/Types/Contents/DataInputGraphType.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/GraphQL/Types/Contents/DataInputGraphType.cs index 70c3c1bdc..b8e4f03d2 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/GraphQL/Types/Contents/DataInputGraphType.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/GraphQL/Types/Contents/DataInputGraphType.cs @@ -78,7 +78,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL.Types.Contents foreach (var item in list) { - if (item is JsonValue nested && nested.Value is JsonObject) + if (item is JsonValue { Value: JsonObject } nested) { array.Add(nested); } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/GraphQL/Types/Contents/FieldVisitor.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/GraphQL/Types/Contents/FieldVisitor.cs index d8e6e2eb5..bb3997e98 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/GraphQL/Types/Contents/FieldVisitor.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/GraphQL/Types/Contents/FieldVisitor.cs @@ -17,7 +17,7 @@ using Squidex.Infrastructure.Json.Objects; namespace Squidex.Domain.Apps.Entities.Contents.GraphQL.Types.Contents { - public delegate T ValueResolver(JsonValue value, IResolveFieldContext fieldContext, GraphQLExecutionContext context); + public delegate T ValueResolver(JsonValue value, IResolveFieldContext fieldContext, GraphQLExecutionContext context); public delegate Task AsyncValueResolver(JsonValue value, IResolveFieldContext fieldContext, GraphQLExecutionContext context); diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentLoader.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentLoader.cs index be89ea185..85efb1cfd 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentLoader.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentLoader.cs @@ -34,7 +34,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries content = await GetAsync(uniqueId, version, ct); } - if (content == null || content.Version <= EtagVersion.Empty || (version > EtagVersion.Any && content.Version != version)) + if (content is not { Version: > EtagVersion.Empty } || (version > EtagVersion.Any && content.Version != version)) { return null; } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryParser.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryParser.cs index ef3ee6567..9f35a2acb 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryParser.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryParser.cs @@ -156,9 +156,9 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries private void WithPaging(ClrQuery query, Q q) { - if (query.Take <= 0 || query.Take == long.MaxValue) + if (query.Take is <= 0 or long.MaxValue) { - if (q.Ids != null && q.Ids.Count > 0) + if (q.Ids is { Count: > 0 }) { query.Take = q.Ids.Count; } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryService.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryService.cs index 7289e8a1f..0d1efae5d 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryService.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryService.cs @@ -60,7 +60,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries if (version > EtagVersion.Empty) { - content = await contentLoader.GetAsync(context.App.Id, id, version); + content = await contentLoader.GetAsync(context.App.Id, id, version, ct); } else { @@ -99,7 +99,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries var contents = await QueryCoreAsync(context, q, schema, ct); - if (q.Ids != null && q.Ids.Count > 0) + if (q.Ids is { Count: > 0 }) { contents = contents.SortSet(x => x.Id, q.Ids); } @@ -131,7 +131,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries var contents = await QueryCoreAsync(context, q, schemas, ct); - if (q.Ids != null && q.Ids.Count > 0) + if (q.Ids is { Count: > 0 }) { contents = contents.SortSet(x => x.Id, q.Ids); } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/GeoQuery.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/GeoQuery.cs index e7d2a3849..d448caf22 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/GeoQuery.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/GeoQuery.cs @@ -11,7 +11,5 @@ using Squidex.Infrastructure; namespace Squidex.Domain.Apps.Entities.Contents.Text { - public sealed record GeoQuery(DomainId SchemaId, string Field, double Latitude, double Longitude, double Radius, int Take) - { - } + public sealed record GeoQuery(DomainId SchemaId, string Field, double Latitude, double Longitude, double Radius, int Take); } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/QueryParser.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/QueryParser.cs index 3d8953d9d..3ebfa2e94 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/QueryParser.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/QueryParser.cs @@ -51,8 +51,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text { lastIndexOfColon = indexOfColon; - var i = 0; - + int i; for (i = indexOfColon - 1; i >= position; i--) { var c = query[i]; diff --git a/backend/src/Squidex.Domain.Apps.Entities/History/NotifoService.cs b/backend/src/Squidex.Domain.Apps.Entities/History/NotifoService.cs index 08e3b62e9..4ca364af5 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/History/NotifoService.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/History/NotifoService.cs @@ -240,7 +240,7 @@ namespace Squidex.Domain.Apps.Entities.History private IEnumerable CreateRequests(Envelope appEvent, HistoryEvent? historyEvent) { - if (appEvent.Payload is CommentCreated comment && comment.Mentions?.Length > 0) + if (appEvent.Payload is CommentCreated { Mentions.Length: > 0 } comment) { foreach (var userId in comment.Mentions) { @@ -267,7 +267,7 @@ namespace Squidex.Domain.Apps.Entities.History publishRequest.Properties["SquidexApp"] = payload.AppId.Name; - if (payload is ContentEvent @event && payload is not ContentDeleted) + if (payload is ContentEvent @event and not ContentDeleted) { var url = urlGenerator.ContentUI(@event.AppId, @event.SchemaId, @event.ContentId); diff --git a/backend/src/Squidex.Domain.Apps.Entities/Rules/DomainObject/Guards/RuleTriggerValidator.cs b/backend/src/Squidex.Domain.Apps.Entities/Rules/DomainObject/Guards/RuleTriggerValidator.cs index da4cbdcf4..c63579393 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Rules/DomainObject/Guards/RuleTriggerValidator.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Rules/DomainObject/Guards/RuleTriggerValidator.cs @@ -1,4 +1,4 @@ -// ========================================================================== +// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschraenkt) @@ -57,7 +57,7 @@ namespace Squidex.Domain.Apps.Entities.Rules.DomainObject.Guards { var errors = new List(); - if (trigger.NumDays != null && (trigger.NumDays < 1 || trigger.NumDays > 30)) + if (trigger.NumDays is < 1 or > 30) { errors.Add(new ValidationError(Not.Between(nameof(trigger.NumDays), 1, 30), nameof(trigger.NumDays))); } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Rules/Indexes/RulesIndex.cs b/backend/src/Squidex.Domain.Apps.Entities/Rules/Indexes/RulesIndex.cs index b268526ec..50b5dd4bb 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Rules/Indexes/RulesIndex.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Rules/Indexes/RulesIndex.cs @@ -32,7 +32,7 @@ namespace Squidex.Domain.Apps.Entities.Rules.Indexes private static bool IsValid(IRuleEntity? rule) { - return rule != null && rule.Version > EtagVersion.Empty && !rule.IsDeleted; + return rule is { Version: > EtagVersion.Empty, IsDeleted: false }; } } } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Rules/RuleCommandMiddleware.cs b/backend/src/Squidex.Domain.Apps.Entities/Rules/RuleCommandMiddleware.cs index 4225a15d8..692c4ea20 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Rules/RuleCommandMiddleware.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Rules/RuleCommandMiddleware.cs @@ -29,7 +29,7 @@ namespace Squidex.Domain.Apps.Entities.Rules { var payload = await base.EnrichResultAsync(context, result, ct); - if (payload is IRuleEntity rule && payload is not IEnrichedRuleEntity) + if (payload is IRuleEntity rule and not IEnrichedRuleEntity) { payload = await ruleEnricher.EnrichAsync(rule, contextProvider.Context, ct); } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Rules/UsageTracking/UsageTrackerCommandMiddleware.cs b/backend/src/Squidex.Domain.Apps.Entities/Rules/UsageTracking/UsageTrackerCommandMiddleware.cs index 6078881fc..8537a5beb 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Rules/UsageTracking/UsageTrackerCommandMiddleware.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Rules/UsageTracking/UsageTrackerCommandMiddleware.cs @@ -29,10 +29,10 @@ namespace Squidex.Domain.Apps.Entities.Rules.UsageTracking case DeleteRule deleteRule: await messaging.PublishAsync(new UsageTrackingRemove(deleteRule.RuleId), ct: default); break; - case CreateRule createRule when createRule.Trigger is UsageTrigger usage: + case CreateRule { Trigger: UsageTrigger usage } createRule: await messaging.PublishAsync(new UsageTrackingAdd(createRule.RuleId, createRule.AppId, usage.Limit, usage.NumDays), ct: default); break; - case UpdateRule ruleUpdated when ruleUpdated.Trigger is UsageTrigger usage: + case UpdateRule { Trigger: UsageTrigger usage } ruleUpdated: await messaging.PublishAsync(new UsageTrackingUpdate(ruleUpdated.RuleId, usage.Limit, usage.NumDays), ct: default); break; } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Schemas/DomainObject/Guards/FieldPropertiesValidator.cs b/backend/src/Squidex.Domain.Apps.Entities/Schemas/DomainObject/Guards/FieldPropertiesValidator.cs index 2783fe07d..b43e2f2e4 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Schemas/DomainObject/Guards/FieldPropertiesValidator.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Schemas/DomainObject/Guards/FieldPropertiesValidator.cs @@ -157,7 +157,7 @@ namespace Squidex.Domain.Apps.Entities.Schemas.DomainObject.Guards nameof(properties.Editor)); } - if ((properties.Editor == NumberFieldEditor.Radio || properties.Editor == NumberFieldEditor.Dropdown) && properties.AllowedValues?.Any() != true) + if (properties.Editor is NumberFieldEditor.Radio or NumberFieldEditor.Dropdown && properties.AllowedValues?.Any() != true) { yield return new ValidationError(T.Get("schemas.stringEditorsNeedAllowedValuesError"), nameof(properties.AllowedValues)); @@ -215,7 +215,7 @@ namespace Squidex.Domain.Apps.Entities.Schemas.DomainObject.Guards nameof(properties.ContentType)); } - if ((properties.Editor == StringFieldEditor.Radio || properties.Editor == StringFieldEditor.Dropdown) && properties.AllowedValues?.Any() != true) + if (properties.Editor is StringFieldEditor.Radio or StringFieldEditor.Dropdown && properties.AllowedValues?.Any() != true) { yield return new ValidationError(T.Get("schemas.stringEditorsNeedAllowedValuesError"), nameof(properties.AllowedValues)); @@ -264,7 +264,7 @@ namespace Squidex.Domain.Apps.Entities.Schemas.DomainObject.Guards nameof(properties.Editor)); } - if ((properties.Editor == TagsFieldEditor.Checkboxes || properties.Editor == TagsFieldEditor.Dropdown) && properties.AllowedValues?.Any() != true) + if (properties.Editor is TagsFieldEditor.Checkboxes or TagsFieldEditor.Dropdown && properties.AllowedValues?.Any() != true) { yield return new ValidationError(T.Get("schemas.tags.editorNeedsAllowedValues"), nameof(properties.AllowedValues)); diff --git a/backend/src/Squidex.Domain.Apps.Entities/Schemas/Indexes/SchemasIndex.cs b/backend/src/Squidex.Domain.Apps.Entities/Schemas/Indexes/SchemasIndex.cs index 832b86764..e4777b161 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Schemas/Indexes/SchemasIndex.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Schemas/Indexes/SchemasIndex.cs @@ -171,7 +171,7 @@ namespace Squidex.Domain.Apps.Entities.Schemas.Indexes { var existing = await schemaRepository.FindAsync(command.AppId.Id, command.Name, ct); - if (existing != null && !existing.IsDeleted) + if (existing is { IsDeleted: false }) { throw new ValidationException(T.Get("schemas.nameAlreadyExists")); } @@ -208,7 +208,7 @@ namespace Squidex.Domain.Apps.Entities.Schemas.Indexes private static bool IsValid(ISchemaEntity? schema) { - return schema != null && schema.Version > EtagVersion.Empty && !schema.IsDeleted; + return schema is { Version: > EtagVersion.Empty, IsDeleted: false }; } private Task InvalidateItAsync(DomainId appId, DomainId id, string name) diff --git a/backend/src/Squidex.Domain.Users.MongoDb/MongoUser.cs b/backend/src/Squidex.Domain.Users.MongoDb/MongoUser.cs index 0303d6236..bf48a508c 100644 --- a/backend/src/Squidex.Domain.Users.MongoDb/MongoUser.cs +++ b/backend/src/Squidex.Domain.Users.MongoDb/MongoUser.cs @@ -54,7 +54,7 @@ namespace Squidex.Domain.Users.MongoDb internal void AddClaims(IEnumerable claims) { - claims.Foreach(x => AddClaim(x)); + claims.Foreach(AddClaim); } internal void AddToken(string provider, string name, string value) @@ -84,7 +84,7 @@ namespace Squidex.Domain.Users.MongoDb internal void RemoveClaims(IEnumerable claims) { - claims.Foreach(x => RemoveClaim(x)); + claims.Foreach(RemoveClaim); } internal void ReplaceClaim(Claim existingClaim, Claim newClaim) diff --git a/backend/src/Squidex.Domain.Users/DefaultUserService.cs b/backend/src/Squidex.Domain.Users/DefaultUserService.cs index dd5dfd4d3..a7c93956e 100644 --- a/backend/src/Squidex.Domain.Users/DefaultUserService.cs +++ b/backend/src/Squidex.Domain.Users/DefaultUserService.cs @@ -215,16 +215,16 @@ namespace Squidex.Domain.Users var resolved = await ResolveAsync(user); - foreach (var @events in userEvents) + foreach (var events in userEvents) { - await @events.OnUserRegisteredAsync(resolved); + await events.OnUserRegisteredAsync(resolved); } if (HasConsentGiven(values, null!)) { - foreach (var @events in userEvents) + foreach (var events in userEvents) { - await @events.OnConsentGivenAsync(resolved); + await events.OnConsentGivenAsync(resolved); } } @@ -281,16 +281,16 @@ namespace Squidex.Domain.Users if (!silent) { - foreach (var @events in userEvents) + foreach (var events in userEvents) { - await @events.OnUserUpdatedAsync(resolved, oldUser); + await events.OnUserUpdatedAsync(resolved, oldUser); } if (HasConsentGiven(values, oldUser)) { - foreach (var @events in userEvents) + foreach (var events in userEvents) { - await @events.OnConsentGivenAsync(resolved); + await events.OnConsentGivenAsync(resolved); } } } @@ -341,9 +341,9 @@ namespace Squidex.Domain.Users await userManager.DeleteAsync(user).Throw(log); - foreach (var @events in userEvents) + foreach (var events in userEvents) { - await @events.OnUserDeletedAsync(resolved); + await events.OnUserDeletedAsync(resolved); } } diff --git a/backend/src/Squidex.Infrastructure.GetEventStore/EventSourcing/GetEventStore.cs b/backend/src/Squidex.Infrastructure.GetEventStore/EventSourcing/GetEventStore.cs index a9bc46b7a..ddee50b26 100644 --- a/backend/src/Squidex.Infrastructure.GetEventStore/EventSourcing/GetEventStore.cs +++ b/backend/src/Squidex.Infrastructure.GetEventStore/EventSourcing/GetEventStore.cs @@ -83,7 +83,7 @@ namespace Squidex.Infrastructure.EventSourcing var stream = QueryReverseAsync(streamName, StreamPosition.End, take, ct); - await foreach (var storedEvent in stream.IgnoreNotFound(ct).TakeWhile(x => x.Data.Headers.Timestamp() >= timestamp)) + await foreach (var storedEvent in stream.IgnoreNotFound(ct).TakeWhile(x => x.Data.Headers.Timestamp() >= timestamp).WithCancellation(ct)) { yield return storedEvent; } diff --git a/backend/src/Squidex.Infrastructure.MongoDb/Migrations/MongoMigrationStatus.cs b/backend/src/Squidex.Infrastructure.MongoDb/Migrations/MongoMigrationStatus.cs index f4ec03177..add92fd9a 100644 --- a/backend/src/Squidex.Infrastructure.MongoDb/Migrations/MongoMigrationStatus.cs +++ b/backend/src/Squidex.Infrastructure.MongoDb/Migrations/MongoMigrationStatus.cs @@ -44,7 +44,7 @@ namespace Squidex.Infrastructure.Migrations UpsertFind, ct); - return entity == null || !entity.IsLocked; + return entity is not { IsLocked: true }; } public Task CompleteAsync(int newVersion, diff --git a/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonReader.cs b/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonReader.cs index 3e9e1d8e5..7b035e827 100644 --- a/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonReader.cs +++ b/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonReader.cs @@ -25,9 +25,7 @@ namespace Squidex.Infrastructure.MongoDb public override bool Read() { - if (bsonReader.State == BsonReaderState.Initial || - bsonReader.State == BsonReaderState.ScopeDocument || - bsonReader.State == BsonReaderState.Type) + if (bsonReader.State is BsonReaderState.Initial or BsonReaderState.ScopeDocument or BsonReaderState.Type) { bsonReader.ReadBsonType(); } diff --git a/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/DomainIdSerializer.cs b/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/DomainIdSerializer.cs index b76b0abbf..a7f44e04a 100644 --- a/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/DomainIdSerializer.cs +++ b/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/DomainIdSerializer.cs @@ -41,8 +41,7 @@ namespace Squidex.Infrastructure.MongoDb case BsonType.Binary: var binary = context.Reader.ReadBinaryData(); - if (binary.SubType == BsonBinarySubType.UuidLegacy || - binary.SubType == BsonBinarySubType.UuidStandard) + if (binary.SubType is BsonBinarySubType.UuidLegacy or BsonBinarySubType.UuidStandard) { return DomainId.Create(binary.ToGuid()); } diff --git a/backend/src/Squidex.Infrastructure.MongoDb/UsageTracking/MongoUsageRepository.cs b/backend/src/Squidex.Infrastructure.MongoDb/UsageTracking/MongoUsageRepository.cs index 3f2dd6365..495f89290 100644 --- a/backend/src/Squidex.Infrastructure.MongoDb/UsageTracking/MongoUsageRepository.cs +++ b/backend/src/Squidex.Infrastructure.MongoDb/UsageTracking/MongoUsageRepository.cs @@ -31,7 +31,7 @@ namespace Squidex.Infrastructure.UsageTracking .Ascending(x => x.Key) .Ascending(x => x.Category) .Ascending(x => x.Date)), - cancellationToken: ct = default); + cancellationToken: ct); } public Task DeleteAsync(string key, diff --git a/backend/src/Squidex.Infrastructure/Collections/ReadonlyDictionary.cs b/backend/src/Squidex.Infrastructure/Collections/ReadonlyDictionary.cs index 81c9aa208..117c6b94e 100644 --- a/backend/src/Squidex.Infrastructure/Collections/ReadonlyDictionary.cs +++ b/backend/src/Squidex.Infrastructure/Collections/ReadonlyDictionary.cs @@ -12,7 +12,7 @@ namespace Squidex.Infrastructure.Collections private static class Empties where TKey : notnull { #pragma warning disable SA1401 // Fields should be private - public static ReadonlyDictionary Instance = new ReadonlyDictionary(); + public static readonly ReadonlyDictionary Instance = new ReadonlyDictionary(); #pragma warning restore SA1401 // Fields should be private } diff --git a/backend/src/Squidex.Infrastructure/Collections/ReadonlyList.cs b/backend/src/Squidex.Infrastructure/Collections/ReadonlyList.cs index cddcc69ef..d0e3413b4 100644 --- a/backend/src/Squidex.Infrastructure/Collections/ReadonlyList.cs +++ b/backend/src/Squidex.Infrastructure/Collections/ReadonlyList.cs @@ -12,7 +12,7 @@ namespace Squidex.Infrastructure.Collections private static class Empties { #pragma warning disable SA1401 // Fields should be private - public static ReadonlyList Instance = new ReadonlyList(); + public static readonly ReadonlyList Instance = new ReadonlyList(); #pragma warning restore SA1401 // Fields should be private } diff --git a/backend/src/Squidex.Infrastructure/Commands/DefaultDomainObjectCache.cs b/backend/src/Squidex.Infrastructure/Commands/DefaultDomainObjectCache.cs index d5b900ad1..fd1600f71 100644 --- a/backend/src/Squidex.Infrastructure/Commands/DefaultDomainObjectCache.cs +++ b/backend/src/Squidex.Infrastructure/Commands/DefaultDomainObjectCache.cs @@ -73,7 +73,7 @@ namespace Squidex.Infrastructure.Commands { using (var stream = DefaultPools.MemoryStream.GetStream()) { - serializer.Serialize(snapshot, stream, true); + serializer.Serialize(snapshot, stream, true); await distributedCache.SetAsync(cacheKey, stream.ToArray(), CacheOptions, ct); } diff --git a/backend/src/Squidex.Infrastructure/Commands/DomainObject.cs b/backend/src/Squidex.Infrastructure/Commands/DomainObject.cs index 33d67830e..a4f901220 100644 --- a/backend/src/Squidex.Infrastructure/Commands/DomainObject.cs +++ b/backend/src/Squidex.Infrastructure/Commands/DomainObject.cs @@ -127,9 +127,7 @@ namespace Squidex.Infrastructure.Commands { try { -#pragma warning disable MA0040 // Flow the cancellation token - await persistence.WriteSnapshotAsync(Snapshot); -#pragma warning restore MA0040 // Flow the cancellation token + await persistence.WriteSnapshotAsync(Snapshot, default); } catch (Exception ex) { diff --git a/backend/src/Squidex.Infrastructure/Commands/IMigratedStateEvent.cs b/backend/src/Squidex.Infrastructure/Commands/IMigratedStateEvent.cs index 136ff1ac7..a3329452d 100644 --- a/backend/src/Squidex.Infrastructure/Commands/IMigratedStateEvent.cs +++ b/backend/src/Squidex.Infrastructure/Commands/IMigratedStateEvent.cs @@ -9,7 +9,7 @@ using Squidex.Infrastructure.EventSourcing; namespace Squidex.Infrastructure.Commands { - public interface IMigratedStateEvent + public interface IMigratedStateEvent { IEvent Migrate(T state); } diff --git a/backend/src/Squidex.Infrastructure/DisposableObjectBase.cs b/backend/src/Squidex.Infrastructure/DisposableObjectBase.cs index 4464e363b..6eb711fbf 100644 --- a/backend/src/Squidex.Infrastructure/DisposableObjectBase.cs +++ b/backend/src/Squidex.Infrastructure/DisposableObjectBase.cs @@ -12,13 +12,7 @@ namespace Squidex.Infrastructure private readonly object disposeLock = new object(); private bool isDisposed; - public bool IsDisposed - { - get - { - return isDisposed; - } - } + public bool IsDisposed => isDisposed; public void Dispose() { diff --git a/backend/src/Squidex.Infrastructure/EventSourcing/Consume/BatchSubscriber.cs b/backend/src/Squidex.Infrastructure/EventSourcing/Consume/BatchSubscriber.cs index f38eff342..6760bc602 100644 --- a/backend/src/Squidex.Infrastructure/EventSourcing/Consume/BatchSubscriber.cs +++ b/backend/src/Squidex.Infrastructure/EventSourcing/Consume/BatchSubscriber.cs @@ -95,7 +95,7 @@ namespace Squidex.Infrastructure.EventSourcing.Consume { switch (task) { - case ErrorJob error when error.Exception is not OperationCanceledException: + case ErrorJob { Exception: not OperationCanceledException } error: { await processor.OnErrorAsync(this, error.Exception); break; diff --git a/backend/src/Squidex.Infrastructure/EventSourcing/StoredEvent.cs b/backend/src/Squidex.Infrastructure/EventSourcing/StoredEvent.cs index 71cb87540..cbdc9b292 100644 --- a/backend/src/Squidex.Infrastructure/EventSourcing/StoredEvent.cs +++ b/backend/src/Squidex.Infrastructure/EventSourcing/StoredEvent.cs @@ -9,7 +9,5 @@ namespace Squidex.Infrastructure.EventSourcing { - public sealed record StoredEvent(string StreamName, string EventPosition, long EventStreamNumber, EventData Data) - { - } + public sealed record StoredEvent(string StreamName, string EventPosition, long EventStreamNumber, EventData Data); } diff --git a/backend/src/Squidex.Infrastructure/Guard.cs b/backend/src/Squidex.Infrastructure/Guard.cs index 421dce6d7..84e9501e0 100644 --- a/backend/src/Squidex.Infrastructure/Guard.cs +++ b/backend/src/Squidex.Infrastructure/Guard.cs @@ -193,7 +193,7 @@ namespace Squidex.Infrastructure { NotNull(target, parameterName); - if (target != null && target.Count == 0) + if (target is { Count: 0 }) { ThrowHelper.ArgumentException("Collection does not contain an item.", parameterName); return default!; diff --git a/backend/src/Squidex.Infrastructure/IWithId.cs b/backend/src/Squidex.Infrastructure/IWithId.cs index fe5b7de36..1cc689437 100644 --- a/backend/src/Squidex.Infrastructure/IWithId.cs +++ b/backend/src/Squidex.Infrastructure/IWithId.cs @@ -7,7 +7,7 @@ namespace Squidex.Infrastructure { - public interface IWithId + public interface IWithId { T Id { get; } } diff --git a/backend/src/Squidex.Infrastructure/Json/Objects/JsonValue.cs b/backend/src/Squidex.Infrastructure/Json/Objects/JsonValue.cs index 7b7e7a0ad..70f6fb19a 100644 --- a/backend/src/Squidex.Infrastructure/Json/Objects/JsonValue.cs +++ b/backend/src/Squidex.Infrastructure/Json/Objects/JsonValue.cs @@ -121,27 +121,27 @@ namespace Squidex.Infrastructure.Json.Objects { Guard.ValidNumber(value); - this.Value = value; + Value = value; } public JsonValue(bool value) { - this.Value = value; + Value = value; } public JsonValue(string? value) { - this.Value = value; + Value = value; } public JsonValue(JsonArray? value) { - this.Value = value; + Value = value; } public JsonValue(JsonObject? value) { - this.Value = value; + Value = value; } public static JsonValue Create(IReadOnlyDictionary? values) diff --git a/backend/src/Squidex.Infrastructure/States/BatchContext.cs b/backend/src/Squidex.Infrastructure/States/BatchContext.cs index e720ef3dd..b49c0c25a 100644 --- a/backend/src/Squidex.Infrastructure/States/BatchContext.cs +++ b/backend/src/Squidex.Infrastructure/States/BatchContext.cs @@ -19,7 +19,7 @@ namespace Squidex.Infrastructure.States private readonly IEventStore eventStore; private readonly IEventStreamNames eventStreamNames; private readonly ISnapshotStore snapshotStore; - private readonly Dictionary>)> @events = new Dictionary>)>(); + private readonly Dictionary>)> events = new Dictionary>)>(); private Dictionary>? snapshots; public ISnapshotStore Snapshots => snapshotStore; diff --git a/backend/src/Squidex.Infrastructure/States/BatchPersistence.cs b/backend/src/Squidex.Infrastructure/States/BatchPersistence.cs index 067b11c4e..38a9e2775 100644 --- a/backend/src/Squidex.Infrastructure/States/BatchPersistence.cs +++ b/backend/src/Squidex.Infrastructure/States/BatchPersistence.cs @@ -20,7 +20,7 @@ namespace Squidex.Infrastructure.States public bool IsSnapshotStale => false; - internal BatchPersistence(DomainId ownerKey, BatchContext context, long version, IReadOnlyList> @events, + internal BatchPersistence(DomainId ownerKey, BatchContext context, long version, IReadOnlyList> events, HandleEvent? applyEvent) { this.ownerKey = ownerKey; diff --git a/backend/src/Squidex.Infrastructure/Tasks/PartitionedActionBlock.cs b/backend/src/Squidex.Infrastructure/Tasks/PartitionedActionBlock.cs index 0e5df689a..e37687635 100644 --- a/backend/src/Squidex.Infrastructure/Tasks/PartitionedActionBlock.cs +++ b/backend/src/Squidex.Infrastructure/Tasks/PartitionedActionBlock.cs @@ -35,13 +35,13 @@ namespace Squidex.Infrastructure.Tasks for (var i = 0; i < dataflowBlockOptions.MaxDegreeOfParallelism; i++) { - workers[i] = new ActionBlock(action, new ExecutionDataflowBlockOptions() + workers[i] = new ActionBlock(action, new ExecutionDataflowBlockOptions { BoundedCapacity = dataflowBlockOptions.BoundedCapacity, CancellationToken = dataflowBlockOptions.CancellationToken, MaxDegreeOfParallelism = 1, MaxMessagesPerTask = 1, - TaskScheduler = dataflowBlockOptions.TaskScheduler, + TaskScheduler = dataflowBlockOptions.TaskScheduler }); } diff --git a/backend/src/Squidex.Infrastructure/UsageTracking/ApiStats.cs b/backend/src/Squidex.Infrastructure/UsageTracking/ApiStats.cs index 8b32b3544..feb54f63d 100644 --- a/backend/src/Squidex.Infrastructure/UsageTracking/ApiStats.cs +++ b/backend/src/Squidex.Infrastructure/UsageTracking/ApiStats.cs @@ -9,10 +9,5 @@ namespace Squidex.Infrastructure.UsageTracking { - public sealed record ApiStats( - DateTime Date, - long TotalCalls, double AverageElapsedMs, - long TotalBytes) - { - } + public sealed record ApiStats(DateTime Date, long TotalCalls, double AverageElapsedMs, long TotalBytes); } diff --git a/backend/src/Squidex.Infrastructure/UsageTracking/ApiStatsSummary.cs b/backend/src/Squidex.Infrastructure/UsageTracking/ApiStatsSummary.cs index d08d1e7d1..3288f1245 100644 --- a/backend/src/Squidex.Infrastructure/UsageTracking/ApiStatsSummary.cs +++ b/backend/src/Squidex.Infrastructure/UsageTracking/ApiStatsSummary.cs @@ -14,7 +14,5 @@ namespace Squidex.Infrastructure.UsageTracking long TotalCalls, long TotalBytes, long MonthCalls, - long MonthBytes) - { - } + long MonthBytes); } diff --git a/backend/src/Squidex.Infrastructure/UsageTracking/StoredUsage.cs b/backend/src/Squidex.Infrastructure/UsageTracking/StoredUsage.cs index 6584388aa..6ca2c93d2 100644 --- a/backend/src/Squidex.Infrastructure/UsageTracking/StoredUsage.cs +++ b/backend/src/Squidex.Infrastructure/UsageTracking/StoredUsage.cs @@ -9,7 +9,5 @@ namespace Squidex.Infrastructure.UsageTracking { - public sealed record StoredUsage(string? Category, DateTime Date, Counters Counters) - { - } + public sealed record StoredUsage(string? Category, DateTime Date, Counters Counters); } diff --git a/backend/src/Squidex.Web/ApiExceptionFilterAttribute.cs b/backend/src/Squidex.Web/ApiExceptionFilterAttribute.cs index 459905227..95ed8a5a5 100644 --- a/backend/src/Squidex.Web/ApiExceptionFilterAttribute.cs +++ b/backend/src/Squidex.Web/ApiExceptionFilterAttribute.cs @@ -16,7 +16,7 @@ namespace Squidex.Web { public override Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next) { - if (context.Result is ObjectResult objectResult && objectResult.Value is ProblemDetails problem) + if (context.Result is ObjectResult { Value: ProblemDetails problem }) { var (error, _) = problem.ToErrorDto(context.HttpContext); diff --git a/backend/src/Squidex.Web/CommandMiddlewares/EnrichWithAppIdCommandMiddleware.cs b/backend/src/Squidex.Web/CommandMiddlewares/EnrichWithAppIdCommandMiddleware.cs index 9c9b36144..7424eb283 100644 --- a/backend/src/Squidex.Web/CommandMiddlewares/EnrichWithAppIdCommandMiddleware.cs +++ b/backend/src/Squidex.Web/CommandMiddlewares/EnrichWithAppIdCommandMiddleware.cs @@ -24,7 +24,7 @@ namespace Squidex.Web.CommandMiddlewares public Task HandleAsync(CommandContext context, NextDelegate next, CancellationToken ct) { - if (context.Command is IAppCommand appCommand && appCommand.AppId == null) + if (context.Command is IAppCommand { AppId: null } appCommand) { var appId = GetAppId(); diff --git a/backend/src/Squidex.Web/CommandMiddlewares/EnrichWithContentIdCommandMiddleware.cs b/backend/src/Squidex.Web/CommandMiddlewares/EnrichWithContentIdCommandMiddleware.cs index 3e9637fb6..7db7646af 100644 --- a/backend/src/Squidex.Web/CommandMiddlewares/EnrichWithContentIdCommandMiddleware.cs +++ b/backend/src/Squidex.Web/CommandMiddlewares/EnrichWithContentIdCommandMiddleware.cs @@ -17,7 +17,7 @@ namespace Squidex.Web.CommandMiddlewares public Task HandleAsync(CommandContext context, NextDelegate next, CancellationToken ct) { - if (context.Command is ContentCommand contentCommand && contentCommand is not CreateContent) + if (context.Command is ContentCommand contentCommand and not CreateContent) { if (contentCommand.ContentId.ToString().Equals(SingletonId, StringComparison.Ordinal)) { diff --git a/backend/src/Squidex.Web/CommandMiddlewares/EnrichWithSchemaIdCommandMiddleware.cs b/backend/src/Squidex.Web/CommandMiddlewares/EnrichWithSchemaIdCommandMiddleware.cs index 0248be838..a3f41bd17 100644 --- a/backend/src/Squidex.Web/CommandMiddlewares/EnrichWithSchemaIdCommandMiddleware.cs +++ b/backend/src/Squidex.Web/CommandMiddlewares/EnrichWithSchemaIdCommandMiddleware.cs @@ -30,7 +30,7 @@ namespace Squidex.Web.CommandMiddlewares return next(context, ct); } - if (context.Command is ISchemaCommand schemaCommand && schemaCommand.SchemaId == null) + if (context.Command is ISchemaCommand { SchemaId: null } schemaCommand) { var schemaId = GetSchemaId(); diff --git a/backend/src/Squidex.Web/GraphQL/BufferingGraphQLSerializer.cs b/backend/src/Squidex.Web/GraphQL/BufferingGraphQLSerializer.cs index cf1d14793..e3c023bb5 100644 --- a/backend/src/Squidex.Web/GraphQL/BufferingGraphQLSerializer.cs +++ b/backend/src/Squidex.Web/GraphQL/BufferingGraphQLSerializer.cs @@ -45,7 +45,7 @@ namespace Squidex.Web.GraphQL public string Serialize(T? value) { - return inner.Serialize(value); + return inner.Serialize(value); } public T? Deserialize(string? value) diff --git a/backend/src/Squidex.Web/Pipeline/RequestExceptionMiddleware.cs b/backend/src/Squidex.Web/Pipeline/RequestExceptionMiddleware.cs index ffabea27a..bcac2144d 100644 --- a/backend/src/Squidex.Web/Pipeline/RequestExceptionMiddleware.cs +++ b/backend/src/Squidex.Web/Pipeline/RequestExceptionMiddleware.cs @@ -81,7 +81,7 @@ namespace Squidex.Web.Pipeline private static bool IsErrorStatusCode(int statusCode) { - return statusCode >= 400 && statusCode < 600; + return statusCode is >= 400 and < 600; } } } diff --git a/backend/src/Squidex/Areas/Api/Config/OpenApi/FixProcessor.cs b/backend/src/Squidex/Areas/Api/Config/OpenApi/FixProcessor.cs index 50b2488ed..6cb476b81 100644 --- a/backend/src/Squidex/Areas/Api/Config/OpenApi/FixProcessor.cs +++ b/backend/src/Squidex/Areas/Api/Config/OpenApi/FixProcessor.cs @@ -19,7 +19,7 @@ namespace Squidex.Areas.Api.Config.OpenApi { foreach (var (_, parameter) in context.Parameters) { - if (parameter.IsRequired && parameter.Schema != null && parameter.Schema.Type == JsonObjectType.String) + if (parameter.IsRequired && parameter.Schema is { Type: JsonObjectType.String }) { parameter.Schema = StringSchema; } diff --git a/backend/src/Squidex/Areas/Api/Config/OpenApi/QueryExtensions.cs b/backend/src/Squidex/Areas/Api/Config/OpenApi/QueryExtensions.cs index 5601735db..0d984f7e9 100644 --- a/backend/src/Squidex/Areas/Api/Config/OpenApi/QueryExtensions.cs +++ b/backend/src/Squidex/Areas/Api/Config/OpenApi/QueryExtensions.cs @@ -25,7 +25,7 @@ namespace Squidex.Areas.Api.Config.OpenApi Type = JsonObjectType.Number }; - void AddQuery(OpenApiParameter parameter) + void AddParameterQuery(OpenApiParameter parameter) { if (operation.Parameters.Any(x => x.Name == parameter.Name && x.Kind == OpenApiParameterKind.Query)) { @@ -39,7 +39,7 @@ namespace Squidex.Areas.Api.Config.OpenApi if (supportSearch) { - AddQuery(new OpenApiParameter + AddParameterQuery(new OpenApiParameter { Schema = stringSchema, Name = "$search", @@ -47,42 +47,42 @@ namespace Squidex.Areas.Api.Config.OpenApi }); } - AddQuery(new OpenApiParameter + AddParameterQuery(new OpenApiParameter { Schema = numberSchema, Name = "$top", Description = FieldDescriptions.QueryTop }); - AddQuery(new OpenApiParameter + AddParameterQuery(new OpenApiParameter { Schema = numberSchema, Name = "$skip", Description = FieldDescriptions.QuerySkip }); - AddQuery(new OpenApiParameter + AddParameterQuery(new OpenApiParameter { Schema = stringSchema, Name = "$orderby", Description = FieldDescriptions.QueryOrderBy }); - AddQuery(new OpenApiParameter + AddParameterQuery(new OpenApiParameter { Schema = stringSchema, Name = "$filter", Description = FieldDescriptions.QueryFilter }); - AddQuery(new OpenApiParameter + AddParameterQuery(new OpenApiParameter { Schema = stringSchema, Name = "q", Description = FieldDescriptions.QueryQ }); - AddQuery(new OpenApiParameter + AddParameterQuery(new OpenApiParameter { Schema = stringSchema, Name = "ids", diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/AppImageController.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/AppImageController.cs index 5587f74ce..f7df40861 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Apps/AppImageController.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/AppImageController.cs @@ -24,19 +24,16 @@ namespace Squidex.Areas.Api.Controllers.Apps public sealed class AppImageController : ApiController { private readonly IAppImageStore appImageStore; - private readonly IAppProvider appProvider; private readonly IAssetStore assetStore; private readonly IAssetThumbnailGenerator assetThumbnailGenerator; public AppImageController(ICommandBus commandBus, IAppImageStore appImageStore, - IAppProvider appProvider, IAssetStore assetStore, IAssetThumbnailGenerator assetThumbnailGenerator) : base(commandBus) { this.appImageStore = appImageStore; - this.appProvider = appProvider; this.assetStore = assetStore; this.assetThumbnailGenerator = assetThumbnailGenerator; } @@ -104,7 +101,7 @@ namespace Squidex.Areas.Api.Controllers.Apps { await using (var originalStream = assetOriginal.OpenWrite()) { - await appImageStore.DownloadAsync(App.Id, originalStream); + await appImageStore.DownloadAsync(App.Id, originalStream, ct); } } @@ -116,7 +113,7 @@ namespace Squidex.Areas.Api.Controllers.Apps { await using (var resizeStream = assetResized.OpenWrite()) { - await assetThumbnailGenerator.CreateThumbnailAsync(originalStream, mimeType, resizeStream, resizeOptions); + await assetThumbnailGenerator.CreateThumbnailAsync(originalStream, mimeType, resizeStream, resizeOptions, ct); } } } diff --git a/backend/src/Squidex/Areas/Api/Controllers/Backups/BackupContentController.cs b/backend/src/Squidex/Areas/Api/Controllers/Backups/BackupContentController.cs index 37472810e..3d10533ef 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Backups/BackupContentController.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Backups/BackupContentController.cs @@ -77,7 +77,7 @@ namespace Squidex.Areas.Api.Controllers.Backups { var backup = await backupservice.GetBackupAsync(appId, id, HttpContext.RequestAborted); - if (backup == null || backup.Status != JobStatus.Completed) + if (backup is not { Status: JobStatus.Completed }) { return NotFound(); } diff --git a/backend/src/Squidex/Areas/Api/Controllers/Statistics/UsagesController.cs b/backend/src/Squidex/Areas/Api/Controllers/Statistics/UsagesController.cs index 37f6a6f1e..8b287396a 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Statistics/UsagesController.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Statistics/UsagesController.cs @@ -70,6 +70,7 @@ namespace Squidex.Areas.Api.Controllers.Statistics { var token = dataProtector.Protect(App.Id.ToString()); + // Generate an URL with a encrypted token to provide a normal GET link without authorization infos. var url = urlGenerator.BuildUrl($"/api/apps/log/{token}/"); var response = new LogDownloadDto { DownloadUrl = url }; @@ -81,8 +82,8 @@ namespace Squidex.Areas.Api.Controllers.Statistics /// Get api calls in date range. /// /// The name of the app. - /// The from date. - /// The to date. + /// The from date. + /// The to date. /// /// 200 => API call returned. /// 404 => App not found. @@ -93,15 +94,17 @@ namespace Squidex.Areas.Api.Controllers.Statistics [ProducesResponseType(typeof(CallsUsageDtoDto), StatusCodes.Status200OK)] [ApiPermissionOrAnonymous(Permissions.AppUsage)] [ApiCosts(0)] - public async Task GetUsages(string app, DateTime dateFrom, DateTime dateTo) + public async Task GetUsages(string app, DateTime fromDate, DateTime toDate) { - if (dateFrom > dateTo && (dateTo - dateFrom).TotalDays > 100) + // We can only query 100 logs for up to 100 days. + if (fromDate > toDate && (toDate - fromDate).TotalDays > 100) { return BadRequest(); } - var (summary, details) = await usageTracker.QueryAsync(AppId.ToString(), dateFrom.Date, dateTo.Date, HttpContext.RequestAborted); + var (summary, details) = await usageTracker.QueryAsync(AppId.ToString(), fromDate.Date, toDate.Date, HttpContext.RequestAborted); + // Use the current app plan to show the limits to the user. var (plan, _) = appPlansProvider.GetPlanForApp(App); var response = CallsUsageDtoDto.FromDomain(plan, summary, details); @@ -126,6 +129,7 @@ namespace Squidex.Areas.Api.Controllers.Statistics { var size = await assetStatsRepository.GetTotalSizeAsync(AppId); + // Use the current app plan to show the limits to the user. var (plan, _) = appPlansProvider.GetPlanForApp(App); var response = new CurrentStorageDto { Size = size, MaxAllowed = plan.MaxAssetSize }; @@ -168,6 +172,7 @@ namespace Squidex.Areas.Api.Controllers.Statistics [ApiExplorerSettings(IgnoreApi = true)] public IActionResult GetLogFile(string token) { + // Decrypt the token that has previously been generated. var appId = DomainId.Create(dataProtector.Unprotect(token)); var fileDate = DateTime.UtcNow.Date; diff --git a/backend/src/Squidex/Areas/IdentityServer/Config/DynamicApplicationStore.cs b/backend/src/Squidex/Areas/IdentityServer/Config/DynamicApplicationStore.cs index e777c706b..8bae47afc 100644 --- a/backend/src/Squidex/Areas/IdentityServer/Config/DynamicApplicationStore.cs +++ b/backend/src/Squidex/Areas/IdentityServer/Config/DynamicApplicationStore.cs @@ -188,7 +188,7 @@ namespace Squidex.Areas.IdentityServer.Config ClientSecret = Constants.ClientInternalSecret, RedirectUris = { - new Uri(urlGenerator.BuildUrl("/signin-internal", false)), + new Uri(urlGenerator.BuildUrl("/signin-internal", false)) }, Permissions = { diff --git a/backend/src/Squidex/Areas/IdentityServer/Controllers/Connect/AuthorizationController.cs b/backend/src/Squidex/Areas/IdentityServer/Controllers/Connect/AuthorizationController.cs index 4edfbea42..4b3160ede 100644 --- a/backend/src/Squidex/Areas/IdentityServer/Controllers/Connect/AuthorizationController.cs +++ b/backend/src/Squidex/Areas/IdentityServer/Controllers/Connect/AuthorizationController.cs @@ -22,7 +22,7 @@ using Squidex.Shared.Users; using Squidex.Web; using static OpenIddict.Abstractions.OpenIddictConstants; -namespace Notifo.Areas.Account.Controllers +namespace Notifo.Areas.Account.Controllers.Connect { public class AuthorizationController : IdentityServerController { diff --git a/backend/src/Squidex/Areas/IdentityServer/Controllers/Setup/SetupController.cs b/backend/src/Squidex/Areas/IdentityServer/Controllers/Setup/SetupController.cs index ae96f1d06..e51401e14 100644 --- a/backend/src/Squidex/Areas/IdentityServer/Controllers/Setup/SetupController.cs +++ b/backend/src/Squidex/Areas/IdentityServer/Controllers/Setup/SetupController.cs @@ -126,7 +126,7 @@ namespace Squidex.Areas.IdentityServer.Controllers.Setup if (url.EndsWith(Constants.PrefixIdentityServer, StringComparison.Ordinal)) { - url = url[0..^Constants.PrefixIdentityServer.Length]; + url = url[..^Constants.PrefixIdentityServer.Length]; } return url.TrimEnd('/'); diff --git a/backend/src/Squidex/Config/Authentication/GoogleHandler.cs b/backend/src/Squidex/Config/Authentication/GoogleHandler.cs index 2431eb70d..4fb9ce0e5 100644 --- a/backend/src/Squidex/Config/Authentication/GoogleHandler.cs +++ b/backend/src/Squidex/Config/Authentication/GoogleHandler.cs @@ -45,7 +45,7 @@ namespace Squidex.Config.Authentication pictureUrl = url.GetString(); } - if (pictureUrl != null && pictureUrl.EndsWith("?sz=50", System.StringComparison.Ordinal)) + if (pictureUrl != null && pictureUrl.EndsWith("?sz=50", StringComparison.Ordinal)) { pictureUrl = pictureUrl[..^6]; } diff --git a/backend/src/Squidex/Config/Domain/AppsServices.cs b/backend/src/Squidex/Config/Domain/AppsServices.cs index 18b2aa681..1cced7b15 100644 --- a/backend/src/Squidex/Config/Domain/AppsServices.cs +++ b/backend/src/Squidex/Config/Domain/AppsServices.cs @@ -76,7 +76,7 @@ namespace Squidex.Config.Domain { Settings = new AppSettings { - Patterns = ReadonlyList.ToReadonlyList(patterns) + Patterns = patterns.ToReadonlyList() } }; }); diff --git a/backend/src/Squidex/wwwroot/scripts/editor-log.html b/backend/src/Squidex/wwwroot/scripts/editor-log.html index 8e99c2cba..56fb8c47a 100644 --- a/backend/src/Squidex/wwwroot/scripts/editor-log.html +++ b/backend/src/Squidex/wwwroot/scripts/editor-log.html @@ -109,7 +109,7 @@ field.onMoved(function (index) { logState('Form value moved'); - }) + }); field.onLanguageChanged(function () { logState('Field language changed'); diff --git a/backend/src/Squidex/wwwroot/scripts/editor-monaco.html b/backend/src/Squidex/wwwroot/scripts/editor-monaco.html index 2ce0a0af0..5f6afdf98 100644 --- a/backend/src/Squidex/wwwroot/scripts/editor-monaco.html +++ b/backend/src/Squidex/wwwroot/scripts/editor-monaco.html @@ -49,7 +49,7 @@ console.log("Hello world!"); }`, language: 'html', - theme: 'vs-dark', + theme: 'vs-dark' }); field.onValueChanged(function (value) { diff --git a/backend/src/Squidex/wwwroot/scripts/editor-references.html b/backend/src/Squidex/wwwroot/scripts/editor-references.html index 4d4e17b33..2ab7881f4 100644 --- a/backend/src/Squidex/wwwroot/scripts/editor-references.html +++ b/backend/src/Squidex/wwwroot/scripts/editor-references.html @@ -45,7 +45,7 @@ // Update the value again for the new options. updateValue(field.getValue()); - }) + }); }); // Handle the value change event and set the text to the editor. diff --git a/backend/src/Squidex/wwwroot/scripts/sidebar-search.html b/backend/src/Squidex/wwwroot/scripts/sidebar-search.html index 9a8e59d13..a6dc59fea 100644 --- a/backend/src/Squidex/wwwroot/scripts/sidebar-search.html +++ b/backend/src/Squidex/wwwroot/scripts/sidebar-search.html @@ -69,9 +69,7 @@ var search = instantsearch({ indexName: 'test', searchClient }); document.addEventListener('click', event => { - if (event.target.matches('.button-click')) { - var id = event.target.getAttribute('data-object-id'); - + if (event.target.matches('.button-click')) { // We cannot directly navigate to in the iframe because it would only change the URL of the iframe. plugin.navigate(`/app/${context.appName}/content/${context.schemaName}`); // plugin.navigate(`/app/${context.appName}/content/${context.schemaName}/${id}`); diff --git a/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/HandleRules/RuleEventFormatterTests.cs b/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/HandleRules/RuleEventFormatterTests.cs index 842cda30e..84e3ef024 100644 --- a/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/HandleRules/RuleEventFormatterTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/HandleRules/RuleEventFormatterTests.cs @@ -42,7 +42,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules { public (bool Match, ValueTask) Format(EnrichedEvent @event, object value, string[] path) { - if (path[0] == "data" && value is JsonValue jsonValue && jsonValue.Value is JsonArray) + if (path[0] == "data" && value is JsonValue { Value: JsonArray }) { return (true, GetValueAsync()); } diff --git a/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/Scripting/JintScriptEngineTests.cs b/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/Scripting/JintScriptEngineTests.cs index 28537028e..6defd159d 100644 --- a/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/Scripting/JintScriptEngineTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/Scripting/JintScriptEngineTests.cs @@ -557,7 +557,7 @@ namespace Squidex.Domain.Apps.Core.Operations.Scripting sut.Execute(vars, script1, new ScriptOptions { AsContext = true }); #pragma warning restore MA0042 // Do not use blocking calls in an async method - var vars2 = new DataScriptVars() + var vars2 = new DataScriptVars { ["data"] = new ContentData() }; diff --git a/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/Scripting/ScriptingCompleterTests.cs b/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/Scripting/ScriptingCompleterTests.cs index 9161814f7..2168cfce7 100644 --- a/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/Scripting/ScriptingCompleterTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/Scripting/ScriptingCompleterTests.cs @@ -117,7 +117,7 @@ namespace Squidex.Domain.Apps.Core.Operations.Scripting "ctx.command.parentPath", "ctx.command.permanent", "ctx.command.tags", - "ctx.operation", + "ctx.operation" }); } @@ -374,7 +374,7 @@ namespace Squidex.Domain.Apps.Core.Operations.Scripting $"{path}.email", $"{path}.id", $"{path}.isClient", - $"{path}.isUser", + $"{path}.isUser" }; } } diff --git a/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/ComponentFieldTests.cs b/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/ComponentFieldTests.cs index 1b5152787..b152548f0 100644 --- a/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/ComponentFieldTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/ComponentFieldTests.cs @@ -170,7 +170,7 @@ namespace Squidex.Domain.Apps.Core.Operations.ValidateContent var components = new ResolvedComponents(new Dictionary { [schemaId1] = schema, - [schemaId2] = schema, + [schemaId2] = schema }); return (schemaId1, field, components); diff --git a/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/Validators/UniqueObjectValuesValidatorTests.cs b/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/Validators/UniqueObjectValuesValidatorTests.cs index 9b2cade72..4d010517c 100644 --- a/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/Validators/UniqueObjectValuesValidatorTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/Validators/UniqueObjectValuesValidatorTests.cs @@ -101,7 +101,7 @@ namespace Squidex.Domain.Apps.Core.Operations.ValidateContent.Validators .Add("myNumber", 1), new JsonObject() .Add("myString", "1") - .Add("myNumber", 1), + .Add("myNumber", 1) }, errors); diff --git a/backend/tests/Squidex.Domain.Apps.Core.Tests/TestHelpers/TestUtils.cs b/backend/tests/Squidex.Domain.Apps.Core.Tests/TestHelpers/TestUtils.cs index 77966fb17..d8806e30a 100644 --- a/backend/tests/Squidex.Domain.Apps.Core.Tests/TestHelpers/TestUtils.cs +++ b/backend/tests/Squidex.Domain.Apps.Core.Tests/TestHelpers/TestUtils.cs @@ -104,7 +104,7 @@ namespace Squidex.Domain.Apps.Core.TestHelpers var resolvedComponents = new ResolvedComponents(new Dictionary { [componentId1] = component1, - [componentId2] = component2, + [componentId2] = component2 }); var schema = new Schema("user", type: type) diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Templates/TemplatesClientTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Templates/TemplatesClientTests.cs index 31a1c8a12..16a7138ce 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Templates/TemplatesClientTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Apps/Templates/TemplatesClientTests.cs @@ -40,7 +40,7 @@ namespace Squidex.Domain.Apps.Entities.Apps.Templates var templates = await sut.GetTemplatesAsync(); Assert.NotEmpty(templates); - Assert.Contains(templates, x => x.IsStarter == true); + Assert.Contains(templates, x => x.IsStarter); } [Fact] diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/BackupAssetsTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/BackupAssetsTests.cs index c1835002d..ed2006a4e 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/BackupAssetsTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/BackupAssetsTests.cs @@ -71,7 +71,7 @@ namespace Squidex.Domain.Apps.Entities.Assets { Alias = new Dictionary { - ["tag1"] = "new-name", + ["tag1"] = "new-name" }, Tags = new Dictionary() }; diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/DomainObject/Guards/ScriptMetadataWrapperTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/DomainObject/Guards/ScriptMetadataWrapperTests.cs index a00c65fa4..9b5ad5e04 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/DomainObject/Guards/ScriptMetadataWrapperTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/DomainObject/Guards/ScriptMetadataWrapperTests.cs @@ -86,7 +86,7 @@ namespace Squidex.Domain.Apps.Entities.Assets.DomainObject.Guards Assert.Equal(new[] { new KeyValuePair("key1", JsonValue.Create(1)), - new KeyValuePair("key2", JsonValue.Create(2)), + new KeyValuePair("key2", JsonValue.Create(2)) }, sut.ToArray()); } diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/MongoDb/AssetMappingTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/MongoDb/AssetMappingTests.cs index f5c7a5feb..b373255f9 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/MongoDb/AssetMappingTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/MongoDb/AssetMappingTests.cs @@ -46,7 +46,7 @@ namespace Squidex.Domain.Apps.Entities.Assets.MongoDb Tags = new HashSet { "image" }, TotalSize = 1024 * 2, Type = AssetType.Image, - Version = 42, + Version = 42 }; var snapshotJob = new SnapshotWriteJob(source.UniqueId, source, source.Version); @@ -75,7 +75,7 @@ namespace Squidex.Domain.Apps.Entities.Assets.MongoDb LastModified = time, LastModifiedBy = user, ParentId = DomainId.NewGuid(), - Version = 42, + Version = 42 }; var snapshotJob = new SnapshotWriteJob(source.UniqueId, source, source.Version); diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/ContentSchedulerProcessTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/ContentSchedulerProcessTests.cs index 65c6045a7..5e41fa82e 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/ContentSchedulerProcessTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/ContentSchedulerProcessTests.cs @@ -86,7 +86,7 @@ namespace Squidex.Domain.Apps.Entities.Contents { AppId = appId, Id = DomainId.NewGuid(), - ScheduleJob = null, + ScheduleJob = null }; A.CallTo(() => clock.GetCurrentInstant()) diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/GraphQL/TestContent.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/GraphQL/TestContent.cs index 44c063462..b600a2de4 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/GraphQL/TestContent.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/GraphQL/TestContent.cs @@ -368,15 +368,15 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL iv = new { value = 1 - }, + } }, ["myString"] = new { - iv = (string?)null, + iv = (string?)null }, ["myStringEnum"] = new { - iv = "EnumA", + iv = "EnumA" }, ["myLocalizedString"] = new { @@ -423,7 +423,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL { ["schemaId"] = TestSchemas.Ref2.Id.ToString(), ["schemaRef2Field"] = "Component2" - }, + } } }, ["myTags"] = new @@ -515,11 +515,11 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL }, ["myString"] = new { - iv = (string?)null, + iv = (string?)null }, ["myStringEnum"] = new { - iv = "EnumA", + iv = "EnumA" }, ["myLocalizedString"] = new { @@ -574,7 +574,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL { ["schemaId"] = TestSchemas.Ref2.Id.ToString(), ["schemaRef2Field"] = "Component2" - }, + } } }, ["myComponents"] = new @@ -592,7 +592,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL ["__typename"] = "MyRefSchema2Component", ["schemaId"] = TestSchemas.Ref2.Id.ToString(), ["schemaRef2Field"] = "Component2" - }, + } } }, ["myTags"] = new @@ -673,7 +673,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL { ["schemaId"] = TestSchemas.Ref2.Id.ToString(), ["schemaRef2Field"] = "Component2" - }, + } }, ["myComponents"] = new object[] { @@ -688,7 +688,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.GraphQL ["__typename"] = "MyRefSchema2Component", ["schemaId"] = TestSchemas.Ref2.Id.ToString(), ["schemaRef2Field"] = "Component2" - }, + } }, ["myTags"] = new[] { diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/MongoDb/ContentMappingTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/MongoDb/ContentMappingTests.cs index 52ac6247f..2134887c0 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/MongoDb/ContentMappingTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/MongoDb/ContentMappingTests.cs @@ -113,7 +113,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.MongoDb LastModifiedBy = user, ScheduleJob = new ScheduleJob(DomainId.NewGuid(), Status.Published, user, time), SchemaId = NamedId.Of(DomainId.NewGuid(), "my-schema"), - Version = 42, + Version = 42 }; return state; @@ -150,7 +150,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.MongoDb NewVersion = new ContentVersion(Status.Published, newData), ScheduleJob = new ScheduleJob(DomainId.NewGuid(), Status.Published, user, time), SchemaId = NamedId.Of(DomainId.NewGuid(), "my-schema"), - Version = 42, + Version = 42 }; return state; diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ResolveAssetsTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ResolveAssetsTests.cs index 49baea0d5..9c8989bc9 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ResolveAssetsTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ResolveAssetsTests.cs @@ -242,7 +242,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries FileName = fileName, FileSize = fileSize, MimeType = fileType!, - Version = version, + Version = version }; } } diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Rules/DomainObject/Guards/GuardRuleTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Rules/DomainObject/Guards/GuardRuleTests.cs index deb832a49..a66d21d7f 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Rules/DomainObject/Guards/GuardRuleTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Rules/DomainObject/Guards/GuardRuleTests.cs @@ -45,7 +45,7 @@ namespace Squidex.Domain.Apps.Entities.Rules.DomainObject.Guards { Url = validUrl }, - Trigger = null!, + Trigger = null! }); await ValidationAssert.ThrowsAsync(() => GuardRule.CanCreate(command, appProvider), @@ -61,7 +61,7 @@ namespace Squidex.Domain.Apps.Entities.Rules.DomainObject.Guards { Schemas = ReadonlyList.Empty() }, - Action = null!, + Action = null! }); await ValidationAssert.ThrowsAsync(() => GuardRule.CanCreate(command, appProvider), diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/TestHelpers/HandlerTestBase.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/TestHelpers/HandlerTestBase.cs index f64c341ff..34a135b0d 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/TestHelpers/HandlerTestBase.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/TestHelpers/HandlerTestBase.cs @@ -112,12 +112,12 @@ namespace Squidex.Domain.Apps.Entities.TestHelpers command.User = User; } - if (command is IAppCommand appCommand && appCommand.AppId == null) + if (command is IAppCommand { AppId: null } appCommand) { appCommand.AppId = AppNamedId; } - if (command is ISchemaCommand schemaCommand && schemaCommand.SchemaId == null) + if (command is ISchemaCommand { SchemaId: null } schemaCommand) { schemaCommand.SchemaId = SchemaNamedId; } diff --git a/backend/tests/Squidex.Infrastructure.Tests/Collections/ListDictionaryTests.cs b/backend/tests/Squidex.Infrastructure.Tests/Collections/ListDictionaryTests.cs index 7a1e0aa0e..c299b3c1d 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/Collections/ListDictionaryTests.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/Collections/ListDictionaryTests.cs @@ -311,7 +311,7 @@ namespace Squidex.Infrastructure.Collections Assert.Equal(new[] { new KeyValuePair(1, 10), - new KeyValuePair(2, 20), + new KeyValuePair(2, 20) }, result.ToArray()); } @@ -333,7 +333,7 @@ namespace Squidex.Infrastructure.Collections Assert.Equal(new[] { new KeyValuePair(1, 10), - new KeyValuePair(2, 20), + new KeyValuePair(2, 20) }, result.ToArray()); } @@ -348,7 +348,7 @@ namespace Squidex.Infrastructure.Collections Assert.Equal(new[] { new KeyValuePair(1, 10), - new KeyValuePair(2, 20), + new KeyValuePair(2, 20) }, sut.ToArray()); } diff --git a/backend/tests/Squidex.Infrastructure.Tests/Commands/DomainObjectTests.cs b/backend/tests/Squidex.Infrastructure.Tests/Commands/DomainObjectTests.cs index 65c5bf7f5..5806876eb 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/Commands/DomainObjectTests.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/Commands/DomainObjectTests.cs @@ -504,7 +504,7 @@ namespace Squidex.Infrastructure.Commands state.AddEvent(new ValueChanged { Value = value }); } - private void SetupCreated(params IEvent[] @events) + private void SetupCreated(params IEvent[] events) { events.Foreach(@event => state.AddEvent(@event)); } diff --git a/backend/tests/Squidex.Infrastructure.Tests/Json/Objects/JsonObjectTests.cs b/backend/tests/Squidex.Infrastructure.Tests/Json/Objects/JsonObjectTests.cs index d7abad78d..9223dd889 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/Json/Objects/JsonObjectTests.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/Json/Objects/JsonObjectTests.cs @@ -331,7 +331,7 @@ namespace Squidex.Infrastructure.Json.Objects JsonValue.Create(input), JsonValue.Create((object?)input), JsonValue.Create(input.ToDictionary(x => x.Key, x => x.Value.Value)), - input, + input }; var result = new JsonObject().Add("1", 1).Add("2", 2); diff --git a/backend/tests/Squidex.Infrastructure.Tests/Queries/FilterSchemaTests.cs b/backend/tests/Squidex.Infrastructure.Tests/Queries/FilterSchemaTests.cs index 3d4ff02db..1c69d12eb 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/Queries/FilterSchemaTests.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/Queries/FilterSchemaTests.cs @@ -112,7 +112,7 @@ namespace Squidex.Infrastructure.Queries Fields = new[] { new FilterField(new FilterSchema(FilterSchemaType.Object), "property1"), - new FilterField(FilterSchema.String, "property2"), + new FilterField(FilterSchema.String, "property2") }.ToReadonlyList() }; @@ -137,7 +137,7 @@ namespace Squidex.Infrastructure.Queries Fields = new[] { new FilterField(new FilterSchema(FilterSchemaType.Object), "property1"), - new FilterField(FilterSchema.String, "property2"), + new FilterField(FilterSchema.String, "property2") }.ToReadonlyList() }; @@ -162,7 +162,7 @@ namespace Squidex.Infrastructure.Queries Fields = new[] { new FilterField(new FilterSchema(FilterSchemaType.Object), "property1"), - new FilterField(FilterSchema.String, "property2"), + new FilterField(FilterSchema.String, "property2") }.ToReadonlyList() }; diff --git a/backend/tests/Squidex.Infrastructure.Tests/Queries/QueryFromJsonTests.cs b/backend/tests/Squidex.Infrastructure.Tests/Queries/QueryFromJsonTests.cs index 076a89bfe..b4e6330b5 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/Queries/QueryFromJsonTests.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/Queries/QueryFromJsonTests.cs @@ -251,7 +251,7 @@ namespace Squidex.Infrastructure.Queries { private static bool ValidOperator(string op) { - return op == "lt" || op == "exists"; + return op is "lt" or "exists"; } public static IEnumerable ValidTests() @@ -387,7 +387,7 @@ namespace Squidex.Infrastructure.Queries { private static bool ValidOperator(string op) { - return op == "eq" || op == "ne" || op == "exists"; + return op is "eq" or "ne" or "exists"; } public static IEnumerable ValidTests() @@ -467,7 +467,7 @@ namespace Squidex.Infrastructure.Queries { private static bool ValidOperator(string op) { - return op == "eq" || op == "ne" || op == "empty" || op == "exists"; + return op is "eq" or "ne" or "empty" or "exists"; } public static IEnumerable ValidTests() diff --git a/backend/tests/Squidex.Infrastructure.Tests/Queries/QueryFromODataTests.cs b/backend/tests/Squidex.Infrastructure.Tests/Queries/QueryFromODataTests.cs index c31c508ff..dbee4990c 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/Queries/QueryFromODataTests.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/Queries/QueryFromODataTests.cs @@ -39,7 +39,7 @@ namespace Squidex.Infrastructure.Queries new FilterField(FilterSchema.Number, "incomeMioNullable", IsNullable: true), new FilterField(FilterSchema.GeoObject, "geo"), new FilterField(FilterSchema.GeoObject, "geoNullable", IsNullable: true), - new FilterField(FilterSchema.Any, "properties"), + new FilterField(FilterSchema.Any, "properties") }; var filterSchema = new FilterSchema(FilterSchemaType.Object) diff --git a/backend/tests/Squidex.Infrastructure.Tests/TestHelpers/TestState.cs b/backend/tests/Squidex.Infrastructure.Tests/TestHelpers/TestState.cs index a15f5a6dc..9ab205046 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/TestHelpers/TestState.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/TestHelpers/TestState.cs @@ -17,7 +17,7 @@ namespace Squidex.Infrastructure.TestHelpers private HandleSnapshot? handleSnapshot; private HandleEvent? handleEvent; - public IPersistenceFactory PersistenceFactory { get; private set; } + public IPersistenceFactory PersistenceFactory { get; } public IPersistence Persistence { get; } = A.Fake>();