This commit is contained in:
2025-04-30 09:51:36 +08:00
parent 561881c9aa
commit 09afa239a6
848 changed files with 385870 additions and 205 deletions

View File

@@ -0,0 +1,22 @@

namespace Yes.Blog.Endpoints.Admins.Themes
{
public class GetThemesEndpoint : AdminEndpointScheme, IEndpoint
{
public void Map(IEndpointRouteBuilder app) => app.MapGet("/themes", Handle);
public record Request();
private async Task<IResult> Handle([AsParameters] Request request, IMediator mediator, IMapper mapper, CancellationToken cancellationToken)
{
var query = new GetThemesQuery();
var response = await mediator.Send(query, cancellationToken);
return Result.Ok(response);
}
}
}

View File

@@ -0,0 +1,37 @@
namespace Yes.Blog.Endpoints.Admins.Themes
{
public class UpdateThemeEndpoint : AdminEndpointScheme, IEndpoint
{
public void Map(IEndpointRouteBuilder app) => app.MapPut("/themes", Handle).WithRequestValidation<Request>();
public record Request(
string Theme
);
public class RequestValidator : AbstractValidator<Request>
{
public RequestValidator()
{
RuleFor(x => x.Theme).NotEmpty().WithMessage("请选择主题!");
}
}
private async Task<IResult> Handle([FromBody] Request request, IMediator mediator, IMapper mapper, CancellationToken cancellationToken)
{
var command = mapper.Map<UpdateThemeCommand>(request);
var response = await mediator.Send(command, cancellationToken);
return Result.Ok(response);
}
}
internal class UpdateThemeMappingProfile : IRegister
{
public void Register(TypeAdapterConfig config)
{
config.ForType<UpdateThemeEndpoint.Request, UpdateThemeCommand>();
}
}
}