@@ -90,6 +90,29 @@ public class AccountSettingsRemote: ServiceRemoteWordPressComREST {
9090 } )
9191 }
9292
93+ /// Validate the current user's username
94+ ///
95+ /// - Parameters:
96+ /// - username: The new username
97+ /// - success: block for success
98+ /// - failure: block for failure
99+ public func validateUsername( to username: String , success: @escaping ( ) -> Void , failure: @escaping ( Error ) -> Void ) {
100+ let endpoint = " me/username/validate/ \( username) "
101+ let path = self . path ( forEndpoint: endpoint, withVersion: . _1_1)
102+
103+ wordPressComRestApi. GET ( path,
104+ parameters: nil ,
105+ success: { responseObject, httpResponse in
106+ // The success block needs to be changed if
107+ // any allowed_actions is required
108+ // by the changeUsername API
109+ success ( )
110+ } ,
111+ failure: { error, httpResponse in
112+ failure ( error)
113+ } )
114+ }
115+
93116 public func suggestUsernames( base: String , finished: @escaping ( [ String ] ) -> Void ) {
94117 let endpoint = " wpcom/v2/users/username/suggestions "
95118 let parameters = [ " name " : base]
@@ -131,6 +154,7 @@ public class AccountSettingsRemote: ServiceRemoteWordPressComREST {
131154 let displayName = response [ " display_name " ] as? String ,
132155 let aboutMe = response [ " description " ] as? String ,
133156 let username = response [ " user_login " ] as? String ,
157+ let usernameCanBeChanged = response [ " user_login_can_be_changed " ] as? Bool ,
134158 let email = response [ " user_email " ] as? String ,
135159 let emailPendingAddress = response [ " new_user_email " ] as? String ? ,
136160 let emailPendingChange = response [ " user_email_change_pending " ] as? Bool ,
@@ -149,6 +173,7 @@ public class AccountSettingsRemote: ServiceRemoteWordPressComREST {
149173 displayName: displayName,
150174 aboutMe: aboutMeText!,
151175 username: username,
176+ usernameCanBeChanged: usernameCanBeChanged,
152177 email: email,
153178 emailPendingAddress: emailPendingAddress,
154179 emailPendingChange: emailPendingChange,
0 commit comments