Built motion from commit 936e8062.|2.5.33
[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 _0x1a51=['opened','Sequelize','QueryTypes','closed','ContactId','length','hasOwnProperty','model','callback','toLowerCase','condition','util','../../mysqldb','jayson/promise','../logger','triggers','lodash','client','Chat','afterCreate','newinteraction','ChatInteraction','afterUpdate','closedinteraction','ChatMessage','Sms','SmsInteraction','WhatsappInteraction','Whatsapp','WhatsappMessage','newmessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','Openchannel','OpenchannelInteraction','OpenchannelMessage','EventManager','then','info','Trigger,\x20%s','error','get','channel','event','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','query','SELECT','contact','UserId','find','name','fullname','email','internal','interface','format','SIP/%s','agent','incomingmessage','outgoingmessage'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x1a51,0x1cb));var _0x11a5=function(_0xecb573,_0x40513d){_0xecb573=_0xecb573-0x0;var _0x24e538=_0x1a51[_0xecb573];return _0x24e538;};'use strict';var util=require(_0x11a5('0x0'));var db=require(_0x11a5('0x1'))['db'];var jayson=require(_0x11a5('0x2'));var logger=require(_0x11a5('0x3'))(_0x11a5('0x4'));var _=require(_0x11a5('0x5'));var client=jayson[_0x11a5('0x6')]['http']({'port':0x232a});var triggers=[{'channel':_0x11a5('0x7'),'model':'ChatInteraction','event':_0x11a5('0x8'),'condition':_0x11a5('0x9'),'callback':afterCreate},{'channel':'Chat','model':_0x11a5('0xa'),'event':_0x11a5('0xb'),'condition':_0x11a5('0xc'),'callback':afterUpdate},{'channel':'Chat','model':_0x11a5('0xd'),'event':_0x11a5('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x11a5('0xe'),'model':_0x11a5('0xf'),'event':_0x11a5('0x8'),'condition':_0x11a5('0x9'),'callback':afterCreate},{'channel':_0x11a5('0xe'),'model':_0x11a5('0xf'),'event':_0x11a5('0xb'),'condition':_0x11a5('0xc'),'callback':afterUpdate},{'channel':_0x11a5('0xe'),'model':'SmsMessage','event':_0x11a5('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Whatsapp','model':_0x11a5('0x10'),'event':_0x11a5('0x8'),'condition':_0x11a5('0x9'),'callback':afterCreate},{'channel':_0x11a5('0x11'),'model':_0x11a5('0x10'),'event':_0x11a5('0xb'),'condition':_0x11a5('0xc'),'callback':afterUpdate},{'channel':_0x11a5('0x11'),'model':_0x11a5('0x12'),'event':_0x11a5('0x8'),'condition':_0x11a5('0x13'),'callback':afterCreateMessage},{'channel':_0x11a5('0x14'),'model':'FaxInteraction','event':'afterCreate','condition':_0x11a5('0x9'),'callback':afterCreate},{'channel':_0x11a5('0x14'),'model':_0x11a5('0x15'),'event':'afterUpdate','condition':_0x11a5('0xc'),'callback':afterUpdate},{'channel':_0x11a5('0x14'),'model':_0x11a5('0x16'),'event':_0x11a5('0x8'),'condition':_0x11a5('0x13'),'callback':afterCreateMessage},{'channel':_0x11a5('0x17'),'model':_0x11a5('0x18'),'event':'afterCreate','condition':_0x11a5('0x9'),'callback':afterCreate},{'channel':_0x11a5('0x17'),'model':'MailInteraction','event':_0x11a5('0xb'),'condition':_0x11a5('0xc'),'callback':afterUpdate},{'channel':_0x11a5('0x17'),'model':'MailMessage','event':_0x11a5('0x8'),'condition':_0x11a5('0x13'),'callback':afterCreateMessage},{'channel':_0x11a5('0x19'),'model':_0x11a5('0x1a'),'event':_0x11a5('0x8'),'condition':_0x11a5('0x9'),'callback':afterCreate},{'channel':_0x11a5('0x19'),'model':'OpenchannelInteraction','event':_0x11a5('0xb'),'condition':_0x11a5('0xc'),'callback':afterUpdate},{'channel':_0x11a5('0x19'),'model':_0x11a5('0x1b'),'event':_0x11a5('0x8'),'condition':_0x11a5('0x13'),'callback':afterCreateMessage}];function request(_0x6061a3){return client['request'](_0x11a5('0x1c'),_0x6061a3)[_0x11a5('0x1d')](function(_0x2fff93){logger[_0x11a5('0x1e')](_0x11a5('0x1f'),'EventManager',_0x2fff93);if(_0x2fff93['error']){if(_0x2fff93[_0x11a5('0x20')]['code']===0x1f4){logger['error'](_0x11a5('0x1f'),_0x11a5('0x1c'),_0x2fff93[_0x11a5('0x20')]);}}})['catch'](function(_0x2d87dc){logger['error'](_0x11a5('0x1f'),_0x11a5('0x1c'),_0x2d87dc);});}function afterCreateMessage(_0x50e785,_0x3a6d05){return function(_0x61c2fe,_0x1e00ac){_0x61c2fe=_0x61c2fe[_0x11a5('0x21')]({'plain':!![]});_0x61c2fe[_0x11a5('0x22')]=_0x50e785;_0x61c2fe[_0x11a5('0x23')]=_0x61c2fe['direction'];var _0x15fce6=_0x11a5('0x24')+_0x61c2fe['ContactId'];return db[_0x11a5('0x25')][_0x11a5('0x26')](_0x15fce6,{'type':db['Sequelize']['QueryTypes'][_0x11a5('0x27')],'raw':!![]})[_0x11a5('0x1d')](function(_0x1d8d24){return _0x1d8d24;})[_0x11a5('0x1d')](function(_0x53d161){if(_0x53d161){_0x61c2fe[_0x11a5('0x28')]=_0x53d161[0x0];}if(_0x61c2fe[_0x11a5('0x29')]){return db['User'][_0x11a5('0x2a')]({'where':{'id':_0x61c2fe[_0x11a5('0x29')]},'attributes':['id',_0x11a5('0x2b'),_0x11a5('0x2c'),_0x11a5('0x2d'),_0x11a5('0x2e')],'raw':!![]})['then'](function(_0x45cf8c){_0x61c2fe[_0x11a5('0x2f')]=util[_0x11a5('0x30')](_0x11a5('0x31'),_0x45cf8c[_0x11a5('0x2b')]);_0x61c2fe[_0x11a5('0x22')]=_0x50e785;_0x61c2fe[_0x11a5('0x32')]=_0x45cf8c;return request({'event':_0x11a5('0x33'),'message':_0x61c2fe});})['catch'](function(_0x3168f7){console[_0x11a5('0x20')](_0x3168f7);});}else{return request({'event':_0x11a5('0x34'),'message':_0x61c2fe});}});};}function afterCreate(_0x4c6a1d,_0x138248){return function(_0x4352ea,_0x27f665){_0x4352ea=_0x4352ea['get']({'plain':!![]});_0x4352ea[_0x11a5('0x22')]=_0x4c6a1d;_0x4352ea[_0x11a5('0x23')]=_0x11a5('0x35');var _0x44e575=_0x11a5('0x24')+_0x4352ea['ContactId'];return db[_0x11a5('0x25')][_0x11a5('0x26')](_0x44e575,{'type':db[_0x11a5('0x36')][_0x11a5('0x37')][_0x11a5('0x27')],'raw':!![]})[_0x11a5('0x1d')](function(_0x3736ed){return _0x3736ed;})[_0x11a5('0x1d')](function(_0x1dabf7){if(_0x1dabf7){_0x4352ea['contact']=_0x1dabf7[0x0];}return request({'event':_0x138248,'message':_0x4352ea});});};}function afterUpdate(_0x117f7c,_0xa9b7f4){return function(_0x357a99,_0x53ec3a){if(_0x357a99['changed'](_0x11a5('0x38'))&&_0x357a99[_0x11a5('0x38')]){_0x357a99=_0x357a99['get']({'plain':!![]});_0x357a99[_0x11a5('0x22')]=_0x117f7c;_0x357a99[_0x11a5('0x23')]=_0x11a5('0x38');var _0x4e0e59=_0x11a5('0x24')+_0x357a99[_0x11a5('0x39')];return db['sequelize'][_0x11a5('0x26')](_0x4e0e59,{'type':db[_0x11a5('0x36')][_0x11a5('0x37')][_0x11a5('0x27')],'raw':!![]})['then'](function(_0x1a4c40){return _0x1a4c40;})[_0x11a5('0x1d')](function(_0xe4d72){if(_0xe4d72){_0x357a99[_0x11a5('0x28')]=_0xe4d72[0x0];}if(_0x357a99[_0x11a5('0x29')]){return db['User']['find']({'where':{'id':_0x357a99[_0x11a5('0x29')]},'attributes':['id',_0x11a5('0x2b'),'fullname',_0x11a5('0x2d'),_0x11a5('0x2e')],'raw':!![]})[_0x11a5('0x1d')](function(_0x273606){_0x357a99[_0x11a5('0x2f')]=util[_0x11a5('0x30')](_0x11a5('0x31'),_0x273606[_0x11a5('0x2b')]);_0x357a99[_0x11a5('0x32')]=_0x273606;return request({'event':_0xa9b7f4,'message':_0x357a99});})['catch'](function(_0x1e9eb4){console[_0x11a5('0x20')](_0x1e9eb4);});}else{return request({'event':_0xa9b7f4,'message':_0x357a99});}});}};}exports['default']=function(){for(var _0x1c0cbd=0x0;_0x1c0cbd<triggers[_0x11a5('0x3a')];_0x1c0cbd+=0x1){if(db[_0x11a5('0x3b')](triggers[_0x1c0cbd][_0x11a5('0x3c')])){db[triggers[_0x1c0cbd][_0x11a5('0x3c')]]['hook'](triggers[_0x1c0cbd][_0x11a5('0x23')],triggers[_0x1c0cbd][_0x11a5('0x3d')](triggers[_0x1c0cbd][_0x11a5('0x22')][_0x11a5('0x3e')](),triggers[_0x1c0cbd][_0x11a5('0x3f')]));}}};