updateDocument method
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);
}