updateDocument method

Future<Document> updateDocument(
  1. UpdateDocumentRequest request
)

Updates or inserts a document.

Throws a http.ClientException if there were problems communicating with the API service. Throws a ServiceException if the API method failed for any reason.

Implementation

Future<Document> updateDocument(UpdateDocumentRequest request) async {
  final url = _endPoint.replace(
    path: '/v1/${request.document!.name}',
    queryParameters: {
      if (request.updateMask?.fieldPaths case final $1? when $1.isNotDefault)
        'updateMask.fieldPaths': $1,
      if (request.mask?.fieldPaths case final $1? when $1.isNotDefault)
        'mask.fieldPaths': $1,
      if (request.currentDocument?.exists case final $1?)
        'currentDocument.exists': '${$1}',
      if (request.currentDocument?.updateTime case final $1?)
        'currentDocument.updateTime': $1.toJson(),
    },
  );
  final response = await _client.patch(url, body: request.document);
  return Document.fromJson(response);
}