@golemio/pid
Version:
Golemio PID Module
16 lines (15 loc) • 994 B
TypeScript
import { AbstractEmptyTask, IDataSource } from "@golemio/core/dist/integration-engine";
import { JISMetadataRepository } from "../../repositories/JISMetadataRepository";
import { ILogger } from "@golemio/core/dist/helpers";
export declare abstract class AbstractFetchJISResourceTask<TItem> extends AbstractEmptyTask {
protected readonly metadataRepository: JISMetadataRepository;
protected readonly logger: ILogger;
protected abstract readonly queueRoutingKey: string;
protected abstract readonly metadataGetter: () => Promise<string | undefined>;
protected abstract readonly metadataSetter: (etag: string) => Promise<void>;
protected abstract readonly getDataSource: (etag?: string) => IDataSource<TItem[]>;
protected abstract readonly sendMessageToExchange: (data: TItem[]) => Promise<boolean>;
constructor(metadataRepository: JISMetadataRepository, logger: ILogger, queuePrefix: string);
protected execute(): Promise<void>;
private getResponseEtag;
}