Skip to content

Commit 5357d9d

Browse files
committed
Refactoring IAssetStorage
1 parent fcd71d6 commit 5357d9d

File tree

7 files changed

+32
-7
lines changed

7 files changed

+32
-7
lines changed

src/DragonFly.API.Core/ClientAPI/AssetApiStorage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public async Task<Result> UploadAsync(Guid assetId, string mimetype, Stream stre
3939
return await Client.SendAsync(requestMessage).ReadResultFromJsonAsync();
4040
}
4141

42-
public async Task<Result<Stream>> GetStreamAsync(Guid assetId)
42+
public async Task<Result<Stream>> OpenStreamAsync(Guid assetId)
4343
{
4444
return await Client.GetStreamAsync($"api/asset/{assetId}/download");
4545
}

src/DragonFly.API/Rest/AssetApiExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ private static async Task<IResult> MapDownload(HttpContext context, IAssetStorag
104104

105105
context.Response.GetTypedHeaders().CacheControl = new CacheControlHeaderValue() { Public = true, MaxAge = TimeSpan.FromDays(30) };
106106

107-
Stream assetStream = await storage.GetStreamAsync(asset.Id);
107+
Stream assetStream = await storage.OpenStreamAsync(asset.Id);
108108

109109
return TypedResults.Stream(assetStream, contentType: asset.MimeType, entityTag: etag, enableRangeProcessing: true);
110110
}

src/DragonFly.AspNetCore/Permissions/AuthorizationExtensions.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,29 @@ public static IDisposable DisableAuthorization(this IDragonFlyApi api)
4040

4141
return new DisableAuthorization(context);
4242
}
43+
44+
public static async Task UseNoAuthorizationAsync(this IDragonFlyApi api, Func<Task> action)
45+
{
46+
using (DisableAuthorization(api))
47+
{
48+
await action();
49+
}
50+
}
51+
52+
public static async Task<T> UseNoAuthorizationAsync<T>(this IDragonFlyApi api, Func<Task<T>> action)
53+
{
54+
using (DisableAuthorization(api))
55+
{
56+
return await action();
57+
}
58+
}
59+
60+
public static void UseNoAuthorization(this IDragonFlyApi api, Action action)
61+
{
62+
using (DisableAuthorization(api))
63+
{
64+
action();
65+
}
66+
}
67+
4368
}

src/DragonFly.AspNetCore/Permissions/Storages/AssetPermissionStorage.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ public async Task<Result> DeleteAsync(Asset asset)
5656
return await Api.AuthorizeAsync(PrincipalContext.Current, AssetPermissions.ReadAsset).ThenAsync(x => Storage.GetAssetAsync(id));
5757
}
5858

59-
public async Task<Result<Stream>> GetStreamAsync(Guid assetId)
59+
public async Task<Result<Stream>> OpenStreamAsync(Guid assetId)
6060
{
61-
return await Api.AuthorizeAsync(PrincipalContext.Current, AssetPermissions.DownloadAsset).ThenAsync(x => Storage.GetStreamAsync(assetId));
61+
return await Api.AuthorizeAsync(PrincipalContext.Current, AssetPermissions.DownloadAsset).ThenAsync(x => Storage.OpenStreamAsync(assetId));
6262
}
6363

6464
public async Task<Result> PublishAsync(Asset asset)

src/DragonFly.Core/Modules/Assets/IAssetStorage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public interface IAssetStorage
2525

2626
Task<Result> UploadAsync(Guid assetId, string mimetype, Stream stream);
2727

28-
Task<Result<Stream>> GetStreamAsync(Guid assetId);
28+
Task<Result<Stream>> OpenStreamAsync(Guid assetId);
2929

3030
Task<Result> ApplyMetadataAsync(Asset asset);
3131

src/DragonFly.ImageWizard/DragonFlyLoader.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public override async Task<LoaderResult> GetAsync(string source, ICachedData? ex
5555
return LoaderResult.Failed();
5656
}
5757

58-
Stream stream = await Storage.GetStreamAsync(asset.Id);
58+
Stream stream = await Storage.OpenStreamAsync(asset.Id);
5959

6060
return LoaderResult.Success(new OriginalData(asset.MimeType, stream));
6161
}

src/DragonFly.MongoDB/Storages/AssetMongoStorage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ public async Task<Result> UploadAsync(Guid assetId, string mimetype, Stream stre
159159
return Result.Ok();
160160
}
161161

162-
public async Task<Result<Stream>> GetStreamAsync(Guid assetId)
162+
public async Task<Result<Stream>> OpenStreamAsync(Guid assetId)
163163
{
164164
return await AssetData.OpenDownloadStreamByNameAsync(assetId.ToString());
165165
}

0 commit comments

Comments
 (0)