Browse Source

Fallback handling.

pull/637/head
Sebastian 5 years ago
parent
commit
3779c03873
  1. 13
      backend/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs
  2. 5
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/TestData/FakeUrlGenerator.cs

13
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 IAssetFileStore assetFileStore;
private readonly IAssetQueryService assetQuery; private readonly IAssetQueryService assetQuery;
private readonly IAssetLoader assetLoader;
private readonly IAssetStore assetStore; private readonly IAssetStore assetStore;
private readonly IAssetThumbnailGenerator assetThumbnailGenerator; private readonly IAssetThumbnailGenerator assetThumbnailGenerator;
@ -41,12 +42,14 @@ namespace Squidex.Areas.Api.Controllers.Assets
ICommandBus commandBus, ICommandBus commandBus,
IAssetFileStore assetFileStore, IAssetFileStore assetFileStore,
IAssetQueryService assetQuery, IAssetQueryService assetQuery,
IAssetLoader assetLoader,
IAssetStore assetStore, IAssetStore assetStore,
IAssetThumbnailGenerator assetThumbnailGenerator) IAssetThumbnailGenerator assetThumbnailGenerator)
: base(commandBus) : base(commandBus)
{ {
this.assetFileStore = assetFileStore; this.assetFileStore = assetFileStore;
this.assetQuery = assetQuery; this.assetQuery = assetQuery;
this.assetLoader = assetLoader;
this.assetStore = assetStore; this.assetStore = assetStore;
this.assetThumbnailGenerator = assetThumbnailGenerator; this.assetThumbnailGenerator = assetThumbnailGenerator;
} }
@ -119,10 +122,18 @@ namespace Squidex.Areas.Api.Controllers.Assets
return StatusCode(403); 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)
{
if (Context.App != null)
{ {
asset = await assetQuery.FindAsync(Context, asset.Id, queries.Version); 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) if (asset == null)
{ {

5
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}"; return $"contents/{schemaId.Name}/{contentId}";
} }
public string AppSettingsUI(NamedId<DomainId> appId)
{
throw new NotSupportedException();
}
public string AssetsUI(NamedId<DomainId> appId, string? query = null) public string AssetsUI(NamedId<DomainId> appId, string? query = null)
{ {
throw new NotSupportedException(); throw new NotSupportedException();

Loading…
Cancel
Save