1
0
mirror of synced 2025-03-04 00:52:34 +01:00
TaikoLocalServer/Application/Handlers/Api/User/GetFavoriteSongsQuery.cs

19 lines
755 B
C#
Raw Normal View History

2024-11-20 01:15:21 +08:00
namespace Application.Handlers.Api.User;
public record GetFavoriteSongsQuery(uint Baid): IRequest<ApiResult<List<uint>>>;
public class GetFavoriteSongsQueryHandler(ITaikoDbContext context, ILogger<GetFavoriteSongsQueryHandler> logger)
: IRequestHandler<GetFavoriteSongsQuery, ApiResult<List<uint>>>
{
public async Task<ApiResult<List<uint>>> Handle(GetFavoriteSongsQuery request, CancellationToken cancellationToken)
{
var user = await context.UserData.FindAsync([request.Baid], cancellationToken);
if (user is null)
{
return ApiResult.Failed<List<uint>>("User not found");
}
var favoriteSongs = user.FavoriteSongsArray;
return ApiResult.Succeed(favoriteSongs);
}
}