UNPKG

@vendure/core

Version:

A modern, headless ecommerce framework

66 lines (65 loc) 3.5 kB
import { Observable } from 'rxjs'; import { RequestContextCacheService } from '../../../cache/request-context-cache.service'; import { ConfigService } from '../../../config/config.service'; import { TransactionalConnection } from '../../../connection/transactional-connection'; import { Job } from '../../../job-queue/job'; import { EntityHydrator } from '../../../service/helpers/entity-hydrator/entity-hydrator.service'; import { ProductPriceApplicator } from '../../../service/helpers/product-price-applicator/product-price-applicator'; import { ProductVariantService } from '../../../service/services/product-variant.service'; import { DefaultSearchPluginInitOptions, ProductChannelMessageData, ReindexMessageResponse, UpdateAssetMessageData, UpdateIndexQueueJobData, UpdateProductMessageData, UpdateVariantMessageData, UpdateVariantsByIdJobData, VariantChannelMessageData } from '../types'; export declare const BATCH_SIZE = 1000; export declare const productRelations: string[]; export declare const variantRelations: string[]; export declare const workerLoggerCtx = "DefaultSearchPlugin Worker"; export declare class IndexerController { private connection; private entityHydrator; private productPriceApplicator; private configService; private requestContextCache; private productVariantService; private options; private queue; constructor(connection: TransactionalConnection, entityHydrator: EntityHydrator, productPriceApplicator: ProductPriceApplicator, configService: ConfigService, requestContextCache: RequestContextCacheService, productVariantService: ProductVariantService, options: DefaultSearchPluginInitOptions); reindex(job: Job<UpdateIndexQueueJobData>): Observable<ReindexMessageResponse>; updateVariantsById(job: Job<UpdateVariantsByIdJobData>): Observable<ReindexMessageResponse>; updateProduct(data: UpdateProductMessageData): Promise<boolean>; updateVariants(data: UpdateVariantMessageData): Promise<boolean>; deleteProduct(data: UpdateProductMessageData): Promise<boolean>; deleteVariant(data: UpdateVariantMessageData): Promise<boolean>; assignProductToChannel(data: ProductChannelMessageData): Promise<boolean>; removeProductFromChannel(data: ProductChannelMessageData): Promise<boolean>; assignVariantToChannel(data: VariantChannelMessageData): Promise<boolean>; removeVariantFromChannel(data: VariantChannelMessageData): Promise<boolean>; updateAsset(data: UpdateAssetMessageData): Promise<boolean>; deleteAsset(data: UpdateAssetMessageData): Promise<boolean>; private updateProductInChannel; private updateVariantsInChannel; private deleteProductInChannel; private loadChannel; private getAllChannels; private getSearchIndexQueryBuilder; private getProductInChannelQueryBuilder; private saveVariants; /** * If a Product has no variants, we create a synthetic variant for the purposes * of making that product visible via the search query. */ private saveSyntheticVariant; /** * Removes any synthetic variants for the given product */ private removeSyntheticVariants; private getTranslation; private getFacetIds; private getFacetValueIds; /** * Remove items from the search index */ private removeSearchIndexItems; /** * Prevent postgres errors from too-long indices * https://github.com/vendure-ecommerce/vendure/issues/745 */ private constrainDescription; }