requestInvite method
Request Invite Requests an invite from a user. Returns the Notification of type `requestInvite` that was sent.
Parameters:
userId- Must be a valid user ID.requestInviteRequest- Slot number of the Request Message to use when request an invite.cancelToken- ACancelTokenthat can be used to cancel the operationheaders- Can be used to add additional headers to the requestextras- Can be used to add flags to the requestvalidateStatus- AValidateStatuscallback that can be used to determine request success based on the HTTP status of the responseonSendProgress- AProgressCallbackthat can be used to get the send progressonReceiveProgress- AProgressCallbackthat can be used to get the receive progress
Returns a Future containing a Response with a Notification as data
Throws DioException if API call or serialization fails
Implementation
Future<Response<Notification>> requestInvite({
required String userId,
RequestInviteRequest? requestInviteRequest,
CancelToken? cancelToken,
Map<String, dynamic>? headers,
Map<String, dynamic>? extra,
ValidateStatus? validateStatus,
ProgressCallback? onSendProgress,
ProgressCallback? onReceiveProgress,
}) async {
final _path = r'/requestInvite/{userId}'.replaceAll(
'{'
r'userId'
'}',
userId.toString(),
);
final _options = Options(
method: r'POST',
headers: <String, dynamic>{...?headers},
extra: <String, dynamic>{
'secure': <Map<String, String>>[
{
'type': 'apiKey',
'name': 'authCookie',
'keyName': 'auth',
'where': '',
},
],
...?extra,
},
contentType: 'application/json',
validateStatus: validateStatus,
);
dynamic _bodyData;
try {
_bodyData = jsonEncode(requestInviteRequest);
} catch (error, stackTrace) {
throw DioException(
requestOptions: _options.compose(_dio.options, _path),
type: DioExceptionType.unknown,
error: error,
stackTrace: stackTrace,
);
}
final _response = await _dio.request<Object>(
_path,
data: _bodyData,
options: _options,
cancelToken: cancelToken,
onSendProgress: onSendProgress,
onReceiveProgress: onReceiveProgress,
);
Notification? _responseData;
try {
final rawData = _response.data;
_responseData = rawData == null
? null
: deserialize<Notification, Notification>(
rawData,
'Notification',
growable: true,
);
} catch (error, stackTrace) {
throw DioException(
requestOptions: _response.requestOptions,
response: _response,
type: DioExceptionType.unknown,
error: error,
stackTrace: stackTrace,
);
}
return Response<Notification>(
data: _responseData,
headers: _response.headers,
isRedirect: _response.isRedirect,
requestOptions: _response.requestOptions,
redirects: _response.redirects,
statusCode: _response.statusCode,
statusMessage: _response.statusMessage,
extra: _response.extra,
);
}