searchDataItems method

Searches DataItems in a Dataset.

Throws a http.ClientException if there were problems communicating with the API service. Throws a StatusException if the API failed with a Status message. Throws a ServiceException for any other failure.

Implementation

Future<SearchDataItemsResponse> searchDataItems(
  SearchDataItemsRequest request,
) async {
  final url = Uri.https(
    _host,
    '/v1beta1/${request.dataset}:searchDataItems',
    {
      if (request.orderByDataItem != null)
        'orderByDataItem': request.orderByDataItem!,
      if (request.orderByAnnotation!.savedQuery.isNotDefault)
        'orderByAnnotation.savedQuery': request.orderByAnnotation!.savedQuery,
      if (request.orderByAnnotation!.orderBy.isNotDefault)
        'orderByAnnotation.orderBy': request.orderByAnnotation!.orderBy,
      if (request.savedQuery.isNotDefault) 'savedQuery': request.savedQuery,
      if (request.dataLabelingJob.isNotDefault)
        'dataLabelingJob': request.dataLabelingJob,
      if (request.dataItemFilter.isNotDefault)
        'dataItemFilter': request.dataItemFilter,
      if (request.annotationsFilter.isNotDefault)
        'annotationsFilter': request.annotationsFilter,
      if (request.annotationFilters.isNotDefault)
        'annotationFilters': request.annotationFilters,
      if (request.fieldMask != null) 'fieldMask': request.fieldMask!.toJson(),
      if (request.annotationsLimit.isNotDefault)
        'annotationsLimit': '${request.annotationsLimit}',
      if (request.pageSize.isNotDefault) 'pageSize': '${request.pageSize}',
      if (request.orderBy.isNotDefault) 'orderBy': request.orderBy,
      if (request.pageToken.isNotDefault) 'pageToken': request.pageToken,
    },
  );
  final response = await _client.get(url);
  return SearchDataItemsResponse.fromJson(response);
}