vendure-import-products-plugin
Version:
- This plugin imports the products from the specified url every specified day.
47 lines (46 loc) • 3.63 kB
TypeScript
import './types';
import { HttpService } from '@nestjs/axios';
import { OnApplicationBootstrap } from '@nestjs/common';
import { Channel, ChannelService, CollectionService, ConfigArgService, ConfigService, EntityHydrator, EventBus, FacetService, FacetValueService, ID, JobQueueService, LanguageCode, ProcessContext, Product, ProductService, ProductVariant, ProductVariantService, RequestContext, SearchService, StockLocationService, StockMovementService, TaxCategoryService, TransactionalConnection, TranslatableSaver } from '@vendure/core';
import { RemoteProduct } from './types';
import { SchedulerRegistry } from '@nestjs/schedule';
import { ProductImportPluginOptions } from './product-import.plugin';
import { Brand, BrandService } from 'vendure-brands-plugin';
export declare const NEW_VARIANT_STOCK_VALUE = 9999;
export declare class ProductImportService implements OnApplicationBootstrap {
private hydrator;
private httpService;
private channelService;
private productVariantService;
private configArgService;
private facetService;
private stockLocationService;
private facetValueService;
private translatableSaver;
private searchService;
private productService;
private taxCategoryService;
private connection;
private eventBus;
private processContext;
private collectionService;
private schedulerRegistry;
private jobQueueService;
private stockMovementService;
private brandService;
private readonly options;
private configService;
private jobQueue;
constructor(hydrator: EntityHydrator, httpService: HttpService, channelService: ChannelService, productVariantService: ProductVariantService, configArgService: ConfigArgService, facetService: FacetService, stockLocationService: StockLocationService, facetValueService: FacetValueService, translatableSaver: TranslatableSaver, searchService: SearchService, productService: ProductService, taxCategoryService: TaxCategoryService, connection: TransactionalConnection, eventBus: EventBus, processContext: ProcessContext, collectionService: CollectionService, schedulerRegistry: SchedulerRegistry, jobQueueService: JobQueueService, stockMovementService: StockMovementService, brandService: BrandService, options: ProductImportPluginOptions, configService: ConfigService);
onApplicationBootstrap(): Promise<void>;
importProducts(): Promise<void>;
getExistingRemoteProducts(ctx: RequestContext, webHookIds: string[]): Promise<Product[]>;
getOrCreateBrand(ctx: RequestContext, brandName: string): Promise<Brand>;
updateProduct(ctx: RequestContext, vendureProduct: Product, languageCode: LanguageCode, remoteProduct: RemoteProduct): Promise<void>;
updateProductVariantName(ctx: RequestContext, defaultVariant: ProductVariant, languageCode: LanguageCode, remoteProductName: string): Promise<void>;
createProduct(ctx: RequestContext, newProduct: RemoteProduct, languageCode: LanguageCode): Promise<import("@vendure/core").Translated<Product> | undefined>;
updateDefaultVariant(ctx: RequestContext, vendureProduct: Product, defaultChannel: Channel, remoteProduct: RemoteProduct): Promise<ProductVariant>;
createProductVariant(ctx: RequestContext, productId: ID, remoteProduct: RemoteProduct, languageCode: LanguageCode): Promise<ProductVariant>;
updateProductCollection(ctx: RequestContext, defautVariant: ProductVariant, remoteProductCollection: string, languageCode: LanguageCode): Promise<void>;
updateProductFacet(ctx: RequestContext, vendureProduct: Product, remoteProduct: RemoteProduct, languageCode: LanguageCode): Promise<void>;
}