dt-common-device
Version:
A secure and robust device management library for IoT applications
39 lines (38 loc) • 1.09 kB
TypeScript
import { IWebhookJobData, IWebhookProcessingResult } from "../types/webhook.types";
export interface IWebhookWorker {
/**
* Start processing webhook jobs from the queue
*/
startProcessing(queueName: string): Promise<void>;
/**
* Stop processing webhook jobs
*/
stopProcessing(): Promise<void>;
/**
* Process a single webhook job
*/
processWebhookJob(jobData: IWebhookJobData): Promise<IWebhookProcessingResult>;
/**
* Handle webhook processing errors
*/
handleError(error: Error, jobData: IWebhookJobData): Promise<void>;
/**
* Get worker status
*/
getWorkerStatus(): Promise<{
isRunning: boolean;
processedJobs: number;
failedJobs: number;
lastProcessedAt?: string;
}>;
/**
* Set webhook processor function
*/
setWebhookProcessor(processor: (webhookData: any, pmsType: string) => Promise<any>): void;
}
export interface IWebhookProcessor {
/**
* Process webhook data
*/
process(webhookData: any, pmsType: string): Promise<any>;
}