1+ import { PusherController } from '@api/integrations/event/pusher/pusher.controller' ;
12import { RabbitmqController } from '@api/integrations/event/rabbitmq/rabbitmq.controller' ;
23import { SqsController } from '@api/integrations/event/sqs/sqs.controller' ;
34import { WebhookController } from '@api/integrations/event/webhook/webhook.controller' ;
@@ -13,6 +14,7 @@ export class EventManager {
1314 private webhookController : WebhookController ;
1415 private rabbitmqController : RabbitmqController ;
1516 private sqsController : SqsController ;
17+ private pusherController : PusherController ;
1618
1719 constructor ( prismaRepository : PrismaRepository , waMonitor : WAMonitoringService ) {
1820 this . prisma = prismaRepository ;
@@ -22,6 +24,7 @@ export class EventManager {
2224 this . webhook = new WebhookController ( prismaRepository , waMonitor ) ;
2325 this . rabbitmq = new RabbitmqController ( prismaRepository , waMonitor ) ;
2426 this . sqs = new SqsController ( prismaRepository , waMonitor ) ;
27+ this . pusher = new PusherController ( prismaRepository , waMonitor ) ;
2528 }
2629
2730 public set prisma ( prisma : PrismaRepository ) {
@@ -72,10 +75,18 @@ export class EventManager {
7275 return this . sqsController ;
7376 }
7477
78+ public set pusher ( pusher : PusherController ) {
79+ this . pusherController = pusher ;
80+ }
81+ public get pusher ( ) {
82+ return this . pusherController ;
83+ }
84+
7585 public init ( httpServer : Server ) : void {
7686 this . websocket . init ( httpServer ) ;
7787 this . rabbitmq . init ( ) ;
7888 this . sqs . init ( ) ;
89+ this . pusher . init ( ) ;
7990 }
8091
8192 public async emit ( eventData : {
@@ -93,6 +104,7 @@ export class EventManager {
93104 await this . rabbitmq . emit ( eventData ) ;
94105 await this . sqs . emit ( eventData ) ;
95106 await this . webhook . emit ( eventData ) ;
107+ await this . pusher . emit ( eventData ) ;
96108 }
97109
98110 public async setInstance ( instanceName : string , data : any ) : Promise < any > {
@@ -131,5 +143,18 @@ export class EventManager {
131143 byEvents : data . webhook ?. byEvents ,
132144 } ,
133145 } ) ;
146+
147+ if ( data . pusher )
148+ await this . pusher . set ( instanceName , {
149+ pusher : {
150+ enabled : true ,
151+ events : data . pusher ?. events ,
152+ appId : data . pusher ?. appId ,
153+ key : data . pusher ?. key ,
154+ secret : data . pusher ?. secret ,
155+ cluster : data . pusher ?. cluster ,
156+ useTLS : data . pusher ?. useTLS ,
157+ } ,
158+ } ) ;
134159 }
135160}
0 commit comments