diff --git a/DeepDrftWeb/DeepDrftWeb/Controllers/TrackController.cs b/DeepDrftWeb/DeepDrftWeb/Controllers/TrackController.cs new file mode 100644 index 0000000..30a305f --- /dev/null +++ b/DeepDrftWeb/DeepDrftWeb/Controllers/TrackController.cs @@ -0,0 +1,33 @@ +using DeepDrftModels.Entities; +using DeepDrftModels.Models; +using DeepDrftWeb.Services; +using Microsoft.AspNetCore.Mvc; +using NetBlocks.Models; + +namespace DeepDrftWeb.Controllers; + +[ApiController] +[Route("api/[controller]")] +public class TrackController : ControllerBase +{ + private readonly TrackService _trackService; + + public TrackController(TrackService trackService) + { + _trackService = trackService; + } + + [HttpGet("page")] + public async Task>>> GetPage( + [FromQuery] int pageNumber, + [FromQuery] int pageSize, + [FromQuery] string? sortColumn = null, + [FromQuery] bool sortDescending = false) + { + var result = await _trackService.GetPaged(pageNumber, pageSize, sortColumn, sortDescending); + var apiResult = ApiResult>.From(result); + var dto = new ApiResultDto>(apiResult); + + return result.Success ? Ok(dto) : StatusCode(500, dto); + } +} \ No newline at end of file