$addUser_Request method
- @experimental
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:
useridID of the user.passwordPassword of the user. Defaults to"".displayNameDisplay name of the user. Defaults to"".emailEmail of the user. Defaults to"".groupsGroups of the user. Defaults to[].subadminGroups where the user is subadmin. Defaults to[].quotaQuota of the user. Defaults to"".languageLanguage of the user. Defaults to"".managerManager of the user.oCSAPIRequestRequired to be true for the API request to pass. Defaults totrue.
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
Responsefrom 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;
}