Files
yes.blog/Yes.Blog/Endpoints/Admins/Storages/GenerateTokenEndpoint.cs
2025-05-04 22:11:28 +08:00

25 lines
730 B
C#

namespace Yes.Blog.Endpoints.Admins.Storages
{
public class GenerateTokenEndpoint : StorageEndpointScheme, IEndpoint
{
public void Map(IEndpointRouteBuilder app) => app.MapPost("/storages/token", Handle);
private async Task<IResult> Handle(
IMediator mediator,
IMapper mapper,
IOptionsMonitor<BlogSettings> options,
CancellationToken cancellationToken)
{
Enum.TryParse(options.CurrentValue.Storage.StorageType, out StorageTypeEnum storageType);
var response = await mediator.Send(storageType switch
{
StorageTypeEnum.Qiniu => new GenerateQiniuTokenCommand(storageType),
_ => new GenerateLocalTokenCommand(storageType)
}, cancellationToken);
return Result.Ok(response);
}
}
}