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 })); }
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); }