Browse Source

Extract mongo code to own assembly. (#1159)

* Extract mongo code to own assembly.

* Fix SLN

* Fix tests

* Register serializer.

* Update playwright.

* Fix lock.

* Pixel ratio.
pull/1184/head
Sebastian Stehle 1 year ago
committed by GitHub
parent
commit
d998f65278
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 86
      backend/Squidex.sln
  2. 3
      backend/src/Migrations/Migrations.csproj
  3. 5
      backend/src/Migrations/Migrations/ConvertEventStore.cs
  4. 4
      backend/src/Migrations/Migrations/ConvertEventStoreAppId.cs
  5. 1
      backend/src/Migrations/Migrations/MongoDb/AddAppIdToEventStream.cs
  6. 1
      backend/src/Migrations/Migrations/MongoDb/ConvertDocumentIds.cs
  7. 2
      backend/src/Migrations/Migrations/MongoDb/ConvertOldSnapshotStores.cs
  8. 2
      backend/src/Migrations/Migrations/MongoDb/ConvertRuleEventsJson.cs
  9. 1
      backend/src/Migrations/Migrations/MongoDb/CopyRuleStatistics.cs
  10. 2
      backend/src/Migrations/Migrations/MongoDb/RenameAssetMetadata.cs
  11. 2
      backend/src/Migrations/Migrations/MongoDb/RenameAssetSlugField.cs
  12. 2
      backend/src/Migrations/Migrations/MongoDb/RestructureContentCollection.cs
  13. 2
      backend/src/Migrations/RebuilderExtensions.cs
  14. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/AdaptIdVisitor.cs
  15. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Apps/MongoAppEntity.cs
  16. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Apps/MongoAppRepository.cs
  17. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/AssetItemClassMap.cs
  18. 3
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoAssetEntity.cs
  19. 3
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoAssetFolderEntity.cs
  20. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoAssetFolderRepository.cs
  21. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoAssetFolderRepository_SnapshotStore.cs
  22. 9
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoAssetRepository.cs
  23. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoAssetRepository_SnapshotStore.cs
  24. 3
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoShardedAssetRepository.cs
  25. 5
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/Visitors/FindExtensions.cs
  26. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/Visitors/FirstPascalPathConverter.cs
  27. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/Visitors/FirstPascalPathExtension.cs
  28. 0
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/BsonUniqueContentIdSerializer.IdInfo.cs
  29. 0
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/BsonUniqueContentIdSerializer.cs
  30. 4
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/IndexParser.cs
  31. 6
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoContentCollection.cs
  32. 3
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoContentEntity.cs
  33. 1
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoContentRepository.cs
  34. 1
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoContentRepository_SnapshotStore.cs
  35. 4
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoShardedContentRepository.cs
  36. 5
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/Adapt.cs
  37. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/AdaptionVisitor.cs
  38. 8
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/Extensions.cs
  39. 4
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/OperationBase.cs
  40. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryAsStream.cs
  41. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryById.cs
  42. 6
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryByIds.cs
  43. 9
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryByQuery.cs
  44. 6
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryInDedicatedCollection.cs
  45. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryReferences.cs
  46. 3
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryReferrers.cs
  47. 3
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryScheduled.cs
  48. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/EntityClassMap.cs
  49. 4
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/History/MongoHistoryEventRepository.cs
  50. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Rules/MongoRuleEntity.cs
  51. 4
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Rules/MongoRuleEventEntity.cs
  52. 4
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Rules/MongoRuleEventRepository.cs
  53. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Rules/MongoRuleRepository.cs
  54. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Schemas/MongoSchemaEntity.cs
  55. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Schemas/MongoSchemaRepository.cs
  56. 7
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Schemas/MongoSchemasHash.cs
  57. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Schemas/MongoSchemasHashEntity.cs
  58. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/ShardedSnapshotStore.cs
  59. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Teams/MongoTeamEntity.cs
  60. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Teams/MongoTeamRepository.cs
  61. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/AtlasIndexDefinition.cs
  62. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/AtlasOptions.cs
  63. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/AtlasTextIndex.cs
  64. 4
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/CommandFactory.cs
  65. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/LuceneQueryVisitor.cs
  66. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/LuceneSearchDefinitionExtensions.cs
  67. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/MongoShardedTextIndex.cs
  68. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/MongoTextIndex.cs
  69. 3
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/MongoTextIndexBase.cs
  70. 3
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/MongoTextIndexEntity.cs
  71. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/MongoTextIndexEntityText.cs
  72. 4
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/MongoTextIndexerState.cs
  73. 2
      backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/Tokenizer.cs
  74. 2
      backend/src/Squidex.Data.MongoDb/Domain/Users/MongoRoleStore.cs
  75. 0
      backend/src/Squidex.Data.MongoDb/Domain/Users/MongoUser.cs
  76. 2
      backend/src/Squidex.Data.MongoDb/Domain/Users/MongoUserStore.cs
  77. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/Batching.cs
  78. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/BsonDefaultConventions.cs
  79. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/BsonDomainIdSerializer.cs
  80. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/BsonEscapedDictionarySerializer.cs
  81. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/BsonHelper.cs
  82. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/BsonInstantSerializer.cs
  83. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/BsonJsonAttribute.cs
  84. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/BsonJsonConvention.cs
  85. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/BsonJsonSerializer.cs
  86. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/BsonJsonValueSerializer.cs
  87. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/BsonStringSerializer.cs
  88. 0
      backend/src/Squidex.Data.MongoDb/Infrastructure/Caching/MongoCacheEntry.cs
  89. 1
      backend/src/Squidex.Data.MongoDb/Infrastructure/Caching/MongoDistributedCache.cs
  90. 3
      backend/src/Squidex.Data.MongoDb/Infrastructure/Counts/MongoCountCollection.cs
  91. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/Counts/MongoCountEntity.cs
  92. 0
      backend/src/Squidex.Data.MongoDb/Infrastructure/Diagnostics/MongoHealthCheck.cs
  93. 34
      backend/src/Squidex.Data.MongoDb/Infrastructure/Diagnostics/ProfilerCollection.cs
  94. 35
      backend/src/Squidex.Data.MongoDb/Infrastructure/Diagnostics/ProfilerDocument.cs
  95. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/Field.cs
  96. 2
      backend/src/Squidex.Data.MongoDb/Infrastructure/IVersionedEntity.cs
  97. 0
      backend/src/Squidex.Data.MongoDb/Infrastructure/Log/MongoRequest.cs
  98. 1
      backend/src/Squidex.Data.MongoDb/Infrastructure/Log/MongoRequestLogRepository.cs
  99. 0
      backend/src/Squidex.Data.MongoDb/Infrastructure/Migrations/MongoMigrationEntity.cs
  100. 1
      backend/src/Squidex.Data.MongoDb/Infrastructure/Migrations/MongoMigrationStatus.cs

86
backend/Squidex.sln

@ -16,16 +16,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Infrastructure.Test
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Apps.Core.Tests", "tests\Squidex.Domain.Apps.Core.Tests\Squidex.Domain.Apps.Core.Tests.csproj", "{FD0AFD44-7A93-4F9E-B5ED-72582392E435}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Infrastructure.MongoDb", "src\Squidex.Infrastructure.MongoDb\Squidex.Infrastructure.MongoDb.csproj", "{6A811927-3C37-430A-90F4-503E37123956}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{94207AA6-4923-4183-A558-E0F8196B8CA3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Shared", "src\Squidex.Shared\Squidex.Shared.csproj", "{5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Users", "src\Squidex.Domain.Users\Squidex.Domain.Users.csproj", "{F7771E22-47BD-45C4-A133-FD7F1DE27CA0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Users.MongoDb", "src\Squidex.Domain.Users.MongoDb\Squidex.Domain.Users.MongoDb.csproj", "{27CF800D-890F-4882-BF05-44EC3233537D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Users.Tests", "tests\Squidex.Domain.Users.Tests\Squidex.Domain.Users.Tests.csproj", "{42184546-E3CB-4D4F-9495-43979B9C63B9}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{360C300D-0F7E-439D-A437-714C959E3CAD}"
@ -42,8 +38,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Apps.Entitie
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Apps.Entities.Tests", "tests\Squidex.Domain.Apps.Entities.Tests\Squidex.Domain.Apps.Entities.Tests.csproj", "{AA003372-CD8D-4DBC-962C-F61E0C93CF05}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Apps.Entities.MongoDb", "src\Squidex.Domain.Apps.Entities.MongoDb\Squidex.Domain.Apps.Entities.MongoDb.csproj", "{7DA5B308-D950-4496-93D5-21D6C4D91644}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Web.Tests", "tests\Squidex.Web.Tests\Squidex.Web.Tests.csproj", "{7E8CC864-4C6E-496F-A672-9F9AD8874835}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "extensions", "extensions", "{FB8BC3A2-2010-4C3C-A87D-D4A98C05EE52}"
@ -56,7 +50,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Web", "src\Squidex.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Migrations", "src\Migrations\Migrations.csproj", "{23615A39-F3FB-4575-A91C-535899DFB636}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Infrastructure.GetEventStore", "src\Squidex.Infrastructure.GetEventStore\Squidex.Infrastructure.GetEventStore.csproj", "{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "data", "data", "{3378B841-53F8-48CC-87C1-1B30CF912BFD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Data.MongoDb", "src\Squidex.Data.MongoDb\Squidex.Data.MongoDb.csproj", "{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Data.Tests", "tests\Squidex.Data.Tests\Squidex.Data.Tests.csproj", "{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -108,14 +106,6 @@ Global
{FD0AFD44-7A93-4F9E-B5ED-72582392E435}.Release|Any CPU.Build.0 = Release|Any CPU
{FD0AFD44-7A93-4F9E-B5ED-72582392E435}.Release|x64.ActiveCfg = Release|Any CPU
{FD0AFD44-7A93-4F9E-B5ED-72582392E435}.Release|x86.ActiveCfg = Release|Any CPU
{6A811927-3C37-430A-90F4-503E37123956}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A811927-3C37-430A-90F4-503E37123956}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A811927-3C37-430A-90F4-503E37123956}.Debug|x64.ActiveCfg = Debug|Any CPU
{6A811927-3C37-430A-90F4-503E37123956}.Debug|x86.ActiveCfg = Debug|Any CPU
{6A811927-3C37-430A-90F4-503E37123956}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A811927-3C37-430A-90F4-503E37123956}.Release|Any CPU.Build.0 = Release|Any CPU
{6A811927-3C37-430A-90F4-503E37123956}.Release|x64.ActiveCfg = Release|Any CPU
{6A811927-3C37-430A-90F4-503E37123956}.Release|x86.ActiveCfg = Release|Any CPU
{5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -140,18 +130,6 @@ Global
{F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Release|x64.Build.0 = Release|Any CPU
{F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Release|x86.ActiveCfg = Release|Any CPU
{F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Release|x86.Build.0 = Release|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Debug|x64.ActiveCfg = Debug|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Debug|x64.Build.0 = Debug|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Debug|x86.ActiveCfg = Debug|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Debug|x86.Build.0 = Debug|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Release|Any CPU.Build.0 = Release|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Release|x64.ActiveCfg = Release|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Release|x64.Build.0 = Release|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Release|x86.ActiveCfg = Release|Any CPU
{27CF800D-890F-4882-BF05-44EC3233537D}.Release|x86.Build.0 = Release|Any CPU
{42184546-E3CB-4D4F-9495-43979B9C63B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{42184546-E3CB-4D4F-9495-43979B9C63B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{42184546-E3CB-4D4F-9495-43979B9C63B9}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -212,18 +190,6 @@ Global
{AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Release|x64.Build.0 = Release|Any CPU
{AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Release|x86.ActiveCfg = Release|Any CPU
{AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Release|x86.Build.0 = Release|Any CPU
{7DA5B308-D950-4496-93D5-21D6C4D91644}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7DA5B308-D950-4496-93D5-21D6C4D91644}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7DA5B308-D950-4496-93D5-21D6C4D91644}.Debug|x64.ActiveCfg = Debug|Any CPU
{7DA5B308-D950-4496-93D5-21D6C4D91644}.Debug|x64.Build.0 = Debug|Any CPU
{7DA5B308-D950-4496-93D5-21D6C4D91644}.Debug|x86.ActiveCfg = Debug|Any CPU
{7DA5B308-D950-4496-93D5-21D6C4D91644}.Debug|x86.Build.0 = Debug|Any CPU
{7DA5B308-D950-4496-93D5-21D6C4D91644}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7DA5B308-D950-4496-93D5-21D6C4D91644}.Release|Any CPU.Build.0 = Release|Any CPU
{7DA5B308-D950-4496-93D5-21D6C4D91644}.Release|x64.ActiveCfg = Release|Any CPU
{7DA5B308-D950-4496-93D5-21D6C4D91644}.Release|x64.Build.0 = Release|Any CPU
{7DA5B308-D950-4496-93D5-21D6C4D91644}.Release|x86.ActiveCfg = Release|Any CPU
{7DA5B308-D950-4496-93D5-21D6C4D91644}.Release|x86.Build.0 = Release|Any CPU
{7E8CC864-4C6E-496F-A672-9F9AD8874835}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7E8CC864-4C6E-496F-A672-9F9AD8874835}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7E8CC864-4C6E-496F-A672-9F9AD8874835}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -272,18 +238,30 @@ Global
{23615A39-F3FB-4575-A91C-535899DFB636}.Release|x64.Build.0 = Release|Any CPU
{23615A39-F3FB-4575-A91C-535899DFB636}.Release|x86.ActiveCfg = Release|Any CPU
{23615A39-F3FB-4575-A91C-535899DFB636}.Release|x86.Build.0 = Release|Any CPU
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}.Debug|x64.ActiveCfg = Debug|Any CPU
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}.Debug|x64.Build.0 = Debug|Any CPU
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}.Debug|x86.ActiveCfg = Debug|Any CPU
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}.Debug|x86.Build.0 = Debug|Any CPU
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}.Release|Any CPU.Build.0 = Release|Any CPU
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}.Release|x64.ActiveCfg = Release|Any CPU
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}.Release|x64.Build.0 = Release|Any CPU
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}.Release|x86.ActiveCfg = Release|Any CPU
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC}.Release|x86.Build.0 = Release|Any CPU
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Debug|x64.ActiveCfg = Debug|Any CPU
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Debug|x64.Build.0 = Debug|Any CPU
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Debug|x86.ActiveCfg = Debug|Any CPU
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Debug|x86.Build.0 = Debug|Any CPU
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Release|Any CPU.Build.0 = Release|Any CPU
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Release|x64.ActiveCfg = Release|Any CPU
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Release|x64.Build.0 = Release|Any CPU
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Release|x86.ActiveCfg = Release|Any CPU
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Release|x86.Build.0 = Release|Any CPU
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Debug|x64.ActiveCfg = Debug|Any CPU
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Debug|x64.Build.0 = Debug|Any CPU
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Debug|x86.ActiveCfg = Debug|Any CPU
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Debug|x86.Build.0 = Debug|Any CPU
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Release|Any CPU.Build.0 = Release|Any CPU
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Release|x64.ActiveCfg = Release|Any CPU
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Release|x64.Build.0 = Release|Any CPU
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Release|x86.ActiveCfg = Release|Any CPU
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -293,21 +271,19 @@ Global
{25F66C64-058A-4D44-BC0C-F12A054F9A91} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A}
{7FD0A92B-7862-4BB1-932B-B52A9CACB56B} = {8CF53B92-5EB1-461D-98F8-70DA9B603FBF}
{FD0AFD44-7A93-4F9E-B5ED-72582392E435} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A}
{6A811927-3C37-430A-90F4-503E37123956} = {8CF53B92-5EB1-461D-98F8-70DA9B603FBF}
{5E75AB7D-6F01-4313-AFF1-7F7128FFD71F} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A}
{F7771E22-47BD-45C4-A133-FD7F1DE27CA0} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A}
{27CF800D-890F-4882-BF05-44EC3233537D} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A}
{42184546-E3CB-4D4F-9495-43979B9C63B9} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A}
{F0A83301-50A5-40EA-A1A2-07C7858F5A3F} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A}
{6B3F75B6-5888-468E-BA4F-4FC725DAEF31} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A}
{79FEF326-CA5E-4698-B2BA-C16A4580B4D5} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A}
{AA003372-CD8D-4DBC-962C-F61E0C93CF05} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A}
{7DA5B308-D950-4496-93D5-21D6C4D91644} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A}
{7E8CC864-4C6E-496F-A672-9F9AD8874835} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A}
{F3C41B82-6A67-409A-B7FE-54543EE4F38B} = {FB8BC3A2-2010-4C3C-A87D-D4A98C05EE52}
{5B2D251F-46E3-486A-AE16-E3FE06B559ED} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A}
{23615A39-F3FB-4575-A91C-535899DFB636} = {94207AA6-4923-4183-A558-E0F8196B8CA3}
{4CFBD9FF-6565-457E-B81C-9FCEFEE854BC} = {8CF53B92-5EB1-461D-98F8-70DA9B603FBF}
{F754F05E-02FF-47B2-AB46-BB05C7E6B29D} = {3378B841-53F8-48CC-87C1-1B30CF912BFD}
{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD} = {3378B841-53F8-48CC-87C1-1B30CF912BFD}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {02F2E872-3141-44F5-BD6A-33CD84E9FE08}

3
backend/src/Migrations/Migrations.csproj

@ -14,11 +14,10 @@
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Squidex.Data.MongoDb\Squidex.Data.MongoDb.csproj" />
<ProjectReference Include="..\Squidex.Domain.Apps.Core.Model\Squidex.Domain.Apps.Core.Model.csproj" />
<ProjectReference Include="..\Squidex.Domain.Apps.Entities.MongoDb\Squidex.Domain.Apps.Entities.MongoDb.csproj" />
<ProjectReference Include="..\Squidex.Domain.Apps.Entities\Squidex.Domain.Apps.Entities.csproj" />
<ProjectReference Include="..\Squidex.Domain.Apps.Events\Squidex.Domain.Apps.Events.csproj" />
<ProjectReference Include="..\Squidex.Infrastructure.MongoDb\Squidex.Infrastructure.MongoDb.csproj" />
<ProjectReference Include="..\Squidex.Infrastructure\Squidex.Infrastructure.csproj" />
</ItemGroup>
<ItemGroup>

5
backend/src/Migrations/Migrations/ConvertEventStore.cs

@ -7,9 +7,10 @@
using MongoDB.Bson;
using MongoDB.Driver;
using Squidex.Infrastructure.EventSourcing;
using Squidex.Events;
using Squidex.Events.Mongo;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Migrations;
using Squidex.Infrastructure.MongoDb;
namespace Migrations.Migrations;

4
backend/src/Migrations/Migrations/ConvertEventStoreAppId.cs

@ -7,10 +7,10 @@
using MongoDB.Bson;
using MongoDB.Driver;
using Squidex.Events;
using Squidex.Events.Mongo;
using Squidex.Infrastructure;
using Squidex.Infrastructure.EventSourcing;
using Squidex.Infrastructure.Migrations;
using Squidex.Infrastructure.MongoDb;
namespace Migrations.Migrations;

1
backend/src/Migrations/Migrations/MongoDb/AddAppIdToEventStream.cs

@ -10,7 +10,6 @@ using MongoDB.Bson;
using MongoDB.Driver;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Migrations;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.Tasks;
namespace Migrations.Migrations.MongoDb;

1
backend/src/Migrations/Migrations/MongoDb/ConvertDocumentIds.cs

@ -9,7 +9,6 @@ using MongoDB.Bson;
using MongoDB.Driver;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Migrations;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.Tasks;
namespace Migrations.Migrations.MongoDb;

2
backend/src/Migrations/Migrations/MongoDb/ConvertOldSnapshotStores.cs

@ -7,8 +7,8 @@
using MongoDB.Bson;
using MongoDB.Driver;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Migrations;
using Squidex.Infrastructure.MongoDb;
namespace Migrations.Migrations.MongoDb;

2
backend/src/Migrations/Migrations/MongoDb/ConvertRuleEventsJson.cs

@ -7,8 +7,8 @@
using MongoDB.Bson;
using MongoDB.Driver;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Migrations;
using Squidex.Infrastructure.MongoDb;
namespace Migrations.Migrations.MongoDb;

1
backend/src/Migrations/Migrations/MongoDb/CopyRuleStatistics.cs

@ -11,7 +11,6 @@ using MongoDB.Driver;
using Squidex.Domain.Apps.Entities.Rules;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Migrations;
using Squidex.Infrastructure.MongoDb;
namespace Migrations.Migrations.MongoDb;

2
backend/src/Migrations/Migrations/MongoDb/RenameAssetMetadata.cs

@ -7,8 +7,8 @@
using MongoDB.Bson;
using MongoDB.Driver;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Migrations;
using Squidex.Infrastructure.MongoDb;
namespace Migrations.Migrations.MongoDb;

2
backend/src/Migrations/Migrations/MongoDb/RenameAssetSlugField.cs

@ -7,8 +7,8 @@
using MongoDB.Bson;
using MongoDB.Driver;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Migrations;
using Squidex.Infrastructure.MongoDb;
namespace Migrations.Migrations.MongoDb;

2
backend/src/Migrations/Migrations/MongoDb/RestructureContentCollection.cs

@ -7,8 +7,8 @@
using MongoDB.Bson;
using MongoDB.Driver;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Migrations;
using Squidex.Infrastructure.MongoDb;
namespace Migrations.Migrations.MongoDb;

2
backend/src/Migrations/RebuilderExtensions.cs

@ -15,8 +15,8 @@ using Squidex.Domain.Apps.Entities.Assets.DomainObject;
using Squidex.Domain.Apps.Entities.Contents.DomainObject;
using Squidex.Domain.Apps.Entities.Rules.DomainObject;
using Squidex.Domain.Apps.Entities.Schemas.DomainObject;
using Squidex.Events;
using Squidex.Infrastructure.Commands;
using Squidex.Infrastructure.EventSourcing;
namespace Migrations;

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/AdaptIdVisitor.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/AdaptIdVisitor.cs

@ -11,7 +11,7 @@ using Squidex.Infrastructure.Queries;
#pragma warning disable SA1313 // Parameter names should begin with lower-case letter
namespace Squidex.Domain.Apps.Entities.MongoDb;
namespace Squidex.Domain.Apps.Entities;
internal sealed class AdaptIdVisitor : TransformVisitor<ClrValue, AdaptIdVisitor.Args>
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Apps/MongoAppEntity.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Apps/MongoAppEntity.cs

@ -11,7 +11,7 @@ using Squidex.Domain.Apps.Core.Apps;
using Squidex.Infrastructure;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Apps;
namespace Squidex.Domain.Apps.Entities.Apps;
public sealed class MongoAppEntity : MongoState<App>
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Apps/MongoAppRepository.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Apps/MongoAppRepository.cs

@ -11,7 +11,7 @@ using Squidex.Domain.Apps.Entities.Apps.Repositories;
using Squidex.Infrastructure;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Apps;
namespace Squidex.Domain.Apps.Entities.Apps;
public sealed class MongoAppRepository(IMongoDatabase database) : MongoSnapshotStoreBase<App, MongoAppEntity>(database), IAppRepository, IDeleter
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/AssetItemClassMap.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/AssetItemClassMap.cs

@ -8,7 +8,7 @@
using MongoDB.Bson.Serialization;
using Squidex.Domain.Apps.Core.Assets;
namespace Squidex.Domain.Apps.Entities.MongoDb.Assets;
namespace Squidex.Domain.Apps.Entities.Assets;
internal static class AssetItemClassMap
{

3
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/MongoAssetEntity.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoAssetEntity.cs

@ -8,11 +8,10 @@
using MongoDB.Bson.Serialization;
using Squidex.Domain.Apps.Core.Assets;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.Reflection;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Assets;
namespace Squidex.Domain.Apps.Entities.Assets;
public record MongoAssetEntity : Asset, IVersionedEntity<DomainId>
{

3
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/MongoAssetFolderEntity.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoAssetFolderEntity.cs

@ -8,11 +8,10 @@
using MongoDB.Bson.Serialization;
using Squidex.Domain.Apps.Core.Assets;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.Reflection;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Assets;
namespace Squidex.Domain.Apps.Entities.Assets;
public record MongoAssetFolderEntity : AssetFolder, IVersionedEntity<DomainId>
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/MongoAssetFolderRepository.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoAssetFolderRepository.cs

@ -7,9 +7,9 @@
using MongoDB.Driver;
using Squidex.Domain.Apps.Core.Assets;
using Squidex.Domain.Apps.Entities.Assets;
using Squidex.Domain.Apps.Entities.Assets.Repositories;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
namespace Squidex.Domain.Apps.Entities.MongoDb.Assets;

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/MongoAssetFolderRepository_SnapshotStore.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoAssetFolderRepository_SnapshotStore.cs

@ -8,8 +8,8 @@
using MongoDB.Driver;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Assets;
using Squidex.Domain.Apps.Entities.Assets;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.States;
#pragma warning disable MA0048 // File name must match type name

9
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/MongoAssetRepository.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoAssetRepository.cs

@ -9,11 +9,12 @@ using System.Runtime.CompilerServices;
using Microsoft.Extensions.Logging;
using MongoDB.Driver;
using Squidex.Domain.Apps.Core.Assets;
using Squidex.Domain.Apps.Entities.Assets;
using Squidex.Domain.Apps.Entities.Assets.Repositories;
using Squidex.Domain.Apps.Entities.MongoDb.Assets.Visitors;
using Squidex.Domain.Apps.Entities.Assets.Visitors;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.MongoDb.Queries;
using Squidex.Infrastructure.Counts;
using Squidex.Infrastructure.Queries;
using Squidex.Infrastructure.Translations;
namespace Squidex.Domain.Apps.Entities.MongoDb.Assets;
@ -99,7 +100,7 @@ public sealed partial class MongoAssetRepository : MongoRepositoryBase<MongoAsse
try
{
// We need to translate the query names to the document field names in MongoDB.
var query = q.Query.AdjustToModel(appId);
var query = q.Query.AdjustToAssetModel(appId);
if (q.Ids is { Count: > 0 })
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/MongoAssetRepository_SnapshotStore.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoAssetRepository_SnapshotStore.cs

@ -8,8 +8,8 @@
using MongoDB.Driver;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Assets;
using Squidex.Domain.Apps.Entities.Assets;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.States;
#pragma warning disable MA0048 // File name must match type name

3
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/MongoShardedAssetRepository.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/MongoShardedAssetRepository.cs

@ -8,10 +8,11 @@
using MongoDB.Driver;
using Squidex.Domain.Apps.Core.Assets;
using Squidex.Domain.Apps.Entities.Assets.Repositories;
using Squidex.Domain.Apps.Entities.MongoDb.Assets;
using Squidex.Infrastructure;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Assets;
namespace Squidex.Domain.Apps.Entities.Assets;
public sealed class MongoShardedAssetRepository(IShardingStrategy sharding, Func<string, MongoAssetRepository> factory) : ShardedSnapshotStore<MongoAssetRepository, Asset>(sharding, factory, x => x.AppId.Id), IAssetRepository, IDeleter
{

5
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/Visitors/FindExtensions.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/Visitors/FindExtensions.cs

@ -7,16 +7,15 @@
using MongoDB.Driver;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb.Queries;
using Squidex.Infrastructure.Queries;
namespace Squidex.Domain.Apps.Entities.MongoDb.Assets.Visitors;
namespace Squidex.Domain.Apps.Entities.Assets.Visitors;
public static class FindExtensions
{
private static readonly FilterDefinitionBuilder<MongoAssetEntity> Filter = Builders<MongoAssetEntity>.Filter;
public static ClrQuery AdjustToModel(this ClrQuery query, DomainId appId)
public static ClrQuery AdjustToAssetModel(this ClrQuery query, DomainId appId)
{
if (query.Filter != null)
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/Visitors/FirstPascalPathConverter.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/Visitors/FirstPascalPathConverter.cs

@ -8,7 +8,7 @@
using Squidex.Infrastructure;
using Squidex.Infrastructure.Queries;
namespace Squidex.Domain.Apps.Entities.MongoDb.Assets.Visitors;
namespace Squidex.Domain.Apps.Entities.Assets.Visitors;
public sealed class FirstPascalPathConverter<TValue> : TransformVisitor<TValue, None>
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/Visitors/FirstPascalPathExtension.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Assets/Visitors/FirstPascalPathExtension.cs

@ -8,7 +8,7 @@
using Squidex.Infrastructure.Queries;
using Squidex.Text;
namespace Squidex.Domain.Apps.Entities.MongoDb.Assets.Visitors;
namespace Squidex.Domain.Apps.Entities.Assets.Visitors;
public static class FirstPascalPathExtension
{

0
backend/src/Squidex.Domain.Apps.Entities.MongoDb/BsonUniqueContentIdSerializer.IdInfo.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/BsonUniqueContentIdSerializer.IdInfo.cs

0
backend/src/Squidex.Domain.Apps.Entities.MongoDb/BsonUniqueContentIdSerializer.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/BsonUniqueContentIdSerializer.cs

4
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/IndexParser.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/IndexParser.cs

@ -7,11 +7,11 @@
using System.Diagnostics.CodeAnalysis;
using MongoDB.Bson;
using Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
using Squidex.Domain.Apps.Entities.Contents.Operations;
using Squidex.Infrastructure.Queries;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents;
namespace Squidex.Domain.Apps.Entities.Contents;
public static class IndexParser
{

6
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/MongoContentCollection.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoContentCollection.cs

@ -11,16 +11,16 @@ using NodaTime;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
using Squidex.Domain.Apps.Entities.Contents.Operations;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.Counts;
using Squidex.Infrastructure.Queries;
using Squidex.Infrastructure.States;
using Squidex.Infrastructure.Translations;
#pragma warning disable IDE0060 // Remove unused parameter
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents;
namespace Squidex.Domain.Apps.Entities.Contents;
public sealed class MongoContentCollection : MongoRepositoryBase<MongoContentEntity>
{

3
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/MongoContentEntity.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoContentEntity.cs

@ -10,10 +10,9 @@ using NodaTime;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.ExtractReferenceIds;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents;
namespace Squidex.Domain.Apps.Entities.Contents;
public record MongoContentEntity : Content, IVersionedEntity<DomainId>
{

1
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/MongoContentRepository.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoContentRepository.cs

@ -18,7 +18,6 @@ using Squidex.Domain.Apps.Entities.Contents.Repositories;
using Squidex.Hosting;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Json.Objects;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.Queries;
using Squidex.Infrastructure.States;

1
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/MongoContentRepository_SnapshotStore.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoContentRepository_SnapshotStore.cs

@ -8,6 +8,7 @@
using MongoDB.Driver;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Entities.Contents;
using Squidex.Infrastructure;
using Squidex.Infrastructure.States;

4
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/MongoShardedContentRepository.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/MongoShardedContentRepository.cs

@ -10,13 +10,13 @@ using NodaTime;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Domain.Apps.Entities.Contents;
using Squidex.Domain.Apps.Entities.Contents.Repositories;
using Squidex.Domain.Apps.Entities.MongoDb.Contents;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Queries;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents;
namespace Squidex.Domain.Apps.Entities.Contents;
public sealed class MongoShardedContentRepository(IShardingStrategy sharding, Func<string, MongoContentRepository> factory) : ShardedSnapshotStore<MongoContentRepository, WriteContent>(sharding, factory, x => x.AppId.Id), IContentRepository, IDeleter
{

5
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/Adapt.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/Adapt.cs

@ -8,11 +8,10 @@
using GraphQL;
using MongoDB.Bson.Serialization;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.Queries;
using Squidex.Infrastructure.Queries.OData;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
namespace Squidex.Domain.Apps.Entities.Contents.Operations;
public static class Adapt
{
@ -105,7 +104,7 @@ public static class Adapt
return result;
}
public static ClrQuery AdjustToModel(this ClrQuery query, DomainId appId)
public static ClrQuery AdjustToContentModel(this ClrQuery query, DomainId appId)
{
if (query.Filter != null)
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/AdaptionVisitor.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/AdaptionVisitor.cs

@ -8,7 +8,7 @@
using Squidex.Infrastructure;
using Squidex.Infrastructure.Queries;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
namespace Squidex.Domain.Apps.Entities.Contents.Operations;
internal sealed class AdaptionVisitor : TransformVisitor<ClrValue, None>
{

8
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/Extensions.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/Extensions.cs

@ -12,11 +12,9 @@ using MongoDB.Driver;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.MongoDb.Queries;
using Squidex.Infrastructure.Queries;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
namespace Squidex.Domain.Apps.Entities.Contents.Operations;
public static class Extensions
{
@ -182,12 +180,12 @@ public static class Extensions
public static IFindFluent<T, T> SelectFields<T>(this IFindFluent<T, T> find, IEnumerable<string>? fields)
{
return find.Project<T>(BuildProjection<T>(fields));
return find.Project(BuildProjection<T>(fields));
}
public static IAggregateFluent<T> SelectFields<T>(this IAggregateFluent<T> find, IEnumerable<string>? fields)
{
return find.Project<T>(BuildProjection<T>(fields));
return find.Project(BuildProjection<T>(fields));
}
public static ProjectionDefinition<T, T> BuildProjection<T>(IEnumerable<string>? fields)

4
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/OperationBase.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/OperationBase.cs

@ -6,9 +6,9 @@
// ==========================================================================
using MongoDB.Driver;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
namespace Squidex.Domain.Apps.Entities.Contents.Operations;
public abstract class OperationBase : MongoBase<MongoContentEntity>
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/QueryAsStream.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryAsStream.cs

@ -11,7 +11,7 @@ using MongoDB.Driver;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
namespace Squidex.Domain.Apps.Entities.Contents.Operations;
public sealed class QueryAsStream : OperationBase
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/QueryById.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryById.cs

@ -10,7 +10,7 @@ using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
namespace Squidex.Domain.Apps.Entities.Contents.Operations;
internal sealed class QueryById : OperationBase
{

6
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/QueryByIds.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryByIds.cs

@ -11,11 +11,9 @@ using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Collections;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.MongoDb.Queries;
using Squidex.Infrastructure.Queries;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
namespace Squidex.Domain.Apps.Entities.Contents.Operations;
internal sealed class QueryByIds : OperationBase
{
@ -44,7 +42,7 @@ internal sealed class QueryByIds : OperationBase
}
// We need to translate the query names to the document field names in MongoDB.
var query = q.Query.AdjustToModel(app.Id);
var query = q.Query.AdjustToContentModel(app.Id);
// Create a filter from the Ids and ensure that the content ids match to the schema IDs.
var filter = CreateFilter(app.Id, schemas.Select(x => x.Id), q.Ids.ToHashSet(), query.Filter);

9
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/QueryByQuery.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryByQuery.cs

@ -10,11 +10,10 @@ using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.MongoDb.Queries;
using Squidex.Infrastructure.Counts;
using Squidex.Infrastructure.Queries;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
namespace Squidex.Domain.Apps.Entities.Contents.Operations;
internal sealed class QueryByQuery(MongoCountCollection countCollection) : OperationBase
{
@ -52,7 +51,7 @@ internal sealed class QueryByQuery(MongoCountCollection countCollection) : Opera
CancellationToken ct)
{
// We need to translate the query names to the document field names in MongoDB.
var query = q.Query.AdjustToModel(app.Id);
var query = q.Query.AdjustToContentModel(app.Id);
var (filter, isDefault) = CreateFilter(app.Id, schemas.Select(x => x.Id), query, q.Reference, q.CreatedBy);
@ -83,7 +82,7 @@ internal sealed class QueryByQuery(MongoCountCollection countCollection) : Opera
CancellationToken ct)
{
// We need to translate the query names to the document field names in MongoDB.
var query = q.Query.AdjustToModel(schema.AppId.Id);
var query = q.Query.AdjustToContentModel(schema.AppId.Id);
// Default means that no other filters are applied and we only query by app and schema.
var (filter, isDefault) = CreateFilter(schema.AppId.Id, Enumerable.Repeat(schema.Id, 1), query, q.Reference, q.CreatedBy);

6
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/QueryInDedicatedCollection.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryInDedicatedCollection.cs

@ -11,12 +11,10 @@ using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.MongoDb.Queries;
using Squidex.Infrastructure.Queries;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
namespace Squidex.Domain.Apps.Entities.Contents.Operations;
internal sealed class QueryInDedicatedCollection(IMongoClient mongoClient, string prefixDatabase, string prefixCollection) : MongoBase<MongoContentEntity>
{
@ -70,7 +68,7 @@ internal sealed class QueryInDedicatedCollection(IMongoClient mongoClient, strin
CancellationToken ct)
{
// We need to translate the query names to the document field names in MongoDB.
var query = q.Query.AdjustToModel(schema.AppId.Id);
var query = q.Query.AdjustToContentModel(schema.AppId.Id);
var filter = CreateFilter(query, q.Reference, q.CreatedBy);

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/QueryReferences.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryReferences.cs

@ -12,7 +12,7 @@ using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
namespace Squidex.Domain.Apps.Entities.Contents.Operations;
internal sealed class QueryReferences(QueryByIds queryByIds) : OperationBase
{

3
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/QueryReferrers.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryReferrers.cs

@ -10,9 +10,8 @@ using MongoDB.Driver;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
namespace Squidex.Domain.Apps.Entities.Contents.Operations;
internal sealed class QueryReferrers : OperationBase
{

3
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Contents/Operations/QueryScheduled.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Operations/QueryScheduled.cs

@ -11,11 +11,10 @@ using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
#pragma warning disable MA0073 // Avoid comparison with bool constant
namespace Squidex.Domain.Apps.Entities.MongoDb.Contents.Operations;
namespace Squidex.Domain.Apps.Entities.Contents.Operations;
internal sealed class QueryScheduled : OperationBase
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/EntityClassMap.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/EntityClassMap.cs

@ -9,7 +9,7 @@ using MongoDB.Bson.Serialization;
using Squidex.Domain.Apps.Core;
using Squidex.Infrastructure.Commands;
namespace Squidex.Domain.Apps.Entities.MongoDb;
namespace Squidex.Domain.Apps.Entities;
internal static class EntityClassMap
{

4
backend/src/Squidex.Domain.Apps.Entities.MongoDb/History/MongoHistoryEventRepository.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/History/MongoHistoryEventRepository.cs

@ -8,12 +8,10 @@
using MongoDB.Bson.Serialization;
using MongoDB.Driver;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Entities.History;
using Squidex.Domain.Apps.Entities.History.Repositories;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
namespace Squidex.Domain.Apps.Entities.MongoDb.History;
namespace Squidex.Domain.Apps.Entities.History;
public sealed class MongoHistoryEventRepository(IMongoDatabase database) : MongoRepositoryBase<HistoryEvent>(database), IHistoryEventRepository, IDeleter
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Rules/MongoRuleEntity.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Rules/MongoRuleEntity.cs

@ -10,7 +10,7 @@ using Squidex.Domain.Apps.Core.Rules;
using Squidex.Infrastructure;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Rules;
namespace Squidex.Domain.Apps.Entities.Rules;
public sealed class MongoRuleEntity : MongoState<Rule>
{

4
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Rules/MongoRuleEventEntity.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Rules/MongoRuleEventEntity.cs

@ -10,13 +10,11 @@ using MongoDB.Bson.Serialization.Attributes;
using NodaTime;
using Squidex.Domain.Apps.Core.HandleRules;
using Squidex.Domain.Apps.Core.Rules;
using Squidex.Domain.Apps.Entities.Rules;
using Squidex.Domain.Apps.Entities.Rules.Repositories;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.Reflection;
namespace Squidex.Domain.Apps.Entities.MongoDb.Rules;
namespace Squidex.Domain.Apps.Entities.Rules;
public sealed class MongoRuleEventEntity : IRuleEventEntity
{

4
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Rules/MongoRuleEventRepository.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Rules/MongoRuleEventRepository.cs

@ -9,12 +9,10 @@ using MongoDB.Driver;
using NodaTime;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Rules;
using Squidex.Domain.Apps.Entities.Rules;
using Squidex.Domain.Apps.Entities.Rules.Repositories;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
namespace Squidex.Domain.Apps.Entities.MongoDb.Rules;
namespace Squidex.Domain.Apps.Entities.Rules;
public sealed class MongoRuleEventRepository(IMongoDatabase database) : MongoRepositoryBase<MongoRuleEventEntity>(database), IRuleEventRepository, IDeleter
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Rules/MongoRuleRepository.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Rules/MongoRuleRepository.cs

@ -12,7 +12,7 @@ using Squidex.Domain.Apps.Entities.Rules.Repositories;
using Squidex.Infrastructure;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Rules;
namespace Squidex.Domain.Apps.Entities.Rules;
public sealed class MongoRuleRepository(IMongoDatabase database) : MongoSnapshotStoreBase<Rule, MongoRuleEntity>(database), IRuleRepository, IDeleter
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Schemas/MongoSchemaEntity.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Schemas/MongoSchemaEntity.cs

@ -11,7 +11,7 @@ using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Infrastructure;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Schemas;
namespace Squidex.Domain.Apps.Entities.Schemas;
public sealed class MongoSchemaEntity : MongoState<Schema>
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Schemas/MongoSchemaRepository.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Schemas/MongoSchemaRepository.cs

@ -12,7 +12,7 @@ using Squidex.Domain.Apps.Entities.Schemas.Repositories;
using Squidex.Infrastructure;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Schemas;
namespace Squidex.Domain.Apps.Entities.Schemas;
public sealed class MongoSchemaRepository(IMongoDatabase database) : MongoSnapshotStoreBase<Schema, MongoSchemaEntity>(database), ISchemaRepository, IDeleter
{

7
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Schemas/MongoSchemasHash.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Schemas/MongoSchemasHash.cs

@ -9,14 +9,13 @@ using MongoDB.Driver;
using NodaTime;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Domain.Apps.Entities.Schemas;
using Squidex.Domain.Apps.Events;
using Squidex.Events;
using Squidex.Infrastructure;
using Squidex.Infrastructure.EventSourcing;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.ObjectPool;
namespace Squidex.Domain.Apps.Entities.MongoDb.Schemas;
namespace Squidex.Domain.Apps.Entities.Schemas;
public sealed class MongoSchemasHash(IMongoDatabase database) : MongoRepositoryBase<MongoSchemasHashEntity>(database), ISchemasHash, IEventConsumer, IDeleter
{
@ -55,7 +54,7 @@ public sealed class MongoSchemasHash(IMongoDatabase database) : MongoRepositoryB
Filter.Eq(x => x.AppId, schemaEvent.AppId.Id),
Update
.Set($"s.{schemaEvent.SchemaId.Id}", @event.Headers.EventStreamNumber())
.Set(x => x.Updated, @event.Headers.Timestamp()))
.Set(x => x.Updated, @event.Headers.TimestampAsInstant()))
{
IsUpsert = true
});

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Schemas/MongoSchemasHashEntity.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Schemas/MongoSchemasHashEntity.cs

@ -9,7 +9,7 @@ using MongoDB.Bson.Serialization.Attributes;
using NodaTime;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.MongoDb.Schemas;
namespace Squidex.Domain.Apps.Entities.Schemas;
public sealed class MongoSchemasHashEntity
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/ShardedSnapshotStore.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/ShardedSnapshotStore.cs

@ -10,7 +10,7 @@ using Squidex.Domain.Apps.Core.Apps;
using Squidex.Infrastructure;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb;
namespace Squidex.Domain.Apps.Entities;
public abstract class ShardedSnapshotStore<TStore, TState>(IShardingStrategy sharding, Func<string, TStore> factory, Func<TState, DomainId> getShardKey) : ShardedService<DomainId, TStore>(sharding, factory), ISnapshotStore<TState>, IDeleter where TStore : ISnapshotStore<TState>, IDeleter
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Teams/MongoTeamEntity.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Teams/MongoTeamEntity.cs

@ -11,7 +11,7 @@ using Squidex.Domain.Apps.Core.Teams;
using Squidex.Infrastructure;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Teams;
namespace Squidex.Domain.Apps.Entities.Teams;
public sealed class MongoTeamEntity : MongoState<Team>
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Teams/MongoTeamRepository.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Teams/MongoTeamRepository.cs

@ -11,7 +11,7 @@ using Squidex.Domain.Apps.Entities.Teams.Repositories;
using Squidex.Infrastructure;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Teams;
namespace Squidex.Domain.Apps.Entities.Teams;
public sealed class MongoTeamRepository(IMongoDatabase database) : MongoSnapshotStoreBase<Team, MongoTeamEntity>(database), ITeamRepository
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/AtlasIndexDefinition.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/AtlasIndexDefinition.cs

@ -8,7 +8,7 @@
using System.Net.Http.Json;
using Squidex.Hosting.Configuration;
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public static class AtlasIndexDefinition
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/AtlasOptions.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/AtlasOptions.cs

@ -5,7 +5,7 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public sealed class AtlasOptions
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/AtlasTextIndex.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/AtlasTextIndex.cs

@ -17,7 +17,7 @@ using Squidex.Domain.Apps.Entities.Contents.Text;
using Squidex.Infrastructure;
using LuceneQueryAnalyzer = Lucene.Net.QueryParsers.Classic.QueryParser;
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public sealed class AtlasTextIndex(IMongoDatabase database, IHttpClientFactory atlasClient, IOptions<AtlasOptions> atlasOptions, string shardKey) : MongoTextIndexBase<Dictionary<string, string>>(database, shardKey, new CommandFactory<Dictionary<string, string>>(BuildTexts))
{

4
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/CommandFactory.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/CommandFactory.cs

@ -8,9 +8,9 @@
using MongoDB.Bson;
using MongoDB.Driver;
using Squidex.Domain.Apps.Entities.Contents.Text;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public sealed class CommandFactory<T>(Func<Dictionary<string, string>, T> textBuilder) : MongoBase<MongoTextIndexEntity<T>> where T : class
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/LuceneQueryVisitor.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/LuceneQueryVisitor.cs

@ -13,7 +13,7 @@ using Lucene.Net.Util;
using MongoDB.Bson;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public sealed class LuceneQueryVisitor(Func<string, string>? fieldConverter = null)
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/LuceneSearchDefinitionExtensions.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/LuceneSearchDefinitionExtensions.cs

@ -9,7 +9,7 @@ using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Driver;
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public static class LuceneSearchDefinitionExtensions
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/MongoShardedTextIndex.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/MongoShardedTextIndex.cs

@ -12,7 +12,7 @@ using Squidex.Domain.Apps.Entities.Contents.Text;
using Squidex.Infrastructure;
using Squidex.Infrastructure.States;
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public sealed class MongoShardedTextIndex<T>(IShardingStrategy sharding, Func<string, MongoTextIndexBase<T>> factory) : ShardedService<DomainId, MongoTextIndexBase<T>>(sharding, factory), ITextIndex, IDeleter where T : class
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/MongoTextIndex.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/MongoTextIndex.cs

@ -11,7 +11,7 @@ using Squidex.Domain.Apps.Entities.Contents;
using Squidex.Domain.Apps.Entities.Contents.Text;
using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public sealed class MongoTextIndex(IMongoDatabase database, string shardKey) : MongoTextIndexBase<List<MongoTextIndexEntityText>>(database, shardKey, new CommandFactory<List<MongoTextIndexEntityText>>(BuildTexts))
{

3
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/MongoTextIndexBase.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/MongoTextIndexBase.cs

@ -13,9 +13,8 @@ using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Domain.Apps.Entities.Contents;
using Squidex.Domain.Apps.Entities.Contents.Text;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public abstract class MongoTextIndexBase<T>(IMongoDatabase database, string shardKey, CommandFactory<T> factory) : MongoRepositoryBase<MongoTextIndexEntity<T>>(database), ITextIndex, IDeleter where T : class
{

3
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/MongoTextIndexEntity.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/MongoTextIndexEntity.cs

@ -9,9 +9,8 @@ using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using NetTopologySuite.Geometries;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public sealed class MongoTextIndexEntity<T>
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/MongoTextIndexEntityText.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/MongoTextIndexEntityText.cs

@ -7,7 +7,7 @@
using MongoDB.Bson.Serialization.Attributes;
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public sealed class MongoTextIndexEntityText
{

4
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/MongoTextIndexerState.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/MongoTextIndexerState.cs

@ -13,10 +13,10 @@ using Squidex.Domain.Apps.Entities.Contents;
using Squidex.Domain.Apps.Entities.Contents.Repositories;
using Squidex.Domain.Apps.Entities.Contents.Text;
using Squidex.Domain.Apps.Entities.Contents.Text.State;
using Squidex.Domain.Apps.Entities.MongoDb;
using Squidex.Infrastructure;
using Squidex.Infrastructure.MongoDb;
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public sealed class MongoTextIndexerState(
IMongoDatabase database,

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Text/Tokenizer.cs → backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Text/Tokenizer.cs

@ -16,7 +16,7 @@ using Squidex.Domain.Apps.Core;
using Squidex.Infrastructure;
using Squidex.Infrastructure.ObjectPool;
namespace Squidex.Domain.Apps.Entities.MongoDb.Text;
namespace Squidex.Domain.Apps.Entities.Text;
public static class Tokenizer
{

2
backend/src/Squidex.Domain.Users.MongoDb/MongoRoleStore.cs → backend/src/Squidex.Data.MongoDb/Domain/Users/MongoRoleStore.cs

@ -10,7 +10,7 @@ using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Serializers;
using MongoDB.Driver;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure;
namespace Squidex.Domain.Users.MongoDb;

0
backend/src/Squidex.Domain.Users.MongoDb/MongoUser.cs → backend/src/Squidex.Data.MongoDb/Domain/Users/MongoUser.cs

2
backend/src/Squidex.Domain.Users.MongoDb/MongoUserStore.cs → backend/src/Squidex.Data.MongoDb/Domain/Users/MongoUserStore.cs

@ -11,7 +11,7 @@ using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Serializers;
using MongoDB.Driver;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure;
namespace Squidex.Domain.Users.MongoDb;

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/Batching.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/Batching.cs

@ -7,7 +7,7 @@
using MongoDB.Driver;
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
public static class Batching
{

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonDefaultConventions.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/BsonDefaultConventions.cs

@ -10,7 +10,7 @@ using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Conventions;
using MongoDB.Bson.Serialization.Serializers;
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
public static class BsonDefaultConventions
{

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonDomainIdSerializer.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/BsonDomainIdSerializer.cs

@ -10,7 +10,7 @@ using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Serializers;
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
public sealed class BsonDomainIdSerializer : SerializerBase<DomainId>, IBsonPolymorphicSerializer, IRepresentationConfigurable<BsonDomainIdSerializer>
{

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonEscapedDictionarySerializer.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/BsonEscapedDictionarySerializer.cs

@ -10,7 +10,7 @@ using MongoDB.Bson.IO;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Serializers;
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
public sealed class BsonEscapedDictionarySerializer<TValue, TInstance> : ClassSerializerBase<TInstance> where TInstance : Dictionary<string, TValue?>, new()
{

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonHelper.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/BsonHelper.cs

@ -5,7 +5,7 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
public static class BsonHelper
{

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonInstantSerializer.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/BsonInstantSerializer.cs

@ -11,7 +11,7 @@ using MongoDB.Bson.Serialization.Serializers;
using NodaTime;
using NodaTime.Text;
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
public sealed class BsonInstantSerializer : SerializerBase<Instant>, IBsonPolymorphicSerializer, IRepresentationConfigurable<BsonInstantSerializer>
{

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonAttribute.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/BsonJsonAttribute.cs

@ -5,7 +5,7 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
[AttributeUsage(AttributeTargets.Property)]
public sealed class BsonJsonAttribute : Attribute

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonConvention.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/BsonJsonConvention.cs

@ -11,7 +11,7 @@ using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Conventions;
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
public static class BsonJsonConvention
{

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonSerializer.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/BsonJsonSerializer.cs

@ -13,7 +13,7 @@ using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Serializers;
using Squidex.Infrastructure.ObjectPool;
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
public sealed class BsonJsonSerializer<T> : SerializerBase<T?>, IRepresentationConfigurable<BsonJsonSerializer<T>> where T : class
{

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonJsonValueSerializer.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/BsonJsonValueSerializer.cs

@ -10,7 +10,7 @@ using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Serializers;
using Squidex.Infrastructure.Json.Objects;
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
public sealed class BsonJsonValueSerializer : SerializerBase<JsonValue>
{

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/BsonStringSerializer.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/BsonStringSerializer.cs

@ -10,7 +10,7 @@ using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Serializers;
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
public sealed class BsonStringSerializer<T> : SerializerBase<T>
{

0
backend/src/Squidex.Infrastructure.MongoDb/Caching/MongoCacheEntry.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/Caching/MongoCacheEntry.cs

1
backend/src/Squidex.Infrastructure.MongoDb/Caching/MongoDistributedCache.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/Caching/MongoDistributedCache.cs

@ -7,7 +7,6 @@
using Microsoft.Extensions.Caching.Distributed;
using MongoDB.Driver;
using Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure.Caching;

3
backend/src/Squidex.Domain.Apps.Entities.MongoDb/MongoCountCollection.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/Counts/MongoCountCollection.cs

@ -8,10 +8,9 @@
using Microsoft.Extensions.Logging;
using MongoDB.Driver;
using NodaTime;
using Squidex.Infrastructure.MongoDb;
using Squidex.Infrastructure.Tasks;
namespace Squidex.Domain.Apps.Entities.MongoDb;
namespace Squidex.Infrastructure.Counts;
internal sealed class MongoCountCollection(IMongoDatabase database, ILogger log, string name) : MongoRepositoryBase<MongoCountEntity>(database)
{

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/MongoCountEntity.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/Counts/MongoCountEntity.cs

@ -8,7 +8,7 @@
using MongoDB.Bson.Serialization.Attributes;
using NodaTime;
namespace Squidex.Domain.Apps.Entities.MongoDb;
namespace Squidex.Infrastructure.Counts;
internal sealed class MongoCountEntity
{

0
backend/src/Squidex.Infrastructure.MongoDb/Diagnostics/MongoHealthCheck.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/Diagnostics/MongoHealthCheck.cs

34
backend/src/Squidex.Data.MongoDb/Infrastructure/Diagnostics/ProfilerCollection.cs

@ -0,0 +1,34 @@
// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt)
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using MongoDB.Bson;
using MongoDB.Driver;
#pragma warning disable CA1822 // Mark members as static
namespace Squidex.Infrastructure.Diagnostics;
public sealed class ProfilerCollection(IMongoDatabase database)
{
private readonly IMongoCollection<ProfilerDocument> collection = database.GetCollection<ProfilerDocument>("system.profile");
public async Task<IReadOnlyList<ProfilerDocument>> GetQueriesAsync(string collectionName,
CancellationToken ct = default)
{
var ns = $"{collection.Database.DatabaseNamespace.DatabaseName}.{collectionName}";
return await collection.Find(x => x.Operation == "query" && x.Namespace == ns).ToListAsync(ct);
}
public async Task ClearAsync(
CancellationToken ct = default)
{
await database.RunCommandAsync<BsonDocument>("{ profile : 0 }", cancellationToken: ct);
await database.DropCollectionAsync(ProfilerDocument.CollectionName, ct);
await database.RunCommandAsync<BsonDocument>("{ profile : 2 }", cancellationToken: ct);
}
}

35
backend/src/Squidex.Data.MongoDb/Infrastructure/Diagnostics/ProfilerDocument.cs

@ -0,0 +1,35 @@
// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt)
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
namespace Squidex.Infrastructure.Diagnostics;
[BsonIgnoreExtraElements]
public sealed class ProfilerDocument
{
public const string CollectionName = "system.profile";
[BsonElement("op")]
public string Operation { get; set; }
[BsonElement("ns")]
public string Namespace { get; set; }
[BsonElement("nreturned")]
public int NumDocuments { get; set; }
[BsonElement("keysExamined")]
public int KeysExamined { get; set; }
[BsonElement("docsExamined")]
public int DocsExamined { get; set; }
[BsonElement("planSummary")]
public string PlanSummary { get; set; }
}

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/Field.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/Field.cs

@ -7,7 +7,7 @@
using MongoDB.Bson.Serialization;
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
public static class Field
{

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/IVersionedEntity.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/IVersionedEntity.cs

@ -5,7 +5,7 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
namespace Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure;
public interface IVersionedEntity<T>
{

0
backend/src/Squidex.Infrastructure.MongoDb/Log/MongoRequest.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/Log/MongoRequest.cs

1
backend/src/Squidex.Infrastructure.MongoDb/Log/MongoRequestLogRepository.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/Log/MongoRequestLogRepository.cs

@ -8,7 +8,6 @@
using Microsoft.Extensions.Options;
using MongoDB.Driver;
using NodaTime;
using Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure.Log;

0
backend/src/Squidex.Infrastructure.MongoDb/Migrations/MongoMigrationEntity.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/Migrations/MongoMigrationEntity.cs

1
backend/src/Squidex.Infrastructure.MongoDb/Migrations/MongoMigrationStatus.cs → backend/src/Squidex.Data.MongoDb/Infrastructure/Migrations/MongoMigrationStatus.cs

@ -6,7 +6,6 @@
// ==========================================================================
using MongoDB.Driver;
using Squidex.Infrastructure.MongoDb;
namespace Squidex.Infrastructure.Migrations;

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save