public async Task <IHttpActionResult> PutUserInfo([FromBody] PutUserInfoRequest request) { string className = "UsersController"; string methodName = "PutUserInfo"; this.LogControllerStart(this.log, className, methodName); // If user handle is null, return 404 if (this.UserHandle == null) { return(this.NotFound(ResponseStrings.UserNotFound)); } var userProfileEntity = await this.usersManager.ReadUserProfile(this.UserHandle, this.AppHandle); if (userProfileEntity == null) { return(this.NotFound(ResponseStrings.UserNotFound)); } await this.usersManager.UpdateUserInfo( ProcessType.Frontend, this.UserHandle, this.AppHandle, request.FirstName, request.LastName, request.Bio, DateTime.UtcNow, userProfileEntity); this.LogControllerEnd(this.log, className, methodName); return(this.NoContent()); }
public async Task PutUserTest() { // Set up initial stuff SocialPlusClient client = new SocialPlusClient(TestConstants.ServerApiBaseUrl); PostUserResponse postUserResponse = await TestUtilities.DoLogin(client, "ü", "§", "╚"); string auth = AuthHelper.CreateSocialPlusAuth(postUserResponse.SessionToken); PutUserInfoRequest putUserInfoRequest = new PutUserInfoRequest(firstName: "Wilman", lastName: "Flinstone", bio: "Changed it up!"); await client.Users.PutUserInfoAsync(putUserInfoRequest, auth); // Call Get User UserProfileView getUserProfile = await client.Users.GetUserAsync(postUserResponse.UserHandle, auth); // Clean up first before verifying await client.Users.DeleteUserAsync(auth); // Verify changes ... also verify rest to make sure nothing else wiped out Assert.AreEqual("Changed it up!", getUserProfile.Bio); Assert.AreEqual("Wilman", getUserProfile.FirstName); Assert.AreEqual("Flinstone", getUserProfile.LastName); Assert.AreEqual(FollowerStatus.None, getUserProfile.FollowerStatus); Assert.AreEqual(FollowingStatus.None, getUserProfile.FollowingStatus); Assert.AreEqual(null, getUserProfile.PhotoHandle); Assert.AreEqual(null, getUserProfile.PhotoUrl); Assert.AreEqual(ProfileStatus.Active, getUserProfile.ProfileStatus); Assert.AreEqual(0, getUserProfile.TotalFollowers); Assert.AreEqual(0, getUserProfile.TotalFollowing); Assert.AreEqual(0, getUserProfile.TotalTopics); Assert.AreEqual(postUserResponse.UserHandle, getUserProfile.UserHandle); Assert.AreEqual(Visibility.Public, getUserProfile.Visibility); }
/// <summary> /// Update user info /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='request'> /// Put user info request /// </param> /// <param name='authorization'> /// Format is: "Scheme CredentialsList". Possible values are: /// /// - Anon AK=AppKey /// /// - SocialPlus TK=SessionToken /// /// - Facebook AK=AppKey|TK=AccessToken /// /// - Google AK=AppKey|TK=AccessToken /// /// - Twitter AK=AppKey|RT=RequestToken|TK=AccessToken /// /// - Microsoft AK=AppKey|TK=AccessToken /// /// - AADS2S AK=AppKey|[UH=UserHandle]|TK=AADToken /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <object> PutUserInfoAsync(this IUsers operations, PutUserInfoRequest request, string authorization, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.PutUserInfoWithHttpMessagesAsync(request, authorization, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Update user profle /// </summary> /// <returns>result of put user operation</returns> public async Task <IHttpActionResult> PutUser() { var putUserInfoRequest = new PutUserInfoRequest { FirstName = "Barack" + this.seqNumber.GenerateStronglyOrderedSequenceNumber(), LastName = "Obama" + this.seqNumber.GenerateStronglyOrderedSequenceNumber(), Bio = "President" + this.seqNumber.GenerateStronglyOrderedSequenceNumber(), }; return(await this.PutUserInfo(putUserInfoRequest)); }
public override async Task <WopiResponse> PutUserInfo(PutUserInfoRequest putUserInfoRequest) { var userId = WopiSecurity.GetIdentityNameFromToken(putUserInfoRequest.AccessToken); var wopiFileRespository = new WopiFileRepository(); var response = await wopiFileRespository.SaveWopiUserInfo(putUserInfoRequest.ResourceId, userId, putUserInfoRequest.UserInfo); if (response == HttpStatusCode.NotFound) { return(putUserInfoRequest.ResponseNotFound()); } else if (response == HttpStatusCode.OK) { return(putUserInfoRequest.ResponseOK()); } else { return(putUserInfoRequest.ResponseServerError(string.Format("Unknown HTTPStatusCode from WopiFileRepository.SaveWopiUserInfo: {0}", response))); } }
public override async Task <WopiResponse> PutUserInfo(PutUserInfoRequest putUserInfoRequest) { WopiResponse wopiResponse = null; var file = DocumentDBRepository <DetailedFileModel> .GetItem("Files", i => i.id.ToString() == putUserInfoRequest.ResourceId); // Check for null file if (file != null) { file.UserInfo = putUserInfoRequest.UserInfo; // Update the file in DocumentDB await DocumentDBRepository <FileModel> .UpdateItemAsync("Files", file.id.ToString(), (FileModel)file); // Return success return(putUserInfoRequest.ResponseOK()); } else { wopiResponse = putUserInfoRequest.ResponseNotFound(); } return(wopiResponse); }
public abstract Task <WopiResponse> PutUserInfo(PutUserInfoRequest putUserInfoRequest);
/// <summary> /// Update user info /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='request'> /// Put user info request /// </param> /// <param name='authorization'> /// Format is: "Scheme CredentialsList". Possible values are: /// /// - Anon AK=AppKey /// /// - SocialPlus TK=SessionToken /// /// - Facebook AK=AppKey|TK=AccessToken /// /// - Google AK=AppKey|TK=AccessToken /// /// - Twitter AK=AppKey|RT=RequestToken|TK=AccessToken /// /// - Microsoft AK=AppKey|TK=AccessToken /// /// - AADS2S AK=AppKey|[UH=UserHandle]|TK=AADToken /// </param> public static object PutUserInfo(this IUsers operations, PutUserInfoRequest request, string authorization) { return(Task.Factory.StartNew(s => ((IUsers)s).PutUserInfoAsync(request, authorization), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult()); }