예제 #1
0
파일: ChatHub.cs 프로젝트: EndreoT/LyteChat
        /// <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());
            }
        }
예제 #2
0
        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)));
        }