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]); }
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)); }
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) }); }
public async Task <PagedList <Message> > GetMessagesForUser(MessageParams messageParams) { return(await _messagesRepo.GetMessagesForUser(messageParams)); }