wpUpdateUserInfo method

Future<WPUserInfoUpdatedResponse> wpUpdateUserInfo({
  1. String? userToken,
  2. String? firstName,
  3. String? lastName,
  4. String? displayName,
  5. List<WpMetaData>? metaData,
})

Sends a request to update details for a WordPress user. Optional parameters include a firstName, lastName, displayName or metaData to update.

Every metaData key is checked before anything is saved; one key that is not on the site's allow-list fails the whole request.

Returns a WPUserInfoUpdatedResponse future with the updated user. Throws an InvalidUserTokenException if the token is not valid, MetaKeyNotAllowedException if a metaData key is not allowed.

Implementation

Future<WPUserInfoUpdatedResponse> wpUpdateUserInfo(
    {String? userToken,
    String? firstName,
    String? lastName,
    String? displayName,
    List<WpMetaData>? metaData}) async {
  Map<String, dynamic> payload = {};
  if (firstName != null) payload["first_name"] = firstName;
  if (lastName != null) payload["last_name"] = lastName;
  if (displayName != null) payload["display_name"] = displayName;
  if (metaData != null) {
    payload['meta_data'] = metaData.map((e) => e.toJson()).toList();
  }

  // send http request
  final Map<String, dynamic> json = await _http(
    method: "POST",
    url: _urlForRouteType(WPRouteType.UserUpdateInfo),
    userToken: userToken,
    shouldAuthRequest: true,
    body: payload,
  );

  return WPUserInfoUpdatedResponse.fromJson(json);
}