Files
StopShopping/StopShopping.Api/Routes/Request.cs
2026-03-30 11:07:30 +08:00

62 lines
1.8 KiB
C#

using StopShopping.Services;
using StopShopping.Services.Models.Req;
using StopShopping.Services.Models.Resp;
namespace StopShopping.Api.Routes;
public static class Request
{
public static RouteGroupBuilder MapRequest(this RouteGroupBuilder routes)
{
routes.MapPost("/request/publish", PublishRequestAsync)
.WithTags(OpenApiTags..ToString());
routes.MapGet("/request/orders", OrderSearchAsync)
.WithTags(OpenApiTags..ToString());
routes.MapPost("/request/delete", DeleteRequestAsync)
.WithTags(OpenApiTags..ToString());
return routes;
}
public static RouteGroupBuilder MapRequestAnonymous(this RouteGroupBuilder routes)
{
routes.MapGet("/request/search", SearchAsync)
.WithTags(OpenApiTags..ToString());
return routes;
}
private static async Task<ApiResponse> PublishRequestAsync(
CreateRequestParams model,
IRequestService requestService)
{
return await requestService.PublishRequestAsync(model);
}
private static async Task<ApiResponse<PagedResult<Services.Models.Resp.Request>>> SearchAsync(
[AsParameters] RequestSearchParams model,
IRequestService requestService
)
{
return await requestService.SearchAsync(model);
}
private static async Task<ApiResponse<PagedResult<Services.Models.Resp.Request>>> OrderSearchAsync(
[AsParameters] RequestSearchWithStatusParams model,
IRequestService requestService
)
{
return await requestService.RequestOrderSearchAsync(model);
}
private static async Task<ApiResponse> DeleteRequestAsync(
RequestIdParams model,
IRequestService requestService
)
{
return await requestService.DeleteRequestAsync(model);
}
}