itemSearch method

Future<PagedList<ItemResponse>> itemSearch(
  1. String contextFilter,
  2. String nameFilter,
  3. String kindFilter, {
  4. int? pageSize,
  5. String? cursor,
  6. bool includeDeprecated = false,
})
inherited

Searches for items across the project.

contextFilter filters by project or space path (supports wildcards). nameFilter filters by item name pattern. kindFilter filters by item kind. pageSize optional page size for pagination. cursor optional cursor for pagination. includeDeprecated whether to include deprecated items.

Implementation

Future<PagedList<ItemResponse>> itemSearch(
  String contextFilter,
  String nameFilter,
  String kindFilter, {
  int? pageSize,
  String? cursor,
  bool includeDeprecated = false,
}) async {
  final request = ItemSearchRequest()
    ..contextFilter = contextFilter
    ..itemNameFilter = nameFilter
    ..kindFilter = kindFilter
    ..includeDeprecated = includeDeprecated;

  if (pageSize != null || cursor != null) {
    request.pagination = PaginationRequest()
      ..pageSize = pageSize ?? 100
      ..cursor = cursor ?? '';
  }

  final response = await stub.itemSearch(request, options: callOptions);

  return PagedList(
    response.items,
    nextCursor: response.hasPagination() ? response.pagination.nextCursor : null,
    totalCount: response.hasPagination() ? response.pagination.totalCount : null,
  );
}