import { Type } from '../../../../shared/shared-types'; import { DEFAULT_LANGUAGE_CODE } from '../../common/constants'; import { InjectorFn, VendureConfig, VendurePlugin } from '../../config'; import { FulltextSearchResolver } from './fulltext-search.resolver'; import { FulltextSearchService } from './fulltext-search.service'; import { SearchIndexItem } from './search-index-item.entity'; export class DefaultSearchPlugin implements VendurePlugin { private fulltextSearchService: FulltextSearchService; async configure(config: Required): Promise> { return config; } async onBootstrap(inject: InjectorFn): Promise { const searchService = inject(FulltextSearchService); await searchService.checkIndex(DEFAULT_LANGUAGE_CODE); } defineEntities(): Array> { return [SearchIndexItem]; } defineProviders(): Array> { return [FulltextSearchService, FulltextSearchResolver]; } }