UNPKG

tsonik

Version:

A TypeScript client library for the Iconik API based on Swagger documentation

133 lines 3.05 kB
/** * Search-related type definitions */ export type DocType = 'assets' | 'collections' | 'segments' | 'saved_searches' | 'saved_search_groups'; export type FilterOperator = string; export type SortOrder = string; /** * Range filter for date/numeric field searches * Format: +02:00. Results returned in UTC by default */ export interface CriteriaRangeFilter { max?: string; min?: string; /** Format: +02:00. Results returned in UTC by default */ timezone?: string; } /** * Individual search term/condition */ export interface CriteriaTerm { exists?: boolean; missing?: boolean; name: string; range?: CriteriaRangeFilter; value?: string; value_in?: string[]; } /** * Nested filter structure supporting logical operations */ export interface CriteriaFilter { filters?: CriteriaFilter[]; operator: string; terms?: CriteriaTerm[]; } /** * Faceted search filter */ export interface FacetFilter { name: string; value_in?: string[]; } /** * Sort configuration */ export interface CriteriaSort { name: string; order?: string; } /** * Main search criteria interface matching Swagger SearchCriteriaSchema */ export interface SearchCriteria { doc_types?: DocType[]; exclude_fields?: string[]; facets?: string[]; facets_filters?: FacetFilter[]; filter?: CriteriaFilter; include_fields?: string[]; metadata_view_id?: string; query?: string; /** * Used for infinite scroll pagination instead of deprecated scroll API. * Accepts a list of sort keys for getting next page from `_sort` key of last object */ search_after?: (string | number | boolean | null)[]; search_fields?: string[]; sort?: CriteriaSort[]; } /** * Alias for backward compatibility with original naming */ export type SearchRequest = SearchCriteria; /** * Search document result item */ export interface SearchDocument { date_created?: string; date_modified?: string; description?: string; id?: string; metadata?: object; object_type: string; title: string; } /** * Search results response */ export interface SearchDocuments { facets?: object; first_url?: string; last_url?: string; next_url?: string; objects?: SearchDocument[]; page?: number; pages?: number; per_page?: number; prev_url?: string; scroll_id?: string; total?: number; } /** * Search suggestions request */ export interface SearchSuggest { doc_types?: DocType[]; field_name: string; metadata_view_id?: string; query: string; } /** * Search suggestion response item */ export interface SearchSuggestResponse { value?: string; } /** * Search suggestions response */ export interface SearchSuggestsResponse { objects?: SearchSuggestResponse[]; } /** * Query parameters for search endpoints */ export interface SearchQueryParams { page?: number; per_page?: number; scroll?: boolean; scroll_id?: string; sort?: string; } //# sourceMappingURL=search.d.ts.map