mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2026-01-12 23:02:25 -06:00
- Introduced Kafka support in the Evolution API, allowing for real-time event streaming and processing. - Updated environment configuration to include Kafka-related variables. - Added KafkaController and KafkaRouter for managing Kafka events. - Enhanced event management to support Kafka alongside existing integrations. - Updated database schemas and migrations for Kafka integration in both MySQL and PostgreSQL. - Documented Kafka integration in the README file.
97 lines
1.6 KiB
TypeScript
97 lines
1.6 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[];
|
|
};
|
|
|
|
kafka?: {
|
|
enabled?: 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[];
|
|
};
|
|
|
|
kafka?: {
|
|
enabled?: boolean;
|
|
events?: string[];
|
|
};
|
|
};
|
|
}
|