/// <summary> /// Connect the user to each chat group /// </summary> /// <returns></returns> private async Task AddUserToChatGroupsConnections() { User user = await _userManager.FindByEmailAsync(Context.UserIdentifier); IEnumerable <ChatGroupDTO> chatGroups = await _chatGroupUserService.GetChatGroupsForUserAsync(user.Id); foreach (ChatGroupDTO chatGroup in chatGroups) { await Groups.AddToGroupAsync(Context.ConnectionId, chatGroup.Uuid.ToString()); } }
public async Task <ActionResult <IEnumerable <ChatGroupDTO> > > GetChatGroupsForUser(Guid userUuid) { string userEmail = User.FindFirstValue(ClaimTypes.Email); User user = await _userManager.FindByEmailAsync(userEmail); if (user == null || user.Id != userUuid) { return(Forbid()); } return(Ok(await _chatGroupUserService.GetChatGroupsForUserAsync(userUuid))); }