@idealite/web-services
Version:
Comprehensive web services library with webhook system and Mux integration
68 lines • 2.42 kB
TypeScript
import { BaseEventHandler } from './event-handlers';
import { WebhookPayload } from '../interfaces/webhook.interface';
import { MuxWebhookPayload, MuxWebhookEventType } from '../types/mux-webhook.types';
/**
* Abstract base class for Mux webhook event handlers
* Provides common functionality for handling Mux webhook events
*/
export declare abstract class BaseMuxEventHandler extends BaseEventHandler {
readonly muxType: MuxWebhookEventType;
constructor(type: MuxWebhookEventType, enableLogging?: boolean);
abstract handle(payload: WebhookPayload): Promise<void>;
/**
* Helper method to cast WebhookPayload to MuxWebhookPayload
*/
protected asMuxPayload(payload: WebhookPayload): MuxWebhookPayload;
}
/**
* Handler for video asset ready events
*/
export declare class VideoAssetReadyHandler extends BaseMuxEventHandler {
constructor(isEnabled?: boolean);
handle(payload: WebhookPayload): Promise<void>;
private updateVideoMetadata;
private notifyVideoReady;
private triggerPostProcessing;
}
/**
* Handler for video asset error events
*/
export declare class VideoAssetErrorHandler extends BaseMuxEventHandler {
constructor(isEnabled?: boolean);
handle(payload: WebhookPayload): Promise<void>;
private updateVideoStatus;
private notifyError;
private handleRetryLogic;
}
/**
* Handler for live stream events
*/
export declare class LiveStreamHandler extends BaseMuxEventHandler {
constructor(eventType: MuxWebhookEventType, isEnabled?: boolean);
handle(payload: WebhookPayload): Promise<void>;
private handleStreamConnected;
private handleStreamDisconnected;
private handleStreamRecording;
private handleStreamActive;
private handleStreamIdle;
}
/**
* Handler for upload events
*/
export declare class MuxUploadHandler extends BaseMuxEventHandler {
constructor(eventType: MuxWebhookEventType, isEnabled?: boolean);
handle(payload: WebhookPayload): Promise<void>;
private handleUploadComplete;
private handleUploadError;
private handleUploadCancelled;
private handleUploadTimeout;
}
/**
* General logging handler for all Mux events
*/
export declare class MuxLoggingHandler extends BaseMuxEventHandler {
constructor(type?: MuxWebhookEventType);
handle(payload: WebhookPayload): Promise<void>;
private storeWebhookData;
}
//# sourceMappingURL=mux-event-handlers.d.ts.map