From 63519724eb15aa0ad987714214d3515da789f64d Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Fri, 24 Apr 2026 14:14:19 +0200 Subject: [PATCH] Update packages. Fix serialization. (#1310) * Update packages. Fix serialization. * Fix formatting. * Fix style. --- .../ElasticSearch/ElasticSearchFlowStep.cs | 1 - .../Actions/OpenSearch/OpenSearchFlowStep.cs | 1 - .../Squidex.Extensions.csproj | 18 +- backend/src/Migrations/Migrations.csproj | 2 +- .../EFAssetFolderRepository_SnapshotStore.cs | 1 - .../Assets/EFAssetRepository_SnapshotStore.cs | 1 - .../Apps/Entities/Contents/Extensions.cs | 1 - .../Entities/Schemas/EFSchemaRepository.cs | 1 - .../Apps/Entities/Teams/EFTeamRepository.cs | 1 - .../Infrastructure/States/EFSnapshotStore.cs | 1 - .../Squidex.Data.EntityFramework.csproj | 36 +- .../Contents/MongoContentRepository.cs | 1 - .../Contents/Text/MongoTextIndexEntity.cs | 1 - .../History/MongoHistoryEventRepository.cs | 1 - .../Infrastructure/BsonDomainIdSerializer.cs | 7 +- .../Squidex.Data.MongoDb.csproj | 16 +- .../Squidex.Domain.Apps.Core.Model.csproj | 6 +- ...Squidex.Domain.Apps.Core.Operations.csproj | 14 +- .../Apps/Templates/SchemaAIGenerator.cs | 1 - .../Templates/TemplateCommandMiddleware.cs | 1 - .../Backup/RestoreJob.cs | 1 - .../Contents/Queries/Steps/ScriptContent.cs | 1 - .../Squidex.Domain.Apps.Entities.csproj | 4 +- .../Squidex.Domain.Apps.Events.csproj | 2 +- .../Squidex.Domain.Users.csproj | 2 +- .../Squidex.Infrastructure.csproj | 28 +- .../src/Squidex.Shared/Squidex.Shared.csproj | 2 +- backend/src/Squidex.Web/Squidex.Web.csproj | 2 +- .../Authentication/AuthenticationServices.cs | 2 - .../src/Squidex/Config/Domain/RuleServices.cs | 1 - backend/src/Squidex/Config/Web/WebServices.cs | 2 - backend/src/Squidex/Squidex.csproj | 51 +-- .../Squidex.Data.Tests.CodeGenerator.csproj | 2 +- .../MongoDb/Domain/Assets/AssetQueryTests.cs | 1 - .../MongoDb/Domain/Contents/AdaptionTests.cs | 1 - .../Domain/Contents/ContentMappingTests.cs | 1 - .../Domain/Contents/ContentQueryTests.cs | 1 - .../Domain/Contents/ExtensionsTests.cs | 1 - .../Domain/Contents/IndexParserTests.cs | 1 - .../Contents/Text/AtlasTextIndexFixture.cs | 1 - .../MongoDb/Domain/Contents/TokenizerTests.cs | 1 - .../EventConsumerProcessorIntegrationTests.cs | 1 - .../EventSourcing/MongoEventStoreFixture.cs | 1 - .../Infrastructure/Queries/MongoQueryTests.cs | 1 - .../MongoDb/TestHelpers/MongoTestUtils.cs | 2 - .../Squidex.Data.Tests.csproj | 14 +- .../Squidex.Domain.Apps.Core.Tests.csproj | 10 +- .../Queries/ContentQueryServiceTests.cs | 1 - .../Squidex.Domain.Apps.Entities.Tests.csproj | 12 +- .../Squidex.Domain.Users.Tests.csproj | 6 +- .../Squidex.Infrastructure.Tests.csproj | 14 +- .../Squidex.Web.Tests.csproj | 6 +- frontend/package-lock.json | 329 ++++++++++++++++++ .../components/assets/asset.component.scss | 2 +- .../shared/state/contents.forms.visitors.ts | 8 +- 55 files changed, 465 insertions(+), 162 deletions(-) diff --git a/backend/extensions/Squidex.Extensions/Actions/ElasticSearch/ElasticSearchFlowStep.cs b/backend/extensions/Squidex.Extensions/Actions/ElasticSearch/ElasticSearchFlowStep.cs index ad0e269f8..a2b11707c 100644 --- a/backend/extensions/Squidex.Extensions/Actions/ElasticSearch/ElasticSearchFlowStep.cs +++ b/backend/extensions/Squidex.Extensions/Actions/ElasticSearch/ElasticSearchFlowStep.cs @@ -11,7 +11,6 @@ using Elasticsearch.Net; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.Rules.Deprecated; using Squidex.Flows; -using Squidex.Infrastructure.Json; using Squidex.Infrastructure.Reflection; using Squidex.Infrastructure.Validation; diff --git a/backend/extensions/Squidex.Extensions/Actions/OpenSearch/OpenSearchFlowStep.cs b/backend/extensions/Squidex.Extensions/Actions/OpenSearch/OpenSearchFlowStep.cs index 3eddf5ad6..fac643625 100644 --- a/backend/extensions/Squidex.Extensions/Actions/OpenSearch/OpenSearchFlowStep.cs +++ b/backend/extensions/Squidex.Extensions/Actions/OpenSearch/OpenSearchFlowStep.cs @@ -11,7 +11,6 @@ using OpenSearch.Net; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.Rules.Deprecated; using Squidex.Flows; -using Squidex.Infrastructure.Json; using Squidex.Infrastructure.Reflection; using Squidex.Infrastructure.Validation; diff --git a/backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj b/backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj index 8509df10e..4c83f16a9 100644 --- a/backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj +++ b/backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj @@ -11,30 +11,30 @@ - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - - - - + + + + @@ -43,7 +43,7 @@ - + diff --git a/backend/src/Migrations/Migrations.csproj b/backend/src/Migrations/Migrations.csproj index 60f652d6f..bfe80320a 100644 --- a/backend/src/Migrations/Migrations.csproj +++ b/backend/src/Migrations/Migrations.csproj @@ -6,7 +6,7 @@ enable - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetFolderRepository_SnapshotStore.cs b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetFolderRepository_SnapshotStore.cs index 081e1d6c9..bf5b43182 100644 --- a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetFolderRepository_SnapshotStore.cs +++ b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetFolderRepository_SnapshotStore.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using System.Linq.Expressions; using System.Runtime.CompilerServices; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Query; diff --git a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetRepository_SnapshotStore.cs b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetRepository_SnapshotStore.cs index 8cfb3a954..b73f83c39 100644 --- a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetRepository_SnapshotStore.cs +++ b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetRepository_SnapshotStore.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using System.Linq.Expressions; using System.Runtime.CompilerServices; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Query; diff --git a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Contents/Extensions.cs b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Contents/Extensions.cs index 8d55f9a28..f8b346f33 100644 --- a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Contents/Extensions.cs +++ b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Contents/Extensions.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using System.Linq.Expressions; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Query; using Squidex.Domain.Apps.Core.Contents; diff --git a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Schemas/EFSchemaRepository.cs b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Schemas/EFSchemaRepository.cs index 91d5d6384..43dd3e88f 100644 --- a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Schemas/EFSchemaRepository.cs +++ b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Schemas/EFSchemaRepository.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using System.Linq.Expressions; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Query; using Squidex.Domain.Apps.Core.Apps; diff --git a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Teams/EFTeamRepository.cs b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Teams/EFTeamRepository.cs index 7a375a814..143b3664e 100644 --- a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Teams/EFTeamRepository.cs +++ b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Teams/EFTeamRepository.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using System.Linq.Expressions; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Query; using Squidex.Domain.Apps.Core.Teams; diff --git a/backend/src/Squidex.Data.EntityFramework/Infrastructure/States/EFSnapshotStore.cs b/backend/src/Squidex.Data.EntityFramework/Infrastructure/States/EFSnapshotStore.cs index 704f03ed8..d42838360 100644 --- a/backend/src/Squidex.Data.EntityFramework/Infrastructure/States/EFSnapshotStore.cs +++ b/backend/src/Squidex.Data.EntityFramework/Infrastructure/States/EFSnapshotStore.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using System.Linq.Expressions; using System.Runtime.CompilerServices; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Query; diff --git a/backend/src/Squidex.Data.EntityFramework/Squidex.Data.EntityFramework.csproj b/backend/src/Squidex.Data.EntityFramework/Squidex.Data.EntityFramework.csproj index fabb4acd4..ffa089d41 100644 --- a/backend/src/Squidex.Data.EntityFramework/Squidex.Data.EntityFramework.csproj +++ b/backend/src/Squidex.Data.EntityFramework/Squidex.Data.EntityFramework.csproj @@ -19,19 +19,19 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - + + + + @@ -39,18 +39,18 @@ - - - + + + - - - - - - - - + + + + + + + + diff --git a/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoContentRepository.cs b/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoContentRepository.cs index 1b3166ab1..2ba985817 100644 --- a/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoContentRepository.cs +++ b/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoContentRepository.cs @@ -17,7 +17,6 @@ using Squidex.Domain.Apps.Entities.Contents; using Squidex.Domain.Apps.Entities.Contents.Repositories; using Squidex.Hosting; using Squidex.Infrastructure; -using Squidex.Infrastructure.Json.Objects; using Squidex.Infrastructure.Queries; using Squidex.Infrastructure.States; diff --git a/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Text/MongoTextIndexEntity.cs b/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Text/MongoTextIndexEntity.cs index ddc4e0c7c..1abd4b0fa 100644 --- a/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Text/MongoTextIndexEntity.cs +++ b/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Text/MongoTextIndexEntity.cs @@ -8,7 +8,6 @@ using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using NetTopologySuite.Geometries; -using Squidex.Domain.Apps.Core.Contents; using Squidex.Infrastructure; namespace Squidex.Domain.Apps.Entities.Contents.Text; diff --git a/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/History/MongoHistoryEventRepository.cs b/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/History/MongoHistoryEventRepository.cs index ed1a16d53..b25e21e24 100644 --- a/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/History/MongoHistoryEventRepository.cs +++ b/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/History/MongoHistoryEventRepository.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using MongoDB.Bson.Serialization; using MongoDB.Driver; using Squidex.Domain.Apps.Core.Apps; using Squidex.Domain.Apps.Entities.History.Repositories; diff --git a/backend/src/Squidex.Data.MongoDb/Infrastructure/BsonDomainIdSerializer.cs b/backend/src/Squidex.Data.MongoDb/Infrastructure/BsonDomainIdSerializer.cs index e2eaa1b0c..e37548d0e 100644 --- a/backend/src/Squidex.Data.MongoDb/Infrastructure/BsonDomainIdSerializer.cs +++ b/backend/src/Squidex.Data.MongoDb/Infrastructure/BsonDomainIdSerializer.cs @@ -46,11 +46,16 @@ public sealed class BsonDomainIdSerializer : SerializerBase, IBsonPoly case BsonType.Binary: var binary = context.Reader.ReadBinaryData(); - if (binary.SubType is BsonBinarySubType.UuidLegacy or BsonBinarySubType.UuidStandard) + if (binary.SubType is BsonBinarySubType.UuidStandard) { return DomainId.Create(binary.ToGuid()); } + if (binary.SubType is BsonBinarySubType.UuidLegacy) + { + return DomainId.Create(binary.ToGuid(GuidRepresentation.CSharpLegacy)); + } + return DomainId.Create(Encoding.UTF8.GetString(binary.Bytes)); default: ThrowHelper.NotSupportedException(); diff --git a/backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj b/backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj index 23ae20754..6e32dfbfe 100644 --- a/backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj +++ b/backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj @@ -16,20 +16,20 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - - - - - - + + + + + + diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj b/backend/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj index 065b99192..a84ae89e0 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj +++ b/backend/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj @@ -12,15 +12,15 @@ True - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj b/backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj index 2614a2c1d..83b2b9f14 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj @@ -20,19 +20,19 @@ - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - - + + - + diff --git a/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/SchemaAIGenerator.cs b/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/SchemaAIGenerator.cs index 5d7d2b294..15d8612d0 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/SchemaAIGenerator.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/SchemaAIGenerator.cs @@ -12,7 +12,6 @@ using Squidex.CLI.Commands.Implementation.AI; using Squidex.Domain.Apps.Core.Apps; using Squidex.Domain.Apps.Entities.Schemas; using Squidex.Infrastructure.Collections; -using Squidex.Infrastructure.Json; namespace Squidex.Domain.Apps.Entities.Apps.Templates; 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 25039e528..e63389988 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/Templates/TemplateCommandMiddleware.cs @@ -18,7 +18,6 @@ using Squidex.CLI.Commands.Implementation.Sync.Workflows; using Squidex.Domain.Apps.Core.Apps; using Squidex.Domain.Apps.Entities.Apps.Commands; using Squidex.Infrastructure.Commands; -using Squidex.Infrastructure.Json; using Squidex.Log; namespace Squidex.Domain.Apps.Entities.Apps.Templates; diff --git a/backend/src/Squidex.Domain.Apps.Entities/Backup/RestoreJob.cs b/backend/src/Squidex.Domain.Apps.Entities/Backup/RestoreJob.cs index c59b75ec1..fa8076159 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Backup/RestoreJob.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Backup/RestoreJob.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using System.Diagnostics; using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; using Squidex.Domain.Apps.Core.Apps; diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/ScriptContent.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/ScriptContent.cs index 2f6da0870..8bf222d03 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/ScriptContent.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/ScriptContent.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using Google.LongRunning; using Squidex.Domain.Apps.Core.Scripting; using Squidex.Shared; diff --git a/backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj b/backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj index f62f35bcc..a3219f09d 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj +++ b/backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj @@ -33,11 +33,11 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/backend/src/Squidex.Domain.Apps.Events/Squidex.Domain.Apps.Events.csproj b/backend/src/Squidex.Domain.Apps.Events/Squidex.Domain.Apps.Events.csproj index 674ef8b48..86ce90927 100644 --- a/backend/src/Squidex.Domain.Apps.Events/Squidex.Domain.Apps.Events.csproj +++ b/backend/src/Squidex.Domain.Apps.Events/Squidex.Domain.Apps.Events.csproj @@ -14,7 +14,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/backend/src/Squidex.Domain.Users/Squidex.Domain.Users.csproj b/backend/src/Squidex.Domain.Users/Squidex.Domain.Users.csproj index f874c888c..a6a69febf 100644 --- a/backend/src/Squidex.Domain.Users/Squidex.Domain.Users.csproj +++ b/backend/src/Squidex.Domain.Users/Squidex.Domain.Users.csproj @@ -18,7 +18,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj b/backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj index 1790ca4ce..bb2e06f18 100644 --- a/backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj +++ b/backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj @@ -1,4 +1,4 @@ - + net10.0 latest @@ -11,29 +11,29 @@ True - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - + - - - - - - - + + + + + + + - + diff --git a/backend/src/Squidex.Shared/Squidex.Shared.csproj b/backend/src/Squidex.Shared/Squidex.Shared.csproj index 5666f79d4..bde20ff4c 100644 --- a/backend/src/Squidex.Shared/Squidex.Shared.csproj +++ b/backend/src/Squidex.Shared/Squidex.Shared.csproj @@ -10,7 +10,7 @@ True - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/backend/src/Squidex.Web/Squidex.Web.csproj b/backend/src/Squidex.Web/Squidex.Web.csproj index 61fec7ff5..d7e709aca 100644 --- a/backend/src/Squidex.Web/Squidex.Web.csproj +++ b/backend/src/Squidex.Web/Squidex.Web.csproj @@ -16,7 +16,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/backend/src/Squidex/Config/Authentication/AuthenticationServices.cs b/backend/src/Squidex/Config/Authentication/AuthenticationServices.cs index 165f20cbe..29230c494 100644 --- a/backend/src/Squidex/Config/Authentication/AuthenticationServices.cs +++ b/backend/src/Squidex/Config/Authentication/AuthenticationServices.cs @@ -6,9 +6,7 @@ // ========================================================================== using Microsoft.AspNetCore.Authentication; -using OpenIddict.Validation.AspNetCore; using Squidex.Hosting.Web; -using Squidex.Web.Pipeline; namespace Squidex.Config.Authentication; diff --git a/backend/src/Squidex/Config/Domain/RuleServices.cs b/backend/src/Squidex/Config/Domain/RuleServices.cs index 3c339448c..e9d35f57d 100644 --- a/backend/src/Squidex/Config/Domain/RuleServices.cs +++ b/backend/src/Squidex/Config/Domain/RuleServices.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using Jint; using Migrations.OldTriggers; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.HandleRules.Extensions; diff --git a/backend/src/Squidex/Config/Web/WebServices.cs b/backend/src/Squidex/Config/Web/WebServices.cs index 6d31af1c7..b5ebe5804 100644 --- a/backend/src/Squidex/Config/Web/WebServices.cs +++ b/backend/src/Squidex/Config/Web/WebServices.cs @@ -9,8 +9,6 @@ using GraphQL; using GraphQL.DI; using GraphQL.Server.Transports.AspNetCore; using Microsoft.AspNetCore.Mvc; -using Microsoft.AspNetCore.Mvc.Formatters; -using Microsoft.AspNetCore.Mvc.Infrastructure; using Microsoft.AspNetCore.Mvc.ModelBinding; using Microsoft.AspNetCore.ResponseCompression; using Microsoft.Extensions.Localization; diff --git a/backend/src/Squidex/Squidex.csproj b/backend/src/Squidex/Squidex.csproj index c88c96957..738523142 100644 --- a/backend/src/Squidex/Squidex.csproj +++ b/backend/src/Squidex/Squidex.csproj @@ -34,39 +34,39 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - + + + + + - + - + - + - - - + + + - - - - - - - + + + + + + + - - - + + + @@ -76,15 +76,16 @@ - + - + + - + diff --git a/backend/tests/Squidex.Data.Tests.CodeGenerator/Squidex.Data.Tests.CodeGenerator.csproj b/backend/tests/Squidex.Data.Tests.CodeGenerator/Squidex.Data.Tests.CodeGenerator.csproj index 4a6d8fa0f..903c49a1f 100644 --- a/backend/tests/Squidex.Data.Tests.CodeGenerator/Squidex.Data.Tests.CodeGenerator.csproj +++ b/backend/tests/Squidex.Data.Tests.CodeGenerator/Squidex.Data.Tests.CodeGenerator.csproj @@ -16,7 +16,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Assets/AssetQueryTests.cs b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Assets/AssetQueryTests.cs index b5d63248c..7b93c3072 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Assets/AssetQueryTests.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Assets/AssetQueryTests.cs @@ -15,7 +15,6 @@ using Squidex.Domain.Apps.Entities.Assets.Visitors; using Squidex.Infrastructure; using Squidex.Infrastructure.Queries; using Squidex.Infrastructure.Validation; -using Squidex.MongoDb.TestHelpers; using ClrFilter = Squidex.Infrastructure.Queries.ClrFilter; namespace Squidex.MongoDb.Domain.Assets; diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/AdaptionTests.cs b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/AdaptionTests.cs index 6e0c2d852..14a136597 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/AdaptionTests.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/AdaptionTests.cs @@ -6,7 +6,6 @@ // ========================================================================== using Squidex.Domain.Apps.Entities.Contents.Operations; -using Squidex.MongoDb.TestHelpers; namespace Squidex.MongoDb.Domain.Contents; diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/ContentMappingTests.cs b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/ContentMappingTests.cs index 0d6288a3a..3911e6281 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/ContentMappingTests.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/ContentMappingTests.cs @@ -9,7 +9,6 @@ using Squidex.Domain.Apps.Core.Contents; using Squidex.Domain.Apps.Entities.Contents; using Squidex.Domain.Apps.Entities.TestHelpers; using Squidex.Infrastructure.States; -using Squidex.MongoDb.TestHelpers; namespace Squidex.MongoDb.Domain.Contents; diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/ContentQueryTests.cs b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/ContentQueryTests.cs index ce6383aeb..376991660 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/ContentQueryTests.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/ContentQueryTests.cs @@ -17,7 +17,6 @@ using Squidex.Domain.Apps.Entities.Contents.Operations; using Squidex.Domain.Apps.Entities.TestHelpers; using Squidex.Infrastructure; using Squidex.Infrastructure.Queries; -using Squidex.MongoDb.TestHelpers; using ClrFilter = Squidex.Infrastructure.Queries.ClrFilter; namespace Squidex.MongoDb.Domain.Contents; diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/ExtensionsTests.cs b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/ExtensionsTests.cs index 6194e6328..ffb51de1a 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/ExtensionsTests.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/ExtensionsTests.cs @@ -8,7 +8,6 @@ using MongoDB.Bson.Serialization; using MongoDB.Driver; using Squidex.Domain.Apps.Entities.Contents; -using Squidex.MongoDb.TestHelpers; using ExtensionSut = Squidex.Domain.Apps.Entities.Contents.Operations.Extensions; namespace Squidex.MongoDb.Domain.Contents; diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/IndexParserTests.cs b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/IndexParserTests.cs index 44f65b714..b232fa36d 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/IndexParserTests.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/IndexParserTests.cs @@ -9,7 +9,6 @@ using MongoDB.Bson; using Squidex.Domain.Apps.Entities.Contents; using Squidex.Infrastructure.Queries; using Squidex.Infrastructure.States; -using Squidex.MongoDb.TestHelpers; namespace Squidex.MongoDb.Domain.Contents; diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/Text/AtlasTextIndexFixture.cs b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/Text/AtlasTextIndexFixture.cs index b9981e0e8..5eaa9ea04 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/Text/AtlasTextIndexFixture.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/Text/AtlasTextIndexFixture.cs @@ -11,7 +11,6 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Squidex.Domain.Apps.Entities.Contents.Text; using Squidex.Domain.Apps.Entities.TestHelpers; -using Squidex.MongoDb.TestHelpers; namespace Squidex.MongoDb.Domain.Contents.Text; diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/TokenizerTests.cs b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/TokenizerTests.cs index bc44e17dc..d31ab590a 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/TokenizerTests.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/TokenizerTests.cs @@ -6,7 +6,6 @@ // ========================================================================== using Squidex.Domain.Apps.Entities.Contents.Text; -using Squidex.MongoDb.TestHelpers; namespace Squidex.MongoDb.Domain.Contents; diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/EventConsumerProcessorIntegrationTests.cs b/backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/EventConsumerProcessorIntegrationTests.cs index d610f6847..b0dfbbf5e 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/EventConsumerProcessorIntegrationTests.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/EventConsumerProcessorIntegrationTests.cs @@ -14,7 +14,6 @@ using Squidex.Infrastructure.EventSourcing.Consume; using Squidex.Infrastructure.Reflection; using Squidex.Infrastructure.States; using Squidex.Infrastructure.TestHelpers; -using Squidex.MongoDb.TestHelpers; #pragma warning disable MA0040 // Forward the CancellationToken parameter to methods that take one diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/EventSourcing/MongoEventStoreFixture.cs b/backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/EventSourcing/MongoEventStoreFixture.cs index 2ba5b236e..ddae1a292 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/EventSourcing/MongoEventStoreFixture.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/EventSourcing/MongoEventStoreFixture.cs @@ -9,7 +9,6 @@ using Microsoft.Extensions.Options; using MongoDB.Driver; using Squidex.Events.Mongo; using Squidex.Infrastructure.TestHelpers; -using Squidex.MongoDb.TestHelpers; #pragma warning disable MA0048 // File name must match type name diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/Queries/MongoQueryTests.cs b/backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/Queries/MongoQueryTests.cs index f8fe477de..dcc603ff1 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/Queries/MongoQueryTests.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/Infrastructure/Queries/MongoQueryTests.cs @@ -13,7 +13,6 @@ using NodaTime; using NodaTime.Text; using Squidex.Infrastructure; using Squidex.Infrastructure.Queries; -using Squidex.MongoDb.TestHelpers; using ClrFilter = Squidex.Infrastructure.Queries.ClrFilter; namespace Squidex.MongoDb.Infrastructure.Queries; diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/TestHelpers/MongoTestUtils.cs b/backend/tests/Squidex.Data.Tests/MongoDb/TestHelpers/MongoTestUtils.cs index 9c2d0d509..15961e586 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/TestHelpers/MongoTestUtils.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/TestHelpers/MongoTestUtils.cs @@ -5,11 +5,9 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using MongoDB.Bson; using MongoDB.Bson.IO; using MongoDB.Bson.Serialization; using MongoDB.Bson.Serialization.Attributes; -using Squidex.Domain.Apps.Core.TestHelpers; namespace Squidex.MongoDb.TestHelpers; diff --git a/backend/tests/Squidex.Data.Tests/Squidex.Data.Tests.csproj b/backend/tests/Squidex.Data.Tests/Squidex.Data.Tests.csproj index 999222b74..d0c5c0e65 100644 --- a/backend/tests/Squidex.Data.Tests/Squidex.Data.Tests.csproj +++ b/backend/tests/Squidex.Data.Tests/Squidex.Data.Tests.csproj @@ -19,21 +19,21 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - + + + + + diff --git a/backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj b/backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj index 422edfaeb..3e7e1aef7 100644 --- a/backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj +++ b/backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj @@ -13,19 +13,19 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ContentQueryServiceTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ContentQueryServiceTests.cs index 34eae2d9e..faf6ec79b 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ContentQueryServiceTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ContentQueryServiceTests.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using Azure; using Microsoft.Extensions.Options; using Squidex.Domain.Apps.Core.Contents; using Squidex.Domain.Apps.Core.Schemas; diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj index db9fc3f31..d3a7c1b1c 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj @@ -20,7 +20,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -29,13 +29,13 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + @@ -43,7 +43,7 @@ - + all diff --git a/backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj b/backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj index a7dd0eafa..9547968fa 100644 --- a/backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj +++ b/backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj @@ -13,17 +13,17 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj b/backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj index f8bcdb2ff..4d5115e4f 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj +++ b/backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj @@ -12,21 +12,21 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - + + + + + diff --git a/backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj b/backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj index 67d466998..92aff44cd 100644 --- a/backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj +++ b/backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj @@ -14,17 +14,17 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 53b0487a2..0cb8c664d 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -105,6 +105,9 @@ "typescript": "5.9.3", "vite-tsconfig-paths": "^6.1.1", "vitest": "^4.0.8" + }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-gnu": "*" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -8030,6 +8033,305 @@ "dev": true, "license": "MIT" }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", + "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", + "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", + "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", + "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", + "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", + "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", + "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", + "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", + "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", + "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", + "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", + "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", + "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", + "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", + "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", + "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", + "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", + "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", + "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", + "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", + "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", + "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@rollup/rollup-win32-x64-gnu": { "version": "4.57.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", @@ -14655,6 +14957,20 @@ "optional": true, "peer": true }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -20456,6 +20772,19 @@ "fsevents": "~2.3.2" } }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", + "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/router": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", diff --git a/frontend/src/app/shared/components/assets/asset.component.scss b/frontend/src/app/shared/components/assets/asset.component.scss index a0c9d4a45..385d67422 100644 --- a/frontend/src/app/shared/components/assets/asset.component.scss +++ b/frontend/src/app/shared/components/assets/asset.component.scss @@ -154,7 +154,7 @@ $list-height: 2.25rem; &-menu { @include absolute(1rem, 1rem, auto, auto); - button { + button, a { background: none; border: 0; border-radius: 0; diff --git a/frontend/src/app/shared/state/contents.forms.visitors.ts b/frontend/src/app/shared/state/contents.forms.visitors.ts index 41ce9fffc..0bf8eb3ef 100644 --- a/frontend/src/app/shared/state/contents.forms.visitors.ts +++ b/frontend/src/app/shared/state/contents.forms.visitors.ts @@ -285,10 +285,12 @@ export class FieldFormatter implements FieldPropertiesVisitor { return `0 ${pluralName}`; } - if (this.value.length > 1) { - return `${this.value.length} ${pluralName}`; + const length = Math.max(0, this.value.length); + + if (length > 1) { + return `${length} ${pluralName}`; } else { - return `1 ${singularName}`; + return `${length} ${singularName}`; } } }