public async Task <IActionResult> GetUserChatsAsync([FromQuery] GetPrivateChatsQueryDto query)
        {
            query.UserId = User.GetUserId();

            var chats = await _privateChatService.GetUserPrivateChatsViewAsync(query);

            return(Ok(chats));
        }
Example #2
0
        public async Task <IImmutableList <GetPrivateChatViewDto> > GetUserPrivateChatsViewAsync(GetPrivateChatsQueryDto query, CancellationToken ct = default)
        {
            _logger.LogInformation("Get user private chats by user id {UserId}", query.UserId);

            GetPrivateChatsQuery dbQuery = _mapper.Map <GetPrivateChatsQuery>(query);

            ICollection <PrivateChatView> chats = await _unitOfWork.PrivateChatRepository.GetPrivateChatsAsync(dbQuery, ct);

            return(_mapper.Map <ICollection <GetPrivateChatViewDto> >(chats).ToImmutableList());
        }