markAsDoNotDisturb method

Future<Availability> markAsDoNotDisturb(
  1. MarkAsDoNotDisturbRequest request,
  2. String name, {
  3. String? $fields,
})

Marks user as DO_NOT_DISTURB in Google Chat.

Sets a user's availability state to DO_NOT_DISTURB until a specified expiration time. When in DO_NOT_DISTURB, users typically won't receive notifications. This method only updates the authenticated user's availability. Requires user authentication with authorization scope:

  • https://www.googleapis.com/auth/chat.users.availability

request - The metadata request object.

Request parameters:

name - Required. The resource name of the availability to mark as Do Not Disturb. Format: users/{user}/availability {user} is the id for the Person in the People API or Admin SDK directory API. For example, users/123456789. The user's email address or me can also be used as an alias to refer to the caller. For example, users/user@example.com or users/me. Value must have pattern ^users/\[^/\]+/availability$.

$fields - Selector specifying which fields to include in a partial response.

Completes with a Availability.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<Availability> markAsDoNotDisturb(
  MarkAsDoNotDisturbRequest request,
  core.String name, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    'fields': ?$fields == null ? null : [$fields],
  };

  final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':markAsDoNotDisturb';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return Availability.fromJson(
    response_ as core.Map<core.String, core.dynamic>,
  );
}