Files
deepdrft/DeepDrftWeb/Controllers/TrackController.cs
T
Daniel Harvey cd700dc758 feat(data): rename *.Services projects, lift TrackEntity onto BlazorBlocks data layer, regenerate initial Postgres migration
DeepDrftWeb.Services → DeepDrftData; DeepDrftContent.Services → DeepDrftContent.Data.
TrackEntity:BaseEntity, TrackRepository:Repository<>, TrackManager:Manager<>+ITrackService.
Drops DeepDrftModels PagingParameters/PagedResult in favour of Models.Common.* from BlazorBlocks.
InitialCreate migration captures full schema including is_deleted index.
2026-05-18 22:22:09 -04:00

33 lines
1019 B
C#

using DeepDrftData;
using DeepDrftModels.Entities;
using Microsoft.AspNetCore.Mvc;
using Models.Common;
using NetBlocks.Models;
namespace DeepDrftWeb.Controllers;
[ApiController]
[Route("api/[controller]")]
public class TrackController : ControllerBase
{
private readonly ITrackService _trackService;
public TrackController(ITrackService trackService)
{
_trackService = trackService;
}
[HttpGet("page")]
public async Task<ActionResult<ApiResultDto<PagedResult<TrackEntity>>>> 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<PagedResult<TrackEntity>>.From(result);
var dto = new ApiResultDto<PagedResult<TrackEntity>>(apiResult);
return result.Success ? Ok(dto) : StatusCode(500, dto);
}
}