UNPKG

@uplink-protocol/calendar-controller

Version:

Flexible calendar and time picker API supporting both calendar, date-picker, and time-picker integrations for any JavaScript framework or library

487 lines (244 loc) 15.1 kB
[**@uplink-protocol/form-controller v0.3.1**](../README.md) *** [@uplink-protocol/form-controller](../globals.md) / CalendarEventSearchService # Class: CalendarEventSearchService Defined in: [Event/services/event-search.service.ts:16](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L16) Implementation of event search service Provides comprehensive search and filtering capabilities for events ## Implements - [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md) ## Constructors ### Constructor > **new CalendarEventSearchService**(): `EventSearchService` #### Returns `EventSearchService` ## Methods ### addToIndex() > **addToIndex**(`event`): `Promise`\<`void`\> Defined in: [Event/services/event-search.service.ts:42](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L42) Add event to index #### Parameters ##### event [`CalendarEvent`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/CalendarEvent.md) #### Returns `Promise`\<`void`\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`addToIndex`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#addtoindex) *** ### buildIndex() > **buildIndex**(`events`): `Promise`\<`void`\> Defined in: [Event/services/event-search.service.ts:38](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L38) Build search index #### Parameters ##### events [`CalendarEvent`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/CalendarEvent.md)[] #### Returns `Promise`\<`void`\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`buildIndex`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#buildindex) *** ### clearIndex() > **clearIndex**(): `Promise`\<`void`\> Defined in: [Event/services/event-search.service.ts:293](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L293) Clear search index #### Returns `Promise`\<`void`\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`clearIndex`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#clearindex) *** ### deleteSavedSearch() > **deleteSavedSearch**(`searchId`): `Promise`\<`void`\> Defined in: [Event/services/event-search.service.ts:214](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L214) Delete saved search #### Parameters ##### searchId `string` #### Returns `Promise`\<`void`\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`deleteSavedSearch`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#deletesavedsearch) *** ### executeSavedSearch() > **executeSavedSearch**(`searchId`): `Promise`\<[`SearchResults`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchResults.md)\> Defined in: [Event/services/event-search.service.ts:219](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L219) Execute saved search #### Parameters ##### searchId `string` #### Returns `Promise`\<[`SearchResults`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchResults.md)\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`executeSavedSearch`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#executesavedsearch) *** ### exportSearchResults() > **exportSearchResults**(`results`, `format`): `Promise`\<\{ `data`: `string`; `filename`: `string`; `mimeType`: `string`; \}\> Defined in: [Event/services/event-search.service.ts:282](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L282) Export search results #### Parameters ##### results [`SearchResults`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchResults.md) ##### format `string` #### Returns `Promise`\<\{ `data`: `string`; `filename`: `string`; `mimeType`: `string`; \}\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`exportSearchResults`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#exportsearchresults) *** ### getAnalytics() > **getAnalytics**(): `Promise`\<`any`\> Defined in: [Event/services/event-search.service.ts:232](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L232) Get search analytics #### Returns `Promise`\<`any`\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`getAnalytics`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#getanalytics) *** ### getFacets() > **getFacets**(`_query?`): `Promise`\<[`SearchFacets`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchFacets.md)\> Defined in: [Event/services/event-search.service.ts:157](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L157) Get search facets #### Parameters ##### \_query? [`SearchQuery`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchQuery.md) #### Returns `Promise`\<[`SearchFacets`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchFacets.md)\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`getFacets`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#getfacets) *** ### getIndexStats() > **getIndexStats**(): `Promise`\<\{ `health`: `"good"` \| `"degraded"` \| `"poor"`; `indexSize`: `number`; `lastUpdated`: `Date`; `totalEvents`: `number`; \}\> Defined in: [Event/services/event-search.service.ts:297](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L297) Get index statistics #### Returns `Promise`\<\{ `health`: `"good"` \| `"degraded"` \| `"poor"`; `indexSize`: `number`; `lastUpdated`: `Date`; `totalEvents`: `number`; \}\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`getIndexStats`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#getindexstats) *** ### getSavedSearches() > **getSavedSearches**(`userId?`): `Promise`\<[`SavedSearch`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SavedSearch.md)[]\> Defined in: [Event/services/event-search.service.ts:207](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L207) Get saved searches #### Parameters ##### userId? `string` #### Returns `Promise`\<[`SavedSearch`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SavedSearch.md)[]\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`getSavedSearches`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#getsavedsearches) *** ### getSearchAnalytics() > **getSearchAnalytics**(): `Promise`\<\{ `avgSearchTime`: `number`; `noResultsRate`: `number`; `topQueries`: `object`[]; `totalSearches`: `number`; \}\> Defined in: [Event/services/event-search.service.ts:241](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L241) Get search analytics (alternative method name) #### Returns `Promise`\<\{ `avgSearchTime`: `number`; `noResultsRate`: `number`; `topQueries`: `object`[]; `totalSearches`: `number`; \}\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`getSearchAnalytics`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#getsearchanalytics) *** ### getSuggestions() > **getSuggestions**(`partialText`, `limit`): `Promise`\<`string`[]\> Defined in: [Event/services/event-search.service.ts:136](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L136) Get search suggestions #### Parameters ##### partialText `string` ##### limit `number` = `5` #### Returns `Promise`\<`string`[]\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`getSuggestions`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#getsuggestions) *** ### initialize() > **initialize**(`config`): `Promise`\<`void`\> Defined in: [Event/services/event-search.service.ts:34](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L34) Initialize search service #### Parameters ##### config [`SearchIndexConfig`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchIndexConfig.md) #### Returns `Promise`\<`void`\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`initialize`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#initialize) *** ### quickSearch() > **quickSearch**(`text`, `limit`): `Promise`\<[`SearchResultItem`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchResultItem.md)[]\> Defined in: [Event/services/event-search.service.ts:131](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L131) Quick text search #### Parameters ##### text `string` ##### limit `number` = `10` #### Returns `Promise`\<[`SearchResultItem`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchResultItem.md)[]\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`quickSearch`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#quicksearch) *** ### rebuildIndex() > **rebuildIndex**(`events?`): `Promise`\<`void`\> Defined in: [Event/services/event-search.service.ts:275](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L275) Rebuild search index #### Parameters ##### events? [`CalendarEvent`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/CalendarEvent.md)[] #### Returns `Promise`\<`void`\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`rebuildIndex`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#rebuildindex) *** ### removeFromIndex() > **removeFromIndex**(`eventId`): `Promise`\<`void`\> Defined in: [Event/services/event-search.service.ts:55](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L55) Remove event from index #### Parameters ##### eventId `string` #### Returns `Promise`\<`void`\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`removeFromIndex`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#removefromindex) *** ### saveSearch() > **saveSearch**(`name`, `query`, `userId`): `Promise`\<[`SavedSearch`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SavedSearch.md)\> Defined in: [Event/services/event-search.service.ts:191](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L191) Save search query #### Parameters ##### name `string` ##### query [`SearchQuery`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchQuery.md) ##### userId `string` #### Returns `Promise`\<[`SavedSearch`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SavedSearch.md)\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`saveSearch`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#savesearch) *** ### search() > **search**(`query`, `page`, `pageSize`): `Promise`\<[`SearchResults`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchResults.md)\> Defined in: [Event/services/event-search.service.ts:59](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L59) Search events #### Parameters ##### query [`SearchQuery`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchQuery.md) ##### page `number` = `1` ##### pageSize `number` = `20` #### Returns `Promise`\<[`SearchResults`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/SearchResults.md)\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`search`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#search) *** ### updateInIndex() > **updateInIndex**(`event`): `Promise`\<`void`\> Defined in: [Event/services/event-search.service.ts:51](https://github.com/jmkcoder/uplink-protocol-calendar/blob/4cde26f472352440ee258db7670fce2e95651862/src/Event/services/event-search.service.ts#L51) Update event in index #### Parameters ##### event [`CalendarEvent`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/CalendarEvent.md) #### Returns `Promise`\<`void`\> #### Implementation of [`IEventSearchService`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md).[`updateInIndex`](../@uplink-protocol/namespaces/EventInterfaces/interfaces/IEventSearchService.md#updateinindex)