Код:
Код: Выделить всё
public class Buddy : Entity
{
public User User { get; private set; }
public Guid UserId { get; private set; }
public User MatchedUser { get; private set; }
public Guid MatchedUserId { get; private set; }
public DateTime MatchDateTime { get; private set; }
}
Код: Выделить всё
public record BuddyResponse(Guid Id, Guid UserId, Guid MatchedUserId, DateTime MatchDateTime)
Код: Выделить всё
public record BuddyWithUsersResponse(Guid Id, UserResponse User,UserResponse MatchedUser, DateTime MatchDateTime)
Код: Выделить всё
[HttpGet("{userId:guid}")]
public async Task GetUserBuddies(Guid userId,bool includeUsers = false)
{
var query = new GetUserBuddiesQuery(userId, includeUsers);
var buddiesResult = await mediator.Send(query);
return buddiesResult.Match(
Ok,
Problem);
}
Код: Выделить всё
public record GetUserBuddiesQuery(Guid UserId) : IRequest;
Код: Выделить всё
GetUserBuddiesAsyncКод: Выделить всё
public class GetUserBuddiesQueryHandler(IBuddiesRepository buddiesRepository, IMapper mapper)
: IRequestHandler
{
public async Task Handle(GetUserBuddiesQuery query,
CancellationToken cancellationToken)
{
var buddies = await buddiesRepository.GetUserBuddiesAsync(query.UserId, query.IncludeUsers);
return mapper.Map(buddies);
}
}
Код: Выделить всё
public class BuddyResponseWrapper
{
public List? BuddyResponses { get; set; }
public List? BuddyWithUsersResponses { get; set; }
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... olean-flag