1
0
mirror of synced 2025-03-03 16:43:52 +01:00
TaikoLocalServer/Application/Handlers/Api/User/GetFavoriteSongsQuery.cs
2024-11-20 01:15:21 +08:00

19 lines
755 B
C#

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);
}
}