useDirectLink method
- DirectLinkSlug slug
Uses the specified DirectLink by the authenticated MyUser, creating a new Chat-dialog, or joining an existing Chat-group.
Authentication
Mandatory.
Result
Always returns the created or modified Chat.
Only the following ChatEvent may be produced on success:
- ChatItemPostedEvent (ChatInfo with either a ChatInfoActionCreated or a ChatInfoActionMemberAdded).
Idempotent
Succeeds as no-op (and returns no ChatEvent) if the authenticated MyUser is already a member of the Chat-group or has already a created Chat-dialog with the User the specified DirectLink leads to.
Implementation
Future<UseDirectLink$Mutation$UseDirectLink$UseDirectLinkOk> useDirectLink(
DirectLinkSlug slug,
) async {
Log.debug('useDirectLink($slug)', '$runtimeType');
final variables = UseDirectLinkArguments(slug: slug);
final QueryResult result = await client.mutate(
MutationOptions(
operationName: 'UseDirectLink',
document: UseDirectLinkMutation(variables: variables).document,
variables: variables.toJson(),
),
onException: (data) => UseDirectLinkException(
(UseDirectLink$Mutation.fromJson(data).useDirectLink
as UseDirectLink$Mutation$UseDirectLink$UseDirectLinkError)
.code,
),
);
return (UseDirectLink$Mutation.fromJson(result.data!).useDirectLink
as UseDirectLink$Mutation$UseDirectLink$UseDirectLinkOk);
}