$addUser_Request method

  1. @experimental
Request $addUser_Request({
  1. required String userid,
  2. String? password,
  3. String? displayName,
  4. String? email,
  5. BuiltList<String>? groups,
  6. BuiltList<String>? subadmin,
  7. String? quota,
  8. String? language,
  9. String? manager,
  10. bool? oCSAPIRequest,
})

Create a new user.

This endpoint requires password confirmation.

Returns a DynamiteRequest backing the addUser operation. Throws a DynamiteApiException if the API call does not return an expected status code.

Parameters:

  • userid ID of the user.
  • password Password of the user. Defaults to "".
  • displayName Display name of the user. Defaults to "".
  • email Email of the user. Defaults to "".
  • groups Groups of the user. Defaults to [].
  • subadmin Groups where the user is subadmin. Defaults to [].
  • quota Quota of the user. Defaults to "".
  • language Language of the user. Defaults to "".
  • manager Manager of the user.
  • oCSAPIRequest Required to be true for the API request to pass. Defaults to true.

Status codes:

  • 200: User added successfully
  • 403: Missing permissions to make user subadmin

See:

  • addUser for a method executing this request and parsing the response.
  • $addUser_Serializer for a converter to parse the Response from an executed this request.

Implementation

@_i2.experimental
_i3.Request $addUser_Request({
  required String userid,
  String? password,
  String? displayName,
  String? email,
  BuiltList<String>? groups,
  BuiltList<String>? subadmin,
  String? quota,
  String? language,
  String? manager,
  bool? oCSAPIRequest,
}) {
  final _parameters = <String, Object?>{};
  final $userid = _$jsonSerializers.serialize(userid, specifiedType: const FullType(String));
  _parameters['userid'] = $userid;

  var $password = _$jsonSerializers.serialize(password, specifiedType: const FullType(String));
  $password ??= '';
  _parameters['password'] = $password;

  var $displayName = _$jsonSerializers.serialize(displayName, specifiedType: const FullType(String));
  $displayName ??= '';
  _parameters['displayName'] = $displayName;

  var $email = _$jsonSerializers.serialize(email, specifiedType: const FullType(String));
  $email ??= '';
  _parameters['email'] = $email;

  var $groups = _$jsonSerializers.serialize(groups, specifiedType: const FullType(BuiltList, [FullType(String)]));
  $groups ??= const [];
  _parameters['groups%5B%5D'] = $groups;

  var $subadmin = _$jsonSerializers.serialize(subadmin, specifiedType: const FullType(BuiltList, [FullType(String)]));
  $subadmin ??= const [];
  _parameters['subadmin%5B%5D'] = $subadmin;

  var $quota = _$jsonSerializers.serialize(quota, specifiedType: const FullType(String));
  $quota ??= '';
  _parameters['quota'] = $quota;

  var $language = _$jsonSerializers.serialize(language, specifiedType: const FullType(String));
  $language ??= '';
  _parameters['language'] = $language;

  final $manager = _$jsonSerializers.serialize(manager, specifiedType: const FullType(String));
  _parameters['manager'] = $manager;

  final _path = _i5.UriTemplate(
    '/ocs/v2.php/cloud/users{?userid*,password*,displayName*,email*,groups%5B%5D*,subadmin%5B%5D*,quota*,language*,manager*}',
  ).expand(_parameters);
  final _uri = Uri.parse('${_rootClient.baseURL}$_path');
  final _request = _i3.Request('post', _uri);
  _request.headers['Accept'] = 'application/json';
// coverage:ignore-start
  final authentication = _rootClient.authentications?.firstWhereOrNull(
    (auth) => switch (auth) {
      _i1.DynamiteHttpBearerAuthentication() || _i1.DynamiteHttpBasicAuthentication() => true,
      _ => false,
    },
  );

  if (authentication != null) {
    _request.headers.addAll(
      authentication.headers,
    );
  } else {
    throw Exception('Missing authentication for bearer_auth or basic_auth');
  }

// coverage:ignore-end
  var $oCSAPIRequest = _$jsonSerializers.serialize(oCSAPIRequest, specifiedType: const FullType(bool));
  $oCSAPIRequest ??= true;
  _request.headers['OCS-APIRequest'] = const _i4.HeaderEncoder().convert($oCSAPIRequest);

  return _request;
}