Example #1
0
        public async Task <ActionResult <ChatGroupUserResponse> > AddUserToChatGroupAsync([FromBody] ChatGroupUserDTO chatgroup)
        {
            string userEmail = User.FindFirstValue(ClaimTypes.Email);
            User   user      = await _userManager.FindByEmailAsync(userEmail);

            if (user == null)
            {
                return(Forbid());
            }

            return(Ok(await _chatGroupUserService.AddUserToChatGroupAsync(user, chatgroup.ChatGroupUuid)));
        }
        public async Task <ActionResult <RegisterResponse> > Register([FromBody] RegisterModel model)
        {
            User userExists = await _userManager.FindByEmailAsync(model.Email);

            if (userExists != null)
            {
                return(BadRequest(new RegisterResponse {
                    FailureMessage = "User already exists!"
                }));
            }

            User user = new User()
            {
                Email         = model.Email,
                SecurityStamp = Guid.NewGuid().ToString(),
                UserName      = model.UserName
            };

            IdentityResult createUserRes = await _userManager.CreateAsync(user, model.Password);

            if (!createUserRes.Succeeded)
            {
                return(BadRequest(new RegisterResponse {
                    ErrorList = createUserRes.Errors.ToList()
                }));
            }

            IdentityResult addRoleRes = await _userManager.AddToRoleAsync(user, Role.AuthenticatedUser);

            if (!addRoleRes.Succeeded)
            {
                return(BadRequest(new RegisterResponse {
                    ErrorList = createUserRes.Errors.ToList()
                }));
            }

            ChatGroupDTO allChat = await _chatGroupService.GetAllChatAsync();

            //Add user to all chat
            await _chatGroupUserService.AddUserToChatGroupAsync(user, allChat.Uuid);

            JwtSecurityToken token = await GetToken(user);

            return(Ok(new RegisterResponse
            {
                Token = new JwtSecurityTokenHandler().WriteToken(token),
                Expiration = token.ValidTo
            }));
        }
Example #3
0
        public async Task <ActionResult <ChatGroupResponse> > CreateChatGroup(ChatGroupDTO chatGroupDTO)
        {
            string userEmail = User.FindFirstValue(ClaimTypes.Email);
            User   user      = await _userManager.FindByEmailAsync(userEmail);

            if (user == null)
            {
                return(Forbid());
            }
            ChatGroupResponse createRes = await _chatGroupService.CreateChatGroupAsync(chatGroupDTO);

            if (createRes.Success)
            {
                //Add user to the chat group
                await _chatGroupUserService.AddUserToChatGroupAsync(user, createRes.ChatGroupDTO.Uuid);
            }
            return(createRes);
        }