@@ -13,6 +13,7 @@ import { ChatwootService } from '../services/chatwoot.service';
1313import { WAMonitoringService } from '../services/monitor.service' ;
1414import { RabbitmqService } from '../services/rabbitmq.service' ;
1515import { SettingsService } from '../services/settings.service' ;
16+ import { TypebotService } from '../services/typebot.service' ;
1617import { WebhookService } from '../services/webhook.service' ;
1718import { WebsocketService } from '../services/websocket.service' ;
1819import { WAStartupService } from '../services/whatsapp.service' ;
@@ -30,6 +31,7 @@ export class InstanceController {
3031 private readonly settingsService : SettingsService ,
3132 private readonly websocketService : WebsocketService ,
3233 private readonly rabbitmqService : RabbitmqService ,
34+ private readonly typebotService : TypebotService ,
3335 private readonly cache : RedisCache ,
3436 ) { }
3537
@@ -59,6 +61,9 @@ export class InstanceController {
5961 websocket_events,
6062 rabbitmq_enabled,
6163 rabbitmq_events,
64+ typebot_url,
65+ typebot,
66+ typebot_expire,
6267 } : InstanceDto ) {
6368 try {
6469 this . logger . verbose ( 'requested createInstance from ' + instanceName + ' instance' ) ;
@@ -223,6 +228,25 @@ export class InstanceController {
223228 }
224229 }
225230
231+ if ( typebot_url ) {
232+ try {
233+ if ( ! isURL ( typebot_url , { require_tld : false } ) ) {
234+ throw new BadRequestException ( 'Invalid "url" property in typebot_url' ) ;
235+ }
236+
237+ this . logger . verbose ( 'creating typebot' ) ;
238+
239+ this . typebotService . create ( instance , {
240+ enabled : true ,
241+ url : typebot_url ,
242+ typebot : typebot ,
243+ expire : typebot_expire ,
244+ } ) ;
245+ } catch ( error ) {
246+ this . logger . log ( error ) ;
247+ }
248+ }
249+
226250 this . logger . verbose ( 'creating settings' ) ;
227251 const settings : wa . LocalSettings = {
228252 reject_call : reject_call || false ,
@@ -266,6 +290,12 @@ export class InstanceController {
266290 enabled : rabbitmq_enabled ,
267291 events : rabbitmqEvents ,
268292 } ,
293+ typebot : {
294+ enabled : typebot_url ? true : false ,
295+ url : typebot_url ,
296+ typebot,
297+ expire : typebot_expire ,
298+ } ,
269299 settings,
270300 qrcode : getQrcode ,
271301 } ;
@@ -349,6 +379,12 @@ export class InstanceController {
349379 enabled : rabbitmq_enabled ,
350380 events : rabbitmqEvents ,
351381 } ,
382+ typebot : {
383+ enabled : typebot_url ? true : false ,
384+ url : typebot_url ,
385+ typebot,
386+ expire : typebot_expire ,
387+ } ,
352388 settings,
353389 chatwoot : {
354390 enabled : true ,
0 commit comments