base-data-processor.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import { Injector } from '@vendure/core';
  2. import { Serializable } from 'node:child_process';
  3. import { DASHBOARD_PLUGIN_OPTIONS } from '../constants';
  4. import { SearchIndexingStrategy } from '../search-index/search-indexing.strategy';
  5. import { DataProcessorInterface } from './data-processor.interface';
  6. export abstract class BaseDataProcessor implements DataProcessorInterface {
  7. protected searchIndexingStrategy: SearchIndexingStrategy;
  8. init(injector: Injector) {
  9. const options = injector.get(DASHBOARD_PLUGIN_OPTIONS);
  10. this.searchIndexingStrategy = options.globalSearch?.indexingStrategy as SearchIndexingStrategy;
  11. }
  12. getBatchSize(): number {
  13. throw new Error('Not implemented');
  14. }
  15. getTotalResults(): Promise<number> {
  16. throw new Error('Not implemented');
  17. }
  18. processOne(id: string): Promise<void> {
  19. throw new Error('Not implemented');
  20. }
  21. processBatch(
  22. skip: number,
  23. limit: number,
  24. metadata: Record<string, Serializable> | undefined,
  25. ): AsyncGenerator<void> {
  26. throw new Error('Not implemented');
  27. }
  28. }