$search_Request method

  1. @experimental
Request $search_Request({
  1. required String providerId,
  2. String? term,
  3. int? sortOrder,
  4. int? limit,
  5. UnifiedSearchSearchCursor? cursor,
  6. String? from,
  7. bool? oCSAPIRequest,
})

Launch a search for a specific search provider.

Additional filters are available for each provider. Send a request to /providers endpoint to list providers with their available filters.

Returns a DynamiteRequest backing the search operation. Throws a DynamiteApiException if the API call does not return an expected status code.

Parameters:

  • providerId ID of the provider.
  • term Term to search. Defaults to "".
  • sortOrder Order of entries.
  • limit Maximum amount of entries.
  • cursor Offset for searching.
  • from The current user URL. Defaults to "".
  • oCSAPIRequest Required to be true for the API request to pass. Defaults to true.

Status codes:

  • 200: Search entries returned
  • 400: Searching is not possible

See:

  • search for a method executing this request and parsing the response.
  • $search_Serializer for a converter to parse the Response from an executed this request.

Implementation

@_i2.experimental
_i3.Request $search_Request({
  required String providerId,
  String? term,
  int? sortOrder,
  int? limit,
  UnifiedSearchSearchCursor? cursor,
  String? from,
  bool? oCSAPIRequest,
}) {
  final _parameters = <String, Object?>{};
  final __providerId = _$jsonSerializers.serialize(providerId, specifiedType: const FullType(String));
  _parameters['providerId'] = __providerId;

  var __term = _$jsonSerializers.serialize(term, specifiedType: const FullType(String));
  __term ??= '';
  _parameters['term'] = __term;

  final __sortOrder = _$jsonSerializers.serialize(sortOrder, specifiedType: const FullType(int));
  _parameters['sortOrder'] = __sortOrder;

  final __limit = _$jsonSerializers.serialize(limit, specifiedType: const FullType(int));
  _parameters['limit'] = __limit;

  final __cursor = _$jsonSerializers.serialize(cursor, specifiedType: const FullType(UnifiedSearchSearchCursor));
  _parameters['cursor'] = __cursor;

  var __from = _$jsonSerializers.serialize(from, specifiedType: const FullType(String));
  __from ??= '';
  _parameters['from'] = __from;

  final _path =
      _i6.UriTemplate('/ocs/v2.php/search/providers/{providerId}/search{?term*,sortOrder*,limit*,cursor*,from*}')
          .expand(_parameters);
  final _uri = Uri.parse('${_rootClient.baseURL}$_path');
  final _request = _i3.Request('get', _uri);
  _request.headers['Accept'] = 'application/json';
// coverage:ignore-start
  final authentication = _i4.IterableExtension(_rootClient.authentications)?.firstWhereOrNull(
    (auth) => switch (auth) {
      _i1.DynamiteHttpBearerAuthentication() || _i1.DynamiteHttpBasicAuthentication() => true,
      _ => false,
    },
  );

  if (authentication != null) {
    _request.headers.addAll(
      authentication.headers,
    );
  } else {
    throw Exception('Missing authentication for bearer_auth or basic_auth');
  }

// coverage:ignore-end
  var __oCSAPIRequest = _$jsonSerializers.serialize(oCSAPIRequest, specifiedType: const FullType(bool));
  __oCSAPIRequest ??= true;
  _request.headers['OCS-APIRequest'] = const _i5.HeaderEncoder().convert(__oCSAPIRequest);

  return _request;
}