$shareObjectToChat_Request method
- @experimental
Sends a rich-object to the given room.
The author and timestamp are automatically set to the current user/guest and time.
Returns a DynamiteRequest
backing the shareObjectToChat operation.
Throws a DynamiteApiException
if the API call does not return an expected status code.
Parameters:
objectType
Type of the object.objectId
ID of the object.metaData
Additional metadata. Defaults to""
.actorDisplayName
Guest name. Defaults to""
.referenceId
Reference ID. Defaults to""
.apiVersion
Defaults to"v1"
.token
oCSAPIRequest
Required to be true for the API request to pass. Defaults totrue
.
Status codes:
- 201: Object shared successfully
- 400: Sharing object is not possible
- 404: Actor not found
- 413: Message too long
See:
- shareObjectToChat for a method executing this request and parsing the response.
- $shareObjectToChat_Serializer for a converter to parse the
Response
from an executed this request.
Implementation
@_i2.experimental
_i3.Request $shareObjectToChat_Request({
required String objectType,
required String objectId,
required String token,
String? metaData,
String? actorDisplayName,
String? referenceId,
ChatShareObjectToChatApiVersion? apiVersion,
bool? oCSAPIRequest,
}) {
final _parameters = <String, Object?>{};
final $objectType = _$jsonSerializers.serialize(objectType, specifiedType: const FullType(String));
_parameters['objectType'] = $objectType;
final $objectId = _$jsonSerializers.serialize(objectId, specifiedType: const FullType(String));
_parameters['objectId'] = $objectId;
final $token = _$jsonSerializers.serialize(token, specifiedType: const FullType(String));
_i4.checkString(
$token,
'token',
pattern: RegExp(r'^[a-z0-9]{4,30}$'),
);
_parameters['token'] = $token;
var $metaData = _$jsonSerializers.serialize(metaData, specifiedType: const FullType(String));
$metaData ??= '';
_parameters['metaData'] = $metaData;
var $actorDisplayName = _$jsonSerializers.serialize(actorDisplayName, specifiedType: const FullType(String));
$actorDisplayName ??= '';
_parameters['actorDisplayName'] = $actorDisplayName;
var $referenceId = _$jsonSerializers.serialize(referenceId, specifiedType: const FullType(String));
$referenceId ??= '';
_parameters['referenceId'] = $referenceId;
var $apiVersion =
_$jsonSerializers.serialize(apiVersion, specifiedType: const FullType(ChatShareObjectToChatApiVersion));
$apiVersion ??= 'v1';
_parameters['apiVersion'] = $apiVersion;
final _path = _i5.UriTemplate(
'/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/share{?objectType*,objectId*,metaData*,actorDisplayName*,referenceId*}',
).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,
);
}
// 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;
}