Built motion from commit 67e5df37.|2.0.66
[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 _0x2be2=['Chat','afterCreate','newinteraction','ChatInteraction','afterUpdate','ChatMessage','newmessage','Sms','SmsInteraction','SmsMessage','Fax','FaxInteraction','closedinteraction','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','EventManager','then','info','Trigger,\x20%s','error','code','catch','get','channel','event','direction','UserId','User','find','name','interface','SIP/%s','outgoingmessage','opened','closed','format','default','length','model','hook','callback','toLowerCase','util','jayson/promise','../logger','triggers','client'];(function(_0x2e8abe,_0x3504a7){var _0x2838f9=function(_0x5581c2){while(--_0x5581c2){_0x2e8abe['push'](_0x2e8abe['shift']());}};_0x2838f9(++_0x3504a7);}(_0x2be2,0xc7));var _0x22be=function(_0x3b5599,_0x1c6d86){_0x3b5599=_0x3b5599-0x0;var _0x3f7959=_0x2be2[_0x3b5599];return _0x3f7959;};'use strict';var util=require(_0x22be('0x0'));var db=require('../../mysqldb')['db'];var jayson=require(_0x22be('0x1'));var logger=require(_0x22be('0x2'))(_0x22be('0x3'));var client=jayson[_0x22be('0x4')]['http']({'port':0x232a});var triggers=[{'channel':_0x22be('0x5'),'model':'ChatInteraction','event':_0x22be('0x6'),'condition':_0x22be('0x7'),'callback':afterCreate},{'channel':_0x22be('0x5'),'model':_0x22be('0x8'),'event':_0x22be('0x9'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x22be('0x5'),'model':_0x22be('0xa'),'event':_0x22be('0x6'),'condition':_0x22be('0xb'),'callback':afterCreateMessage},{'channel':_0x22be('0xc'),'model':_0x22be('0xd'),'event':_0x22be('0x6'),'condition':_0x22be('0x7'),'callback':afterCreate},{'channel':_0x22be('0xc'),'model':_0x22be('0xd'),'event':_0x22be('0x9'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x22be('0xc'),'model':_0x22be('0xe'),'event':_0x22be('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x22be('0xf'),'model':'FaxInteraction','event':_0x22be('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x22be('0xf'),'model':_0x22be('0x10'),'event':_0x22be('0x9'),'condition':_0x22be('0x11'),'callback':afterUpdate},{'channel':'Fax','model':'FaxMessage','event':_0x22be('0x6'),'condition':_0x22be('0xb'),'callback':afterCreateMessage},{'channel':_0x22be('0x12'),'model':_0x22be('0x13'),'event':_0x22be('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x22be('0x12'),'model':'MailInteraction','event':'afterUpdate','condition':_0x22be('0x11'),'callback':afterUpdate},{'channel':_0x22be('0x12'),'model':_0x22be('0x14'),'event':_0x22be('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x22be('0x15'),'model':_0x22be('0x16'),'event':_0x22be('0x6'),'condition':_0x22be('0x7'),'callback':afterCreate},{'channel':_0x22be('0x15'),'model':_0x22be('0x16'),'event':_0x22be('0x9'),'condition':_0x22be('0x11'),'callback':afterUpdate},{'channel':'Openchannel','model':_0x22be('0x17'),'event':_0x22be('0x6'),'condition':'newmessage','callback':afterCreateMessage}];function request(_0x52a446){return client['request'](_0x22be('0x18'),_0x52a446)[_0x22be('0x19')](function(_0x508d36){logger[_0x22be('0x1a')](_0x22be('0x1b'),_0x22be('0x18'),_0x508d36);if(_0x508d36[_0x22be('0x1c')]){if(_0x508d36[_0x22be('0x1c')][_0x22be('0x1d')]===0x1f4){logger[_0x22be('0x1c')](_0x22be('0x1b'),_0x22be('0x18'),_0x508d36[_0x22be('0x1c')]);}}})[_0x22be('0x1e')](function(_0x3e9a34){logger[_0x22be('0x1c')](_0x22be('0x1b'),'EventManager',_0x3e9a34);});}function afterCreateMessage(_0x52a8f6,_0x2efae6){return function(_0x180831,_0x21e643){_0x180831=_0x180831[_0x22be('0x1f')]({'plain':!![]});_0x180831[_0x22be('0x20')]=_0x52a8f6;_0x180831[_0x22be('0x21')]=_0x180831[_0x22be('0x22')];if(_0x180831[_0x22be('0x23')]){return db[_0x22be('0x24')][_0x22be('0x25')]({'where':{'id':_0x180831[_0x22be('0x23')]},'attributes':['id',_0x22be('0x26')],'raw':!![]})[_0x22be('0x19')](function(_0xc86c5b){_0x180831[_0x22be('0x27')]=util['format'](_0x22be('0x28'),_0xc86c5b[_0x22be('0x26')]);_0x180831[_0x22be('0x20')]=_0x52a8f6;return request({'event':'incomingmessage','message':_0x180831});})[_0x22be('0x1e')](function(_0x10e371){console[_0x22be('0x1c')](_0x10e371);});}else{return request({'event':_0x22be('0x29'),'message':_0x180831});}};}function afterCreate(_0x5a870d,_0x51ef5f){return function(_0x4da473,_0x4b83aa){_0x4da473=_0x4da473[_0x22be('0x1f')]({'plain':!![]});_0x4da473[_0x22be('0x20')]=_0x5a870d;_0x4da473[_0x22be('0x21')]=_0x22be('0x2a');return request({'event':_0x51ef5f,'message':_0x4da473});};}function afterUpdate(_0x358eb5,_0x4a6255){return function(_0x9a02d,_0x5cb8a7){if(_0x9a02d['changed'](_0x22be('0x2b'))&&_0x9a02d[_0x22be('0x2b')]){_0x9a02d=_0x9a02d['get']({'plain':!![]});_0x9a02d['channel']=_0x358eb5;_0x9a02d[_0x22be('0x21')]=_0x22be('0x2b');if(_0x9a02d[_0x22be('0x23')]){return db[_0x22be('0x24')][_0x22be('0x25')]({'where':{'id':_0x9a02d['UserId']},'attributes':['id',_0x22be('0x26')],'raw':!![]})['then'](function(_0x4391e5){_0x9a02d[_0x22be('0x27')]=util[_0x22be('0x2c')]('SIP/%s',_0x4391e5[_0x22be('0x26')]);return request({'event':_0x4a6255,'message':_0x9a02d});})[_0x22be('0x1e')](function(_0x149c94){console[_0x22be('0x1c')](_0x149c94);});}else{return request({'event':_0x4a6255,'message':_0x9a02d});}}};}exports[_0x22be('0x2d')]=function(){for(var _0xc4a4c7=0x0;_0xc4a4c7<triggers[_0x22be('0x2e')];_0xc4a4c7+=0x1){if(db['hasOwnProperty'](triggers[_0xc4a4c7][_0x22be('0x2f')])){db[triggers[_0xc4a4c7]['model']][_0x22be('0x30')](triggers[_0xc4a4c7][_0x22be('0x21')],triggers[_0xc4a4c7][_0x22be('0x31')](triggers[_0xc4a4c7][_0x22be('0x20')][_0x22be('0x32')](),triggers[_0xc4a4c7]['condition']));}}};