6dcfaf292bb20c9ce47cbf54d6701d2108cb7fad
[motion2.git] / server / config / triggers / index.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x1817=['interface','SIP/%s','incomingmessage','outgoingmessage','get','event','opened','changed','closed','format','default','length','hasOwnProperty','model','hook','callback','toLowerCase','util','../../mysqldb','../logger','client','http','afterCreate','newinteraction','Chat','afterUpdate','closedinteraction','newmessage','Sms','SmsInteraction','SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','MailInteraction','Mail','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','error','code','catch','channel','direction','User','find','UserId','name','then'];(function(_0x595de3,_0x259272){var _0x352290=function(_0x22b459){while(--_0x22b459){_0x595de3['push'](_0x595de3['shift']());}};_0x352290(++_0x259272);}(_0x1817,0x1e5));var _0x7181=function(_0x5091ab,_0x2167df){_0x5091ab=_0x5091ab-0x0;var _0x2be5dc=_0x1817[_0x5091ab];return _0x2be5dc;};'use strict';var util=require(_0x7181('0x0'));var db=require(_0x7181('0x1'))['db'];var jayson=require('jayson/promise');var logger=require(_0x7181('0x2'))('triggers');var client=jayson[_0x7181('0x3')][_0x7181('0x4')]({'port':0x232a});var triggers=[{'channel':'Chat','model':'ChatInteraction','event':_0x7181('0x5'),'condition':_0x7181('0x6'),'callback':afterCreate},{'channel':_0x7181('0x7'),'model':'ChatInteraction','event':_0x7181('0x8'),'condition':_0x7181('0x9'),'callback':afterUpdate},{'channel':_0x7181('0x7'),'model':'ChatMessage','event':_0x7181('0x5'),'condition':_0x7181('0xa'),'callback':afterCreateMessage},{'channel':_0x7181('0xb'),'model':_0x7181('0xc'),'event':_0x7181('0x5'),'condition':_0x7181('0x6'),'callback':afterCreate},{'channel':_0x7181('0xb'),'model':'SmsInteraction','event':_0x7181('0x8'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x7181('0xb'),'model':_0x7181('0xd'),'event':_0x7181('0x5'),'condition':_0x7181('0xa'),'callback':afterCreateMessage},{'channel':_0x7181('0xe'),'model':_0x7181('0xf'),'event':_0x7181('0x5'),'condition':_0x7181('0x6'),'callback':afterCreate},{'channel':_0x7181('0xe'),'model':_0x7181('0xf'),'event':_0x7181('0x8'),'condition':_0x7181('0x9'),'callback':afterUpdate},{'channel':_0x7181('0xe'),'model':_0x7181('0x10'),'event':_0x7181('0x5'),'condition':_0x7181('0xa'),'callback':afterCreateMessage},{'channel':_0x7181('0x11'),'model':'FaxInteraction','event':_0x7181('0x5'),'condition':'newinteraction','callback':afterCreate},{'channel':'Fax','model':'FaxInteraction','event':'afterUpdate','condition':_0x7181('0x9'),'callback':afterUpdate},{'channel':_0x7181('0x11'),'model':'FaxMessage','event':_0x7181('0x5'),'condition':_0x7181('0xa'),'callback':afterCreateMessage},{'channel':'Mail','model':_0x7181('0x12'),'event':_0x7181('0x5'),'condition':_0x7181('0x6'),'callback':afterCreate},{'channel':_0x7181('0x13'),'model':_0x7181('0x12'),'event':'afterUpdate','condition':_0x7181('0x9'),'callback':afterUpdate},{'channel':_0x7181('0x13'),'model':'MailMessage','event':_0x7181('0x5'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x7181('0x14'),'model':_0x7181('0x15'),'event':_0x7181('0x5'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x7181('0x14'),'model':_0x7181('0x15'),'event':_0x7181('0x8'),'condition':_0x7181('0x9'),'callback':afterUpdate},{'channel':_0x7181('0x14'),'model':_0x7181('0x16'),'event':_0x7181('0x5'),'condition':'newmessage','callback':afterCreateMessage}];function request(_0x208750){return client[_0x7181('0x17')](_0x7181('0x18'),_0x208750)['then'](function(_0x338152){logger['info']('Trigger,\x20%s',_0x7181('0x18'),_0x338152);if(_0x338152[_0x7181('0x19')]){if(_0x338152[_0x7181('0x19')][_0x7181('0x1a')]===0x1f4){logger['error']('Trigger,\x20%s',_0x7181('0x18'),_0x338152['error']);}}})[_0x7181('0x1b')](function(_0x1ccb3e){logger[_0x7181('0x19')]('Trigger,\x20%s',_0x7181('0x18'),_0x1ccb3e);});}function afterCreateMessage(_0x14b859,_0x2dc731){return function(_0x267544,_0xeee302){_0x267544=_0x267544['get']({'plain':!![]});_0x267544[_0x7181('0x1c')]=_0x14b859;_0x267544['event']=_0x267544[_0x7181('0x1d')];if(_0x267544['UserId']){return db[_0x7181('0x1e')][_0x7181('0x1f')]({'where':{'id':_0x267544[_0x7181('0x20')]},'attributes':['id',_0x7181('0x21')],'raw':!![]})[_0x7181('0x22')](function(_0x525526){_0x267544[_0x7181('0x23')]=util['format'](_0x7181('0x24'),_0x525526[_0x7181('0x21')]);_0x267544[_0x7181('0x1c')]=_0x14b859;return request({'event':_0x7181('0x25'),'message':_0x267544});})[_0x7181('0x1b')](function(_0x1335a2){console[_0x7181('0x19')](_0x1335a2);});}else{return request({'event':_0x7181('0x26'),'message':_0x267544});}};}function afterCreate(_0x5e0cb0,_0x2ef21a){return function(_0x52afdb,_0xb1a4f7){_0x52afdb=_0x52afdb[_0x7181('0x27')]({'plain':!![]});_0x52afdb[_0x7181('0x1c')]=_0x5e0cb0;_0x52afdb[_0x7181('0x28')]=_0x7181('0x29');return request({'event':_0x2ef21a,'message':_0x52afdb});};}function afterUpdate(_0x59be37,_0x1f6566){return function(_0x42f40c,_0x33031f){if(_0x42f40c[_0x7181('0x2a')](_0x7181('0x2b'))&&_0x42f40c[_0x7181('0x2b')]){_0x42f40c=_0x42f40c[_0x7181('0x27')]({'plain':!![]});_0x42f40c[_0x7181('0x1c')]=_0x59be37;_0x42f40c[_0x7181('0x28')]=_0x7181('0x2b');if(_0x42f40c[_0x7181('0x20')]){return db['User']['find']({'where':{'id':_0x42f40c[_0x7181('0x20')]},'attributes':['id','name'],'raw':!![]})[_0x7181('0x22')](function(_0x23960d){_0x42f40c['interface']=util[_0x7181('0x2c')](_0x7181('0x24'),_0x23960d[_0x7181('0x21')]);return request({'event':_0x1f6566,'message':_0x42f40c});})['catch'](function(_0xaaac06){console[_0x7181('0x19')](_0xaaac06);});}else{return request({'event':_0x1f6566,'message':_0x42f40c});}}};}exports[_0x7181('0x2d')]=function(){for(var _0x3827fb=0x0;_0x3827fb<triggers[_0x7181('0x2e')];_0x3827fb+=0x1){if(db[_0x7181('0x2f')](triggers[_0x3827fb][_0x7181('0x30')])){db[triggers[_0x3827fb]['model']][_0x7181('0x31')](triggers[_0x3827fb][_0x7181('0x28')],triggers[_0x3827fb][_0x7181('0x32')](triggers[_0x3827fb][_0x7181('0x1c')][_0x7181('0x33')](),triggers[_0x3827fb]['condition']));}}};