using Microsoft.EntityFrameworkCore; using PnvPanel.Application.Common.Interfaces; using PnvPanel.Application.Common.Messaging; using PnvPanel.Application.Common.Models; namespace PnvPanel.Application.Instructions; public sealed class ListInstructionTabsQueryHandler(IAppDbContext dbContext) : IQueryHandler>> { public async Task>> Handle( ListInstructionTabsQuery query, CancellationToken cancellationToken ) { var tabs = await dbContext .InstructionTabs.AsNoTracking() .OrderBy(t => t.SortOrder) .Select(t => new InstructionTabDto( t.Id, t.Title, t.Body, t.SortOrder, t.CreatedAt, t.UpdatedAt )) .ToListAsync(cancellationToken); return Result.Success>(tabs); } }