public async Task <IPagedResult <SpendingOfUserDto> > HandleAsync(BrowseSpendingOfUser query) { return(_mapper.Map <IPagedResult <SpendingOfUserDto> >(await _repository.BrowseAsync(query))); }
public async Task <IPagedResult <SpendingOfUserDto> > GetSpendingOfUser(Guid userId, [FromQuery] BrowseSpendingOfUser query) => await Dispatcher.QueryAsync(query.Bind(q => q.UserId, userId));
public async Task <ActionResult <IPagedResult <SpendingOfUser> > > BrowseSpendingOfCurrentUser([FromQuery] BrowseSpendingOfUser query) => await BrowseSpendingOfUser(User.GetUserId(), query);
public async Task <ActionResult <SpendingSumDto> > SumSpendingOfCurrentUser([FromQuery] BrowseSpendingOfUser query) => await SumSpendingOfUser(User.GetUserId(), query);
public async Task <ActionResult <SpendingSumDto> > SumSpendingOfUser(Guid userId, [FromQuery] BrowseSpendingOfUser query) { if (User.GetUserId() == userId || await _authService.IsAdministrator(User)) { return(new SpendingSumDto(await _accountingService.SumSpendingOfUser(userId, query))); } else { return(Unauthorized(new ErrorDto("unauthorized_user_id", "Only administrators can access other users' spending."))); } }