public async Task <bool> ModifyGroupMembership(bool joinGroup, Guid chatGroupUuid) { ChatGroupUserDTO body = new ChatGroupUserDTO { ChatGroupUuid = chatGroupUuid }; HttpResponseMessage response; if (joinGroup) { response = await Http.PostAsJsonAsync( $"/api/chatGroupUser", body); await AddUserToChatGroupConnection(chatGroupUuid); } else { response = await Http.DeleteAsync( $"/api/chatGroupUser/{chatGroupUuid}"); await RemoveUserFromChatGroupConnection(chatGroupUuid); } try { ChatGroupUserResponse content = await response.Content.ReadFromJsonAsync <ChatGroupUserResponse>(); if (content.Success == true) { await GetChatGroupUsersAndMessages(); NotifyStateChanged(); return(true); } else { //TODO handle issue with server } } catch (JsonException e) { // TODO probably unauthorized Console.WriteLine(e); } return(false); }
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))); }