public async Task <ActionResult <IEnumerable <ChatMessageDTO> > > ListMessagesForGroup(Guid chatGroupUuid) { string userEmail = User.FindFirstValue(ClaimTypes.Email); User user = await _userManager.FindByEmailAsync(userEmail); if (user == null) { return(Forbid()); } ChatGroupUser chatGroupUser = await _chatGroupUserService.GetByUserAndChatGroupAsync( user.Id, chatGroupUuid); // Check if user is authorized to read users for the chat group AuthorizationResult isAuthorized = await _authorizationService.AuthorizeAsync( User, chatGroupUser, Operations.Create); if (!isAuthorized.Succeeded) { return(Forbid()); } IEnumerable <ChatMessageDTO> messages = await _chatMessageService.ListMessagesForGroupAsync(chatGroupUuid); return(Ok(messages)); }