Queries y algunos cambios

This commit is contained in:
2026-03-21 04:00:12 +01:00
parent 1bff5e62ea
commit 801bf08337
13 changed files with 163 additions and 25 deletions
@@ -1,12 +0,0 @@
namespace Musify.Application.PlayLists.Contracts
{
public record PaginatedPlayListResponse(
IReadOnlyCollection<PlayListResponse> PlayLists,
int PageNumber,
int PageSize,
int PageCount,
int TotalItemCount,
bool HasNextPage,
bool HasPreviousPage
);
}
@@ -1,9 +1,10 @@
using Ardalis.Result;
using DispatchR.Abstractions.Send;
using Musify.Application.Contracts.Application;
using Musify.Application.PlayLists.Contracts;
namespace Musify.Application.PlayLists.Queries.GetPlayLists
{
public record GetPlayListsQuery(int PageNumber = 1, int PageSize = 10)
: IRequest<GetPlayListsQuery, Task<Result<PaginatedPlayListResponse>>>;
: IRequest<GetPlayListsQuery, Task<Result<PaginatedResponse<PlayListResponse>> >>;
}
@@ -1,17 +1,17 @@
using Ardalis.Result;
using DispatchR.Abstractions.Send;
using Microsoft.EntityFrameworkCore;
using Musify.Application.Contracts.Application;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.PlayLists.Contracts;
using Musify.Domain.Entities;
using X.PagedList.EF;
namespace Musify.Application.PlayLists.Queries.GetPlayLists
{
public class GetPlayListsQueryHandler(IDatabase database)
: IRequestHandler<GetPlayListsQuery, Task<Result<PaginatedPlayListResponse>> >
: IRequestHandler<GetPlayListsQuery, Task<Result<PaginatedResponse<PlayListResponse> >> >
{
public async Task<Result<PaginatedPlayListResponse>> Handle(GetPlayListsQuery request, CancellationToken cancellationToken)
public async Task<Result<PaginatedResponse<PlayListResponse> >> Handle(GetPlayListsQuery request, CancellationToken cancellationToken)
{
var pageNumber = request.PageNumber < 1 ? 1 : request.PageNumber;
var pageSize = request.PageSize < 1 ? 10 : request.PageSize;
@@ -24,7 +24,7 @@ namespace Musify.Application.PlayLists.Queries.GetPlayLists
.Select(p => PlayListResponse.FromEntity(p))
.ToPagedListAsync(pageNumber, pageSize, totalCount, cancellationToken);
var response = new PaginatedPlayListResponse(
var response = new PaginatedResponse<PlayListResponse>(
pagedPlayLists.ToArray(),
pagedPlayLists.PageNumber,
pagedPlayLists.PageSize,
@@ -1,5 +1,6 @@
using Ardalis.Result;
using DispatchR.Abstractions.Send;
using Musify.Application.Contracts.Application;
using Musify.Application.PlayLists.Contracts;
namespace Musify.Application.PlayLists.Queries.GetPlayListsByUserId
@@ -9,5 +10,5 @@ namespace Musify.Application.PlayLists.Queries.GetPlayListsByUserId
string Name = "",
int PageNumber = 1,
int PageSize = 10)
: IRequest<GetPlayListsByUserIdQuery, Task<Result<PaginatedPlayListResponse>>>;
: IRequest<GetPlayListsByUserIdQuery, Task<Result<PaginatedResponse<PlayListResponse>> >>;
}
@@ -1,6 +1,7 @@
using Ardalis.Result;
using DispatchR.Abstractions.Send;
using Microsoft.EntityFrameworkCore;
using Musify.Application.Contracts.Application;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.PlayLists.Contracts;
using X.PagedList.EF;
@@ -8,9 +9,9 @@ using X.PagedList.EF;
namespace Musify.Application.PlayLists.Queries.GetPlayListsByUserId
{
public class GetPlayListsByUserIdQueryHandler(IDatabase database)
: IRequestHandler<GetPlayListsByUserIdQuery, Task<Result<PaginatedPlayListResponse>> >
: IRequestHandler<GetPlayListsByUserIdQuery, Task<Result<PaginatedResponse<PlayListResponse> > >>
{
public async Task<Result<PaginatedPlayListResponse>> Handle(GetPlayListsByUserIdQuery request, CancellationToken cancellationToken)
public async Task<Result<PaginatedResponse<PlayListResponse> >> Handle(GetPlayListsByUserIdQuery request, CancellationToken cancellationToken)
{
var pageNumber = request.PageNumber < 1 ? 1 : request.PageNumber;
var pageSize = request.PageSize < 1 ? 10 : request.PageSize;
@@ -30,7 +31,7 @@ namespace Musify.Application.PlayLists.Queries.GetPlayListsByUserId
.Select(p => PlayListResponse.FromEntity(p))
.ToPagedListAsync(pageNumber, pageSize, totalCount, cancellationToken);
var response = new PaginatedPlayListResponse(
var response = new PaginatedResponse<PlayListResponse>(
pagedPlayLists.ToArray(),
pagedPlayLists.PageNumber,
pagedPlayLists.PageSize,