@idealite/web-services
Version:
Comprehensive web services library with webhook system and Mux integration
48 lines • 1.62 kB
TypeScript
import { WebhookEventHandler, WebhookPayload } from '../interfaces/webhook.interface';
/**
* Abstract base class for webhook event handlers
* Provides common functionality for all event handlers
*/
export declare abstract class BaseEventHandler implements WebhookEventHandler {
readonly type: string;
protected logEvents: boolean;
constructor(type: string, logEvents?: boolean);
/**
* Handle the webhook event - must be implemented by concrete classes
*/
abstract handle(payload: WebhookPayload): Promise<void>;
/**
* Log event if logging is enabled
*/
protected log(message: string, data?: unknown): void;
/**
* Validate required fields in payload data
*/
protected validatePayload(payload: WebhookPayload, requiredFields: string[]): void;
}
/**
* Example: User registration event handler
*/
export declare class UserRegistrationHandler extends BaseEventHandler {
constructor(logEvents?: boolean);
handle(payload: WebhookPayload): Promise<void>;
private sendWelcomeEmail;
private updateUserAnalytics;
}
/**
* Example: Payment processed event handler
*/
export declare class PaymentProcessedHandler extends BaseEventHandler {
constructor(logEvents?: boolean);
handle(payload: WebhookPayload): Promise<void>;
private updateOrderStatus;
private sendPaymentReceipt;
}
/**
* Example: Generic logging handler for debugging
*/
export declare class LoggingHandler extends BaseEventHandler {
constructor(type?: string);
handle(payload: WebhookPayload): Promise<void>;
}
//# sourceMappingURL=event-handlers.d.ts.map