Example #1
0
        public Message[] GetMessagesForUser(Guid userId, Guid chatId)
        {
            _logger.Info($"{DateTime.Now.ToShortDateString()} Messages from chat with id: {chatId} for user with id: {userId} has been queried");
            var messages = _messagesRepository.GetMessagesForUser(chatId, userId);

            return((messages != null)? messages : new Message[0]);
        }
Example #2
0
        public async Task <ActionResult <IEnumerable <MessageDto> > > GetMessagesForUser([FromQuery] MessageParams messageParams)
        {
            messageParams.Username = User.GetUserName();
            var messages = await _messagesRepository.GetMessagesForUser(messageParams);

            Response.AddPaginationHeader(messages.CurrentPage, messages.PageSize, messages.TotalCount, messages.TotalPages);
            return(messages);
        }
        public Chat GetChat(Guid chatId, Guid userId)
        {
            var info = GetChatInfo(chatId);

            return(new Chat
            {
                Id = info.Id,
                Name = info.Name,
                Creater = info.Creater,
                Members = GetMembers(chatId),
                Messages = _messagesRepository.GetMessagesForUser(chatId, userId)
            });
        }
        public async Task <IActionResult> GetMessagesForUser(int userId, [FromQuery] MessageParams messageParams)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            messageParams.UserId = userId;

            var messagesFromRepo = await _messageRepo.GetMessagesForUser(messageParams);

            var messages = _mapper.Map <IEnumerable <MessageToReturnDto> >(messagesFromRepo);

            // Response.AddPagination(messagesFromRepo.CurrentPage, messagesFromRepo.PageSize, messagesFromRepo.TotalCount, messagesFromRepo.TotalPages);

            return(Ok(messages));
        }
Example #5
0
        public async Task <PaginatedResponseEnvelope <MessageListResponse> > GetMessagesForUser(MessageListRequest request)
        {
            if (request.UserId != _userAccessor.getCurrentUserId())
            {
                throw new RestException(HttpStatusCode.Forbidden);
            }

            var messages = await _repo.GetMessagesForUser(request);

            var response = _mapper.Map <List <MessageListResponse> >(messages);

            return(new PaginatedResponseEnvelope <MessageListResponse>
            {
                Response = response,
                PaginationHeaders = _mapper.Map <PaginationHeaders>(messages)
            });
        }
Example #6
0
 public async Task <PagedList <Message> > GetMessagesForUser(MessageParams messageParams)
 {
     return(await _messagesRepo.GetMessagesForUser(messageParams));
 }