This commit is contained in:
2025-05-16 23:14:52 +08:00
parent 5080850523
commit c6d62a68ca
25 changed files with 543 additions and 60 deletions

View File

@@ -0,0 +1,25 @@
namespace Yes.Blog.Endpoints.Admins.Themes
{
public class DownloadThemeEndpoint : ThemeEndpointScheme, IEndpoint
{
public void Map(IEndpointRouteBuilder app) => app.MapGet("/themes/{themeName}/download", Handle);
public record Request([FromRoute(Name = "themeName")] string ThemeName);
private async Task<Microsoft.AspNetCore.Http.IResult> Handle(
[AsParameters] Request request,
IMediator mediator, IMapper mapper, CancellationToken cancellationToken)
{
var command = new DownloadThemeCommand(request.ThemeName);
var response = await mediator.Send(command, cancellationToken);
string contentType = "application/zip";
string fileDownloadName = Path.GetFileName(response.Filepath);
return Results.File(response.Filepath, contentType, fileDownloadName);
}
}
}