Built motion from commit (unavailable).|2.4.7
[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 _0x9540=['event','changed','closed','default','length','hasOwnProperty','model','hook','callback','toLowerCase','condition','util','../../mysqldb','jayson/promise','../logger','client','http','ChatInteraction','afterCreate','Chat','closedinteraction','ChatMessage','Sms','SmsInteraction','newinteraction','afterUpdate','FaxInteraction','Fax','Mail','MailInteraction','newmessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','error','code','catch','Trigger,\x20%s','get','channel','direction','UserId','User','name','then','interface','format','SIP/%s','incomingmessage','outgoingmessage'];(function(_0x5024e1,_0x22aefe){var _0x543dc1=function(_0x24b07b){while(--_0x24b07b){_0x5024e1['push'](_0x5024e1['shift']());}};_0x543dc1(++_0x22aefe);}(_0x9540,0xdb));var _0x0954=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x9540[_0x3dd15e];return _0x231fd0;};'use strict';var util=require(_0x0954('0x0'));var db=require(_0x0954('0x1'))['db'];var jayson=require(_0x0954('0x2'));var logger=require(_0x0954('0x3'))('triggers');var client=jayson[_0x0954('0x4')][_0x0954('0x5')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0x0954('0x6'),'event':_0x0954('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x0954('0x8'),'model':_0x0954('0x6'),'event':'afterUpdate','condition':_0x0954('0x9'),'callback':afterUpdate},{'channel':_0x0954('0x8'),'model':_0x0954('0xa'),'event':_0x0954('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x0954('0xb'),'model':_0x0954('0xc'),'event':'afterCreate','condition':_0x0954('0xd'),'callback':afterCreate},{'channel':_0x0954('0xb'),'model':'SmsInteraction','event':_0x0954('0xe'),'condition':_0x0954('0x9'),'callback':afterUpdate},{'channel':_0x0954('0xb'),'model':'SmsMessage','event':_0x0954('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Fax','model':'FaxInteraction','event':_0x0954('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':'Fax','model':_0x0954('0xf'),'event':_0x0954('0xe'),'condition':_0x0954('0x9'),'callback':afterUpdate},{'channel':_0x0954('0x10'),'model':'FaxMessage','event':_0x0954('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x0954('0x11'),'model':_0x0954('0x12'),'event':_0x0954('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x0954('0x11'),'model':_0x0954('0x12'),'event':'afterUpdate','condition':_0x0954('0x9'),'callback':afterUpdate},{'channel':_0x0954('0x11'),'model':'MailMessage','event':_0x0954('0x7'),'condition':_0x0954('0x13'),'callback':afterCreateMessage},{'channel':_0x0954('0x14'),'model':_0x0954('0x15'),'event':_0x0954('0x7'),'condition':_0x0954('0xd'),'callback':afterCreate},{'channel':_0x0954('0x14'),'model':_0x0954('0x15'),'event':_0x0954('0xe'),'condition':'closedinteraction','callback':afterUpdate},{'channel':'Openchannel','model':_0x0954('0x16'),'event':_0x0954('0x7'),'condition':_0x0954('0x13'),'callback':afterCreateMessage}];function request(_0x39e80c){return client[_0x0954('0x17')]('EventManager',_0x39e80c)['then'](function(_0x229421){logger['info']('Trigger,\x20%s',_0x0954('0x18'),_0x229421);if(_0x229421['error']){if(_0x229421[_0x0954('0x19')][_0x0954('0x1a')]===0x1f4){logger[_0x0954('0x19')]('Trigger,\x20%s',_0x0954('0x18'),_0x229421[_0x0954('0x19')]);}}})[_0x0954('0x1b')](function(_0x516267){logger[_0x0954('0x19')](_0x0954('0x1c'),'EventManager',_0x516267);});}function afterCreateMessage(_0x439684,_0x4656f8){return function(_0x5810c3,_0x1bb42d){_0x5810c3=_0x5810c3[_0x0954('0x1d')]({'plain':!![]});_0x5810c3[_0x0954('0x1e')]=_0x439684;_0x5810c3['event']=_0x5810c3[_0x0954('0x1f')];if(_0x5810c3[_0x0954('0x20')]){return db[_0x0954('0x21')]['find']({'where':{'id':_0x5810c3[_0x0954('0x20')]},'attributes':['id',_0x0954('0x22')],'raw':!![]})[_0x0954('0x23')](function(_0x2d97be){_0x5810c3[_0x0954('0x24')]=util[_0x0954('0x25')](_0x0954('0x26'),_0x2d97be[_0x0954('0x22')]);_0x5810c3['channel']=_0x439684;return request({'event':_0x0954('0x27'),'message':_0x5810c3});})[_0x0954('0x1b')](function(_0x48a467){console[_0x0954('0x19')](_0x48a467);});}else{return request({'event':_0x0954('0x28'),'message':_0x5810c3});}};}function afterCreate(_0x1da3f7,_0x5a5ec9){return function(_0x3aff44,_0x17a157){_0x3aff44=_0x3aff44['get']({'plain':!![]});_0x3aff44[_0x0954('0x1e')]=_0x1da3f7;_0x3aff44[_0x0954('0x29')]='opened';return request({'event':_0x5a5ec9,'message':_0x3aff44});};}function afterUpdate(_0x38adc8,_0xa85546){return function(_0x35bd9e,_0x31f5aa){if(_0x35bd9e[_0x0954('0x2a')](_0x0954('0x2b'))&&_0x35bd9e[_0x0954('0x2b')]){_0x35bd9e=_0x35bd9e[_0x0954('0x1d')]({'plain':!![]});_0x35bd9e[_0x0954('0x1e')]=_0x38adc8;_0x35bd9e['event']=_0x0954('0x2b');if(_0x35bd9e[_0x0954('0x20')]){return db['User']['find']({'where':{'id':_0x35bd9e[_0x0954('0x20')]},'attributes':['id',_0x0954('0x22')],'raw':!![]})[_0x0954('0x23')](function(_0x34be7e){_0x35bd9e[_0x0954('0x24')]=util['format'](_0x0954('0x26'),_0x34be7e[_0x0954('0x22')]);return request({'event':_0xa85546,'message':_0x35bd9e});})[_0x0954('0x1b')](function(_0x1b9c67){console[_0x0954('0x19')](_0x1b9c67);});}else{return request({'event':_0xa85546,'message':_0x35bd9e});}}};}exports[_0x0954('0x2c')]=function(){for(var _0x3ddb1e=0x0;_0x3ddb1e<triggers[_0x0954('0x2d')];_0x3ddb1e+=0x1){if(db[_0x0954('0x2e')](triggers[_0x3ddb1e][_0x0954('0x2f')])){db[triggers[_0x3ddb1e][_0x0954('0x2f')]][_0x0954('0x30')](triggers[_0x3ddb1e][_0x0954('0x29')],triggers[_0x3ddb1e][_0x0954('0x31')](triggers[_0x3ddb1e][_0x0954('0x1e')][_0x0954('0x32')](),triggers[_0x3ddb1e][_0x0954('0x33')]));}}};