addUserRaw method
Create a new user.
This method and the response it returns is experimental. The API might change without a major version bump.
Returns a Future containing a DynamiteRawResponse with the raw HttpClientResponse and serialization helpers. 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 an operation that returns a DynamiteResponse with a stable API.
Implementation
@experimental
DynamiteRawResponse<UsersAddUserResponseApplicationJson, void> addUserRaw({
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, dynamic>{};
final _headers = <String, String>{
'Accept': 'application/json',
};
// coverage:ignore-start
final authentication = _rootClient.authentications.firstWhereOrNull(
(auth) => switch (auth) {
DynamiteHttpBearerAuthentication() || DynamiteHttpBasicAuthentication() => true,
_ => false,
},
);
if (authentication != null) {
_headers.addAll(
authentication.headers,
);
} else {
throw Exception('Missing authentication for bearer_auth or basic_auth');
}
// coverage:ignore-end
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 ??= [];
_parameters['groups%5B%5D'] = $groups;
var $subadmin = jsonSerializers.serialize(subadmin, specifiedType: const FullType(BuiltList, [FullType(String)]));
$subadmin ??= [];
_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;
var $oCSAPIRequest = jsonSerializers.serialize(oCSAPIRequest, specifiedType: const FullType(bool));
$oCSAPIRequest ??= true;
_headers['OCS-APIRequest'] = const dynamite_utils.HeaderEncoder().convert($oCSAPIRequest);
final _path = UriTemplate(
'/ocs/v2.php/cloud/users{?userid*,password*,displayName*,email*,groups%5B%5D*,subadmin%5B%5D*,quota*,language*,manager*}',
).expand(_parameters);
return DynamiteRawResponse<UsersAddUserResponseApplicationJson, void>(
response: _rootClient.executeRequest(
'post',
_path,
_headers,
null,
const {200},
),
bodyType: const FullType(UsersAddUserResponseApplicationJson),
headersType: null,
serializers: jsonSerializers,
);
}