b691255ab9c9810595682533df832a0bdb0064c0
[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 _0x9b9d=['SmsInteraction','closedinteraction','Sms','SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','Mail','MailInteraction','MailMessage','OpenchannelInteraction','Openchannel','OpenchannelMessage','request','EventManager','then','info','Trigger,\x20%s','error','code','get','event','direction','User','find','format','channel','incomingmessage','catch','outgoingmessage','opened','changed','closed','UserId','name','interface','SIP/%s','default','length','hasOwnProperty','model','callback','toLowerCase','util','../../mysqldb','../logger','triggers','client','http','ChatInteraction','afterCreate','newinteraction','afterUpdate','Chat','ChatMessage','newmessage'];(function(_0x16e1f1,_0x20f280){var _0x410e7e=function(_0x519306){while(--_0x519306){_0x16e1f1['push'](_0x16e1f1['shift']());}};_0x410e7e(++_0x20f280);}(_0x9b9d,0xa1));var _0xd9b9=function(_0x1f535b,_0xc42523){_0x1f535b=_0x1f535b-0x0;var _0x5bb329=_0x9b9d[_0x1f535b];return _0x5bb329;};'use strict';var util=require(_0xd9b9('0x0'));var db=require(_0xd9b9('0x1'))['db'];var jayson=require('jayson/promise');var logger=require(_0xd9b9('0x2'))(_0xd9b9('0x3'));var client=jayson[_0xd9b9('0x4')][_0xd9b9('0x5')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0xd9b9('0x6'),'event':_0xd9b9('0x7'),'condition':_0xd9b9('0x8'),'callback':afterCreate},{'channel':'Chat','model':_0xd9b9('0x6'),'event':_0xd9b9('0x9'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xd9b9('0xa'),'model':_0xd9b9('0xb'),'event':'afterCreate','condition':_0xd9b9('0xc'),'callback':afterCreateMessage},{'channel':'Sms','model':_0xd9b9('0xd'),'event':_0xd9b9('0x7'),'condition':_0xd9b9('0x8'),'callback':afterCreate},{'channel':'Sms','model':'SmsInteraction','event':_0xd9b9('0x9'),'condition':_0xd9b9('0xe'),'callback':afterUpdate},{'channel':_0xd9b9('0xf'),'model':_0xd9b9('0x10'),'event':'afterCreate','condition':_0xd9b9('0xc'),'callback':afterCreateMessage},{'channel':_0xd9b9('0x11'),'model':'WhatsappInteraction','event':_0xd9b9('0x7'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xd9b9('0x11'),'model':_0xd9b9('0x12'),'event':'afterUpdate','condition':_0xd9b9('0xe'),'callback':afterUpdate},{'channel':_0xd9b9('0x11'),'model':_0xd9b9('0x13'),'event':_0xd9b9('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xd9b9('0x14'),'model':_0xd9b9('0x15'),'event':_0xd9b9('0x7'),'condition':_0xd9b9('0x8'),'callback':afterCreate},{'channel':_0xd9b9('0x14'),'model':_0xd9b9('0x15'),'event':_0xd9b9('0x9'),'condition':_0xd9b9('0xe'),'callback':afterUpdate},{'channel':_0xd9b9('0x14'),'model':'FaxMessage','event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0xd9b9('0x16'),'model':'MailInteraction','event':_0xd9b9('0x7'),'condition':_0xd9b9('0x8'),'callback':afterCreate},{'channel':_0xd9b9('0x16'),'model':_0xd9b9('0x17'),'event':'afterUpdate','condition':_0xd9b9('0xe'),'callback':afterUpdate},{'channel':_0xd9b9('0x16'),'model':_0xd9b9('0x18'),'event':'afterCreate','condition':_0xd9b9('0xc'),'callback':afterCreateMessage},{'channel':'Openchannel','model':_0xd9b9('0x19'),'event':_0xd9b9('0x7'),'condition':_0xd9b9('0x8'),'callback':afterCreate},{'channel':_0xd9b9('0x1a'),'model':'OpenchannelInteraction','event':_0xd9b9('0x9'),'condition':_0xd9b9('0xe'),'callback':afterUpdate},{'channel':_0xd9b9('0x1a'),'model':_0xd9b9('0x1b'),'event':_0xd9b9('0x7'),'condition':_0xd9b9('0xc'),'callback':afterCreateMessage}];function request(_0x3c0302){return client[_0xd9b9('0x1c')](_0xd9b9('0x1d'),_0x3c0302)[_0xd9b9('0x1e')](function(_0x585e18){logger[_0xd9b9('0x1f')](_0xd9b9('0x20'),'EventManager',_0x585e18);if(_0x585e18[_0xd9b9('0x21')]){if(_0x585e18[_0xd9b9('0x21')][_0xd9b9('0x22')]===0x1f4){logger[_0xd9b9('0x21')](_0xd9b9('0x20'),_0xd9b9('0x1d'),_0x585e18[_0xd9b9('0x21')]);}}})['catch'](function(_0x3852b6){logger[_0xd9b9('0x21')](_0xd9b9('0x20'),_0xd9b9('0x1d'),_0x3852b6);});}function afterCreateMessage(_0x396aee,_0x327b26){return function(_0xef9d25,_0x1acc56){_0xef9d25=_0xef9d25[_0xd9b9('0x23')]({'plain':!![]});_0xef9d25['channel']=_0x396aee;_0xef9d25[_0xd9b9('0x24')]=_0xef9d25[_0xd9b9('0x25')];if(_0xef9d25['UserId']){return db[_0xd9b9('0x26')][_0xd9b9('0x27')]({'where':{'id':_0xef9d25['UserId']},'attributes':['id','name'],'raw':!![]})[_0xd9b9('0x1e')](function(_0x58b50a){_0xef9d25['interface']=util[_0xd9b9('0x28')]('SIP/%s',_0x58b50a['name']);_0xef9d25[_0xd9b9('0x29')]=_0x396aee;return request({'event':_0xd9b9('0x2a'),'message':_0xef9d25});})[_0xd9b9('0x2b')](function(_0x52a66a){console[_0xd9b9('0x21')](_0x52a66a);});}else{return request({'event':_0xd9b9('0x2c'),'message':_0xef9d25});}};}function afterCreate(_0x5227fc,_0x21008a){return function(_0x3d71ef,_0x43666c){_0x3d71ef=_0x3d71ef[_0xd9b9('0x23')]({'plain':!![]});_0x3d71ef[_0xd9b9('0x29')]=_0x5227fc;_0x3d71ef[_0xd9b9('0x24')]=_0xd9b9('0x2d');return request({'event':_0x21008a,'message':_0x3d71ef});};}function afterUpdate(_0x52eec2,_0x425d1c){return function(_0x6ac3b5,_0x49c942){if(_0x6ac3b5[_0xd9b9('0x2e')](_0xd9b9('0x2f'))&&_0x6ac3b5[_0xd9b9('0x2f')]){_0x6ac3b5=_0x6ac3b5['get']({'plain':!![]});_0x6ac3b5[_0xd9b9('0x29')]=_0x52eec2;_0x6ac3b5[_0xd9b9('0x24')]=_0xd9b9('0x2f');if(_0x6ac3b5[_0xd9b9('0x30')]){return db[_0xd9b9('0x26')][_0xd9b9('0x27')]({'where':{'id':_0x6ac3b5[_0xd9b9('0x30')]},'attributes':['id',_0xd9b9('0x31')],'raw':!![]})['then'](function(_0x587c2e){_0x6ac3b5[_0xd9b9('0x32')]=util[_0xd9b9('0x28')](_0xd9b9('0x33'),_0x587c2e[_0xd9b9('0x31')]);return request({'event':_0x425d1c,'message':_0x6ac3b5});})[_0xd9b9('0x2b')](function(_0x3e4112){console[_0xd9b9('0x21')](_0x3e4112);});}else{return request({'event':_0x425d1c,'message':_0x6ac3b5});}}};}exports[_0xd9b9('0x34')]=function(){for(var _0x699f86=0x0;_0x699f86<triggers[_0xd9b9('0x35')];_0x699f86+=0x1){if(db[_0xd9b9('0x36')](triggers[_0x699f86]['model'])){db[triggers[_0x699f86][_0xd9b9('0x37')]]['hook'](triggers[_0x699f86][_0xd9b9('0x24')],triggers[_0x699f86][_0xd9b9('0x38')](triggers[_0x699f86][_0xd9b9('0x29')][_0xd9b9('0x39')](),triggers[_0x699f86]['condition']));}}};