mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-13 07:04:50 -06:00

- Added NATS package to dependencies - Created Prisma schema models for NATS configuration - Implemented NATS controller, router, and event management - Updated instance controller and event manager to support NATS - Added NATS configuration options in environment configuration - Included NATS events in instance validation schema
87 lines
1.5 KiB
TypeScript
87 lines
1.5 KiB
TypeScript
import { Constructor } from '@api/integrations/integration.dto';
|
|
import { JsonValue } from '@prisma/client/runtime/library';
|
|
|
|
export class EventDto {
|
|
webhook?: {
|
|
enabled?: boolean;
|
|
events?: string[];
|
|
url?: string;
|
|
headers?: JsonValue;
|
|
byEvents?: boolean;
|
|
base64?: boolean;
|
|
};
|
|
|
|
websocket?: {
|
|
enabled?: boolean;
|
|
events?: string[];
|
|
};
|
|
|
|
sqs?: {
|
|
enabled?: boolean;
|
|
events?: string[];
|
|
};
|
|
|
|
rabbitmq?: {
|
|
enabled?: boolean;
|
|
events?: string[];
|
|
};
|
|
|
|
nats?: {
|
|
enabled?: boolean;
|
|
events?: string[];
|
|
};
|
|
|
|
pusher?: {
|
|
enabled?: boolean;
|
|
appId?: string;
|
|
key?: string;
|
|
secret?: string;
|
|
cluster?: string;
|
|
useTLS?: boolean;
|
|
events?: string[];
|
|
};
|
|
}
|
|
|
|
export function EventInstanceMixin<TBase extends Constructor>(Base: TBase) {
|
|
return class extends Base {
|
|
webhook?: {
|
|
enabled?: boolean;
|
|
events?: string[];
|
|
headers?: JsonValue;
|
|
url?: string;
|
|
byEvents?: boolean;
|
|
base64?: boolean;
|
|
};
|
|
|
|
websocket?: {
|
|
enabled?: boolean;
|
|
events?: string[];
|
|
};
|
|
|
|
sqs?: {
|
|
enabled?: boolean;
|
|
events?: string[];
|
|
};
|
|
|
|
rabbitmq?: {
|
|
enabled?: boolean;
|
|
events?: string[];
|
|
};
|
|
|
|
nats?: {
|
|
enabled?: boolean;
|
|
events?: string[];
|
|
};
|
|
|
|
pusher?: {
|
|
enabled?: boolean;
|
|
appId?: string;
|
|
key?: string;
|
|
secret?: string;
|
|
cluster?: string;
|
|
useTLS?: boolean;
|
|
events?: string[];
|
|
};
|
|
};
|
|
}
|