diff --git a/backend/src/Migrations/Migrations/RebuildApps.cs b/backend/src/Migrations/Migrations/RebuildApps.cs index ff0f0589f..6402273c2 100644 --- a/backend/src/Migrations/Migrations/RebuildApps.cs +++ b/backend/src/Migrations/Migrations/RebuildApps.cs @@ -6,6 +6,7 @@ // ========================================================================== using System.Threading.Tasks; +using Microsoft.Extensions.Options; using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.Migrations; @@ -14,15 +15,18 @@ namespace Migrations.Migrations public sealed class RebuildApps : IMigration { private readonly Rebuilder rebuilder; + private readonly RebuildOptions rebuildOptions; - public RebuildApps(Rebuilder rebuilder) + public RebuildApps(Rebuilder rebuilder, + IOptions rebuildOptions) { this.rebuilder = rebuilder; + this.rebuildOptions = rebuildOptions.Value; } public Task UpdateAsync() { - return rebuilder.RebuildAppsAsync(); + return rebuilder.RebuildAppsAsync(rebuildOptions.BatchSize); } } } diff --git a/backend/src/Migrations/Migrations/RebuildAssetFolders.cs b/backend/src/Migrations/Migrations/RebuildAssetFolders.cs index d40bca978..ebef613cc 100644 --- a/backend/src/Migrations/Migrations/RebuildAssetFolders.cs +++ b/backend/src/Migrations/Migrations/RebuildAssetFolders.cs @@ -6,6 +6,7 @@ // ========================================================================== using System.Threading.Tasks; +using Microsoft.Extensions.Options; using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.Migrations; @@ -14,15 +15,18 @@ namespace Migrations.Migrations public sealed class RebuildAssetFolders : IMigration { private readonly Rebuilder rebuilder; + private readonly RebuildOptions rebuildOptions; - public RebuildAssetFolders(Rebuilder rebuilder) + public RebuildAssetFolders(Rebuilder rebuilder, + IOptions rebuildOptions) { this.rebuilder = rebuilder; + this.rebuildOptions = rebuildOptions.Value; } public Task UpdateAsync() { - return rebuilder.RebuildAssetFoldersAsync(); + return rebuilder.RebuildAssetFoldersAsync(rebuildOptions.BatchSize); } } } diff --git a/backend/src/Migrations/Migrations/RebuildAssets.cs b/backend/src/Migrations/Migrations/RebuildAssets.cs index fe9734adc..1893f681e 100644 --- a/backend/src/Migrations/Migrations/RebuildAssets.cs +++ b/backend/src/Migrations/Migrations/RebuildAssets.cs @@ -6,6 +6,7 @@ // ========================================================================== using System.Threading.Tasks; +using Microsoft.Extensions.Options; using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.Migrations; @@ -14,15 +15,18 @@ namespace Migrations.Migrations public sealed class RebuildAssets : IMigration { private readonly Rebuilder rebuilder; + private readonly RebuildOptions rebuildOptions; - public RebuildAssets(Rebuilder rebuilder) + public RebuildAssets(Rebuilder rebuilder, + IOptions rebuildOptions) { this.rebuilder = rebuilder; + this.rebuildOptions = rebuildOptions.Value; } public Task UpdateAsync() { - return rebuilder.RebuildAssetsAsync(); + return rebuilder.RebuildAssetsAsync(rebuildOptions.BatchSize); } } } diff --git a/backend/src/Migrations/Migrations/RebuildContents.cs b/backend/src/Migrations/Migrations/RebuildContents.cs index 49881e4d4..bba3e1e2d 100644 --- a/backend/src/Migrations/Migrations/RebuildContents.cs +++ b/backend/src/Migrations/Migrations/RebuildContents.cs @@ -6,6 +6,7 @@ // ========================================================================== using System.Threading.Tasks; +using Microsoft.Extensions.Options; using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.Migrations; @@ -14,15 +15,18 @@ namespace Migrations.Migrations public sealed class RebuildContents : IMigration { private readonly Rebuilder rebuilder; + private readonly RebuildOptions rebuildOptions; - public RebuildContents(Rebuilder rebuilder) + public RebuildContents(Rebuilder rebuilder, + IOptions rebuildOptions) { this.rebuilder = rebuilder; + this.rebuildOptions = rebuildOptions.Value; } public Task UpdateAsync() { - return rebuilder.RebuildContentAsync(); + return rebuilder.RebuildContentAsync(rebuildOptions.BatchSize); } } } diff --git a/backend/src/Migrations/Migrations/RebuildSnapshots.cs b/backend/src/Migrations/Migrations/RebuildSnapshots.cs index f33a9edd1..c484d4eb0 100644 --- a/backend/src/Migrations/Migrations/RebuildSnapshots.cs +++ b/backend/src/Migrations/Migrations/RebuildSnapshots.cs @@ -6,6 +6,7 @@ // ========================================================================== using System.Threading.Tasks; +using Microsoft.Extensions.Options; using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.Migrations; @@ -14,20 +15,23 @@ namespace Migrations.Migrations public sealed class RebuildSnapshots : IMigration { private readonly Rebuilder rebuilder; + private readonly RebuildOptions rebuildOptions; - public RebuildSnapshots(Rebuilder rebuilder) + public RebuildSnapshots(Rebuilder rebuilder, + IOptions rebuildOptions) { this.rebuilder = rebuilder; + this.rebuildOptions = rebuildOptions.Value; } public async Task UpdateAsync() { - await rebuilder.RebuildAppsAsync(); - await rebuilder.RebuildSchemasAsync(); - await rebuilder.RebuildRulesAsync(); - await rebuilder.RebuildContentAsync(); - await rebuilder.RebuildAssetsAsync(); - await rebuilder.RebuildAssetFoldersAsync(); + await rebuilder.RebuildAppsAsync(rebuildOptions.BatchSize); + await rebuilder.RebuildSchemasAsync(rebuildOptions.BatchSize); + await rebuilder.RebuildRulesAsync(rebuildOptions.BatchSize); + await rebuilder.RebuildContentAsync(rebuildOptions.BatchSize); + await rebuilder.RebuildAssetsAsync(rebuildOptions.BatchSize); + await rebuilder.RebuildAssetFoldersAsync(rebuildOptions.BatchSize); } } } diff --git a/backend/src/Squidex/Areas/IdentityServer/Views/Error/Error.cshtml b/backend/src/Squidex/Areas/IdentityServer/Views/Error/Error.cshtml index 388c1f086..d9080bcbc 100644 --- a/backend/src/Squidex/Areas/IdentityServer/Views/Error/Error.cshtml +++ b/backend/src/Squidex/Areas/IdentityServer/Views/Error/Error.cshtml @@ -9,9 +9,9 @@

@T.Get("users.error.headline")

- @if (Model.Error?.ErrorDescription != null) + @if (Model.ErrorMessage != null) { - @Model.Error.ErrorDescription + @Model.ErrorMessage } else { diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/BackupAssetsTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/BackupAssetsTests.cs index 4192c9af9..a40cfc29f 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/BackupAssetsTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/BackupAssetsTests.cs @@ -228,7 +228,7 @@ namespace Squidex.Domain.Apps.Entities.Assets var rebuildAssets = new HashSet(); - A.CallTo(() => rebuilder.InsertManyAsync(A>._, A._)) + A.CallTo(() => rebuilder.InsertManyAsync(A>._, A._, A._)) .Invokes((IEnumerable source, CancellationToken _) => rebuildAssets.AddRange(source)); await sut.RestoreAsync(context); @@ -265,7 +265,7 @@ namespace Squidex.Domain.Apps.Entities.Assets var rebuildAssetFolders = new HashSet(); - A.CallTo(() => rebuilder.InsertManyAsync(A>._, A._)) + A.CallTo(() => rebuilder.InsertManyAsync(A>._, A._, A._)) .Invokes((IEnumerable source, CancellationToken _) => rebuildAssetFolders.AddRange(source)); await sut.RestoreAsync(context); diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/BackupContentsTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/BackupContentsTests.cs index ac3a682cd..bd7ecfdb4 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/BackupContentsTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/BackupContentsTests.cs @@ -192,7 +192,7 @@ namespace Squidex.Domain.Apps.Entities.Contents var rebuildContents = new HashSet(); - A.CallTo(() => rebuilder.InsertManyAsync(A>._, A._)) + A.CallTo(() => rebuilder.InsertManyAsync(A>._, A._, A._)) .Invokes((IEnumerable source, CancellationToken _) => rebuildContents.AddRange(source)); await sut.RestoreAsync(context);