diff --git a/backend/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs b/backend/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs index 820364ded..7588efb6c 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs @@ -34,6 +34,7 @@ namespace Squidex.Areas.Api.Controllers.Assets { private readonly IAssetFileStore assetFileStore; private readonly IAssetQueryService assetQuery; + private readonly IAssetLoader assetLoader; private readonly IAssetStore assetStore; private readonly IAssetThumbnailGenerator assetThumbnailGenerator; @@ -41,12 +42,14 @@ namespace Squidex.Areas.Api.Controllers.Assets ICommandBus commandBus, IAssetFileStore assetFileStore, IAssetQueryService assetQuery, + IAssetLoader assetLoader, IAssetStore assetStore, IAssetThumbnailGenerator assetThumbnailGenerator) : base(commandBus) { this.assetFileStore = assetFileStore; this.assetQuery = assetQuery; + this.assetLoader = assetLoader; this.assetStore = assetStore; this.assetThumbnailGenerator = assetThumbnailGenerator; } @@ -119,9 +122,17 @@ namespace Squidex.Areas.Api.Controllers.Assets return StatusCode(403); } - if (asset != null && queries.Version > EtagVersion.Any && asset.Version != queries.Version && Context.App != null) + if (asset != null && queries.Version > EtagVersion.Any && asset.Version != queries.Version) { - asset = await assetQuery.FindAsync(Context, asset.Id, queries.Version); + if (Context.App != null) + { + asset = await assetQuery.FindAsync(Context, asset.Id, queries.Version); + } + else + { + // Fallback for old endpoint. Does not set the surrogate key. + asset = await assetLoader.GetAsync(asset.AppId.Id, asset.Id, queries.Version); + } } if (asset == null) diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/TestData/FakeUrlGenerator.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/TestData/FakeUrlGenerator.cs index 7853dd3d0..995699c2c 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/TestData/FakeUrlGenerator.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/TestData/FakeUrlGenerator.cs @@ -36,11 +36,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.TestData return $"contents/{schemaId.Name}/{contentId}"; } - public string AppSettingsUI(NamedId appId) - { - throw new NotSupportedException(); - } - public string AssetsUI(NamedId appId, string? query = null) { throw new NotSupportedException();