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,23 @@

namespace Yes.Blog.Endpoints.Admins.Comments
{
public class DeleteCommentEndpoint : AdminEndpointScheme, IEndpoint
{
public void Map(IEndpointRouteBuilder app) => app.MapDelete("/comments", Handle);
public record Request(int Id);
private async Task<IResult> Handle([AsParameters] Request request, IMediator mediator, IMapper mapper, CancellationToken cancellationToken)
{
var command = new DeleteCommentCommand(request.Id);
var response = await mediator.Send(command, cancellationToken);
return Result.Ok(response);
}
}
}

View File

@@ -0,0 +1,22 @@
namespace Yes.Blog.Endpoints.Admins.Comments
{
public class GetCommentsEndpoint : AdminEndpointScheme, IEndpoint
{
public void Map(IEndpointRouteBuilder app) => app.MapGet("/comments", Handle);
public record Request(int? PageIndex);
private async Task<IResult> Handle(
[AsParameters] Request request,
IMediator mediator,
IMapper mapper,
CancellationToken cancellationToken)
{
var query = new GetCommentsQuery(request.PageIndex, 15);
var response = await mediator.Send(query, cancellationToken);
return Result.Ok(response);
}
}
}

View File

@@ -0,0 +1,20 @@
namespace Yes.Blog.Endpoints.Admins.Comments
{
public class GetLatestCommentsEndpoint : AdminEndpointScheme, IEndpoint
{
public void Map(IEndpointRouteBuilder app) => app.MapGet("/comments/Latest", Handle);
private async Task<IResult> Handle(
IMediator mediator,
IMapper mapper,
CancellationToken cancellationToken)
{
var query = new GetLatestCommentsQuery();
var response = await mediator.Send(query, cancellationToken);
return Result.Ok(response);
}
}
}

View File

@@ -0,0 +1,27 @@
namespace Yes.Blog.Endpoints.Admins.Comments
{
public class UpdateCommentEndpoint : AdminEndpointScheme, IEndpoint
{
public void Map(IEndpointRouteBuilder app) => app.MapPut("/comments", Handle);
public record Request(int Id);
public class RequestValidator : AbstractValidator<Request>
{
public RequestValidator()
{
}
}
private async Task<IResult> Handle([AsParameters] Request request, IMediator mediator, IMapper mapper, CancellationToken cancellationToken)
{
var command = new UpdateCommentCommand(request.Id);
var response = await mediator.Send(command, cancellationToken);
return Result.Ok(response);
}
}
}