Built motion from commit (unavailable).|2.6.0
[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 _0x0431=['SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','request','then','info','EventManager','error','code','Trigger,\x20%s','catch','get','channel','CmContact','describe','length','cf_','sequelize','query','Sequelize','contact','UserId','find','format','name','incomingmessage','outgoingmessage','event','opened','keys','startsWith','push','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','SELECT','changed','closed','QueryTypes','User','hasOwnProperty','model','hook','callback','toLowerCase','condition','util','../../mysqldb','jayson/promise','../logger','lodash','client','http','ChatInteraction','afterUpdate','closedinteraction','Chat','afterCreate','newmessage','Sms','SmsInteraction','newinteraction'];(function(_0x3d42ff,_0x1c03b7){var _0x284ce1=function(_0x1ed9cf){while(--_0x1ed9cf){_0x3d42ff['push'](_0x3d42ff['shift']());}};_0x284ce1(++_0x1c03b7);}(_0x0431,0x1da));var _0x1043=function(_0x1d9aa0,_0x272488){_0x1d9aa0=_0x1d9aa0-0x0;var _0x226868=_0x0431[_0x1d9aa0];return _0x226868;};'use strict';var util=require(_0x1043('0x0'));var db=require(_0x1043('0x1'))['db'];var jayson=require(_0x1043('0x2'));var logger=require(_0x1043('0x3'))('triggers');var _=require(_0x1043('0x4'));var client=jayson[_0x1043('0x5')][_0x1043('0x6')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0x1043('0x7'),'event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':'Chat','model':_0x1043('0x7'),'event':_0x1043('0x8'),'condition':_0x1043('0x9'),'callback':afterUpdate},{'channel':_0x1043('0xa'),'model':'ChatMessage','event':_0x1043('0xb'),'condition':_0x1043('0xc'),'callback':afterCreateMessage},{'channel':_0x1043('0xd'),'model':_0x1043('0xe'),'event':_0x1043('0xb'),'condition':_0x1043('0xf'),'callback':afterCreate},{'channel':_0x1043('0xd'),'model':_0x1043('0xe'),'event':'afterUpdate','condition':_0x1043('0x9'),'callback':afterUpdate},{'channel':_0x1043('0xd'),'model':_0x1043('0x10'),'event':_0x1043('0xb'),'condition':_0x1043('0xc'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':'WhatsappInteraction','event':_0x1043('0xb'),'condition':_0x1043('0xf'),'callback':afterCreate},{'channel':_0x1043('0x11'),'model':_0x1043('0x12'),'event':_0x1043('0x8'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x1043('0x11'),'model':_0x1043('0x13'),'event':'afterCreate','condition':_0x1043('0xc'),'callback':afterCreateMessage},{'channel':_0x1043('0x14'),'model':_0x1043('0x15'),'event':_0x1043('0xb'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x1043('0x14'),'model':'FaxInteraction','event':_0x1043('0x8'),'condition':_0x1043('0x9'),'callback':afterUpdate},{'channel':_0x1043('0x14'),'model':_0x1043('0x16'),'event':_0x1043('0xb'),'condition':_0x1043('0xc'),'callback':afterCreateMessage},{'channel':_0x1043('0x17'),'model':_0x1043('0x18'),'event':_0x1043('0xb'),'condition':_0x1043('0xf'),'callback':afterCreate},{'channel':_0x1043('0x17'),'model':'MailInteraction','event':_0x1043('0x8'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x1043('0x17'),'model':_0x1043('0x19'),'event':_0x1043('0xb'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x1043('0x1a'),'model':_0x1043('0x1b'),'event':_0x1043('0xb'),'condition':_0x1043('0xf'),'callback':afterCreate},{'channel':_0x1043('0x1a'),'model':_0x1043('0x1b'),'event':_0x1043('0x8'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x1043('0x1a'),'model':'OpenchannelMessage','event':_0x1043('0xb'),'condition':_0x1043('0xc'),'callback':afterCreateMessage}];function request(_0x281aa3){return client[_0x1043('0x1c')]('EventManager',_0x281aa3)[_0x1043('0x1d')](function(_0x5eeff9){logger[_0x1043('0x1e')]('Trigger,\x20%s',_0x1043('0x1f'),_0x5eeff9);if(_0x5eeff9[_0x1043('0x20')]){if(_0x5eeff9[_0x1043('0x20')][_0x1043('0x21')]===0x1f4){logger[_0x1043('0x20')](_0x1043('0x22'),_0x1043('0x1f'),_0x5eeff9['error']);}}})[_0x1043('0x23')](function(_0x4237d0){logger[_0x1043('0x20')](_0x1043('0x22'),'EventManager',_0x4237d0);});}function afterCreateMessage(_0x5be0c0,_0x31d624){return function(_0x1fd152,_0x5a23ec){_0x1fd152=_0x1fd152[_0x1043('0x24')]({'plain':!![]});_0x1fd152[_0x1043('0x25')]=_0x5be0c0;_0x1fd152['event']=_0x1fd152['direction'];return db[_0x1043('0x26')][_0x1043('0x27')]()[_0x1043('0x1d')](function(_0x382b1a){var _0x2970df=[];for(var _0x23c17f=0x0;_0x23c17f<Object['keys'](_0x382b1a)[_0x1043('0x28')];_0x23c17f++){var _0x256547=Object['keys'](_0x382b1a)[_0x23c17f];if(_['startsWith'](_0x256547,_0x1043('0x29'))){_0x2970df['push'](_0x256547);}}var _0x5be16e='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x1fd152['ContactId'];return db[_0x1043('0x2a')][_0x1043('0x2b')](_0x5be16e,{'type':db[_0x1043('0x2c')]['QueryTypes']['SELECT'],'raw':!![]})['then'](function(_0x2565d3){return _0x2565d3;});})[_0x1043('0x1d')](function(_0x175641){if(_0x175641){_0x1fd152[_0x1043('0x2d')]=_0x175641[0x0];}if(_0x1fd152[_0x1043('0x2e')]){return db['User'][_0x1043('0x2f')]({'where':{'id':_0x1fd152[_0x1043('0x2e')]},'attributes':['id','name'],'raw':!![]})[_0x1043('0x1d')](function(_0x14bb72){_0x1fd152['interface']=util[_0x1043('0x30')]('SIP/%s',_0x14bb72[_0x1043('0x31')]);_0x1fd152[_0x1043('0x25')]=_0x5be0c0;return request({'event':_0x1043('0x32'),'message':_0x1fd152});})[_0x1043('0x23')](function(_0x4a33b8){console['error'](_0x4a33b8);});}else{return request({'event':_0x1043('0x33'),'message':_0x1fd152});}});};}function afterCreate(_0xd51582,_0x5ec173){return function(_0x50ffc9,_0x76fe41){_0x50ffc9=_0x50ffc9[_0x1043('0x24')]({'plain':!![]});_0x50ffc9[_0x1043('0x25')]=_0xd51582;_0x50ffc9[_0x1043('0x34')]=_0x1043('0x35');return db[_0x1043('0x26')][_0x1043('0x27')]()[_0x1043('0x1d')](function(_0x2341ee){var _0x3af26c=[];for(var _0xac7315=0x0;_0xac7315<Object[_0x1043('0x36')](_0x2341ee)['length'];_0xac7315++){var _0xf3e510=Object['keys'](_0x2341ee)[_0xac7315];if(_[_0x1043('0x37')](_0xf3e510,_0x1043('0x29'))){_0x3af26c[_0x1043('0x38')](_0xf3e510);}}var _0x75c0d3=_0x1043('0x39')+_0x50ffc9[_0x1043('0x3a')];return db[_0x1043('0x2a')][_0x1043('0x2b')](_0x75c0d3,{'type':db[_0x1043('0x2c')]['QueryTypes'][_0x1043('0x3b')],'raw':!![]})[_0x1043('0x1d')](function(_0x5b0b27){return _0x5b0b27;});})['then'](function(_0x3a441c){if(_0x3a441c){_0x50ffc9[_0x1043('0x2d')]=_0x3a441c[0x0];}return request({'event':_0x5ec173,'message':_0x50ffc9});});};}function afterUpdate(_0x4e47fc,_0x4b3aba){return function(_0x4b901b,_0x2226df){if(_0x4b901b[_0x1043('0x3c')](_0x1043('0x3d'))&&_0x4b901b[_0x1043('0x3d')]){_0x4b901b=_0x4b901b['get']({'plain':!![]});_0x4b901b['channel']=_0x4e47fc;_0x4b901b[_0x1043('0x34')]='closed';return db[_0x1043('0x26')][_0x1043('0x27')]()['then'](function(_0x21d471){var _0x281521=[];for(var _0x180402=0x0;_0x180402<Object['keys'](_0x21d471)[_0x1043('0x28')];_0x180402++){var _0x228a12=Object['keys'](_0x21d471)[_0x180402];if(_['startsWith'](_0x228a12,_0x1043('0x29'))){_0x281521[_0x1043('0x38')](_0x228a12);}}var _0x299f55='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x4b901b[_0x1043('0x3a')];return db['sequelize'][_0x1043('0x2b')](_0x299f55,{'type':db[_0x1043('0x2c')][_0x1043('0x3e')][_0x1043('0x3b')],'raw':!![]})[_0x1043('0x1d')](function(_0x438b33){return _0x438b33;});})[_0x1043('0x1d')](function(_0xec2b8a){if(_0xec2b8a){_0x4b901b[_0x1043('0x2d')]=_0xec2b8a[0x0];}if(_0x4b901b[_0x1043('0x2e')]){return db[_0x1043('0x3f')][_0x1043('0x2f')]({'where':{'id':_0x4b901b[_0x1043('0x2e')]},'attributes':['id','name'],'raw':!![]})[_0x1043('0x1d')](function(_0x16b988){_0x4b901b['interface']=util['format']('SIP/%s',_0x16b988[_0x1043('0x31')]);return request({'event':_0x4b3aba,'message':_0x4b901b});})[_0x1043('0x23')](function(_0xcf7fc){console[_0x1043('0x20')](_0xcf7fc);});}else{return request({'event':_0x4b3aba,'message':_0x4b901b});}});}};}exports['default']=function(){for(var _0x45b157=0x0;_0x45b157<triggers[_0x1043('0x28')];_0x45b157+=0x1){if(db[_0x1043('0x40')](triggers[_0x45b157][_0x1043('0x41')])){db[triggers[_0x45b157]['model']][_0x1043('0x42')](triggers[_0x45b157]['event'],triggers[_0x45b157][_0x1043('0x43')](triggers[_0x45b157]['channel'][_0x1043('0x44')](),triggers[_0x45b157][_0x1043('0x45')]));}}};