@vtexlab/planner-message-bus
Version:
A Message Bus that uses AWS SNS, AWS SQS, and AWS EventBridge
17 lines (16 loc) • 1.47 kB
TypeScript
import type { UpdateScheduleCommandOutput, CreateScheduleCommandOutput, DeleteScheduleCommandOutput, GetScheduleCommandOutput } from '@aws-sdk/client-scheduler';
import { SchedulerClient } from '@aws-sdk/client-scheduler';
import { Span } from '@opentelemetry/api';
import { ScheduleParams } from "../utils/types";
import { IEvent } from "@vtexlab/planner-contracts/build/types/utils/types";
export declare class EBScheduler extends SchedulerClient {
schedule<TMessage extends IEvent>(params: ScheduleParams<TMessage>, callback?: (output: CreateScheduleCommandOutput, span: Span | undefined) => void, errorCallback?: (error: any, span: Span | undefined) => void): Promise<CreateScheduleCommandOutput>;
get(id: string, callback?: (output: GetScheduleCommandOutput, span: Span | undefined) => void, errorCallback?: (error: any, span: Span | undefined) => void): Promise<{
id: string;
message: any;
scheduleDate: Date;
topicName: string;
} | undefined>;
updateSchedule<TMessage extends IEvent>(params: ScheduleParams<TMessage>, callback?: (output: UpdateScheduleCommandOutput, span: Span | undefined) => void, errorCallback?: (error: any, span: Span | undefined) => void): Promise<UpdateScheduleCommandOutput>;
deleteSchedule(id: string, callback?: (output: DeleteScheduleCommandOutput, span: Span | undefined) => void, errorCallback?: (error: any, span: Span | undefined) => void): Promise<DeleteScheduleCommandOutput>;
}