0320541c099f0134d6113cc2323dd1e1fa5b271d
[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 _0xba1a=['UserId','interface','SIP/%s','agent','incomingmessage','outgoingmessage','AfterCreateMessage','get','channel','offlineMessage','opened','format','name','AfterCreate','changed','closed','substatus','contact','AfterUpdate','User','find','fullname','internal','length','hasOwnProperty','model','hook','callback','toLowerCase','util','../../mysqldb','jayson/promise','../logger','triggers','client','Chat','ChatInteraction','afterCreate','newinteraction','afterUpdate','ChatMessage','newmessage','ChatOfflineMessage','Sms','SmsInteraction','closedinteraction','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','MailInteraction','Mail','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','then','info','Trigger,\x20%s','EventManager','error','code','catch','motionChannel','event','direction','resolve','ContactId','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','query','Sequelize','QueryTypes','SELECT','undefined'];(function(_0x43e62d,_0x8b0dee){var _0x142b3c=function(_0x10c32b){while(--_0x10c32b){_0x43e62d['push'](_0x43e62d['shift']());}};_0x142b3c(++_0x8b0dee);}(_0xba1a,0xb5));var _0xaba1=function(_0x48dd66,_0x5a662d){_0x48dd66=_0x48dd66-0x0;var _0x1ddcd3=_0xba1a[_0x48dd66];return _0x1ddcd3;};'use strict';var util=require(_0xaba1('0x0'));var db=require(_0xaba1('0x1'))['db'];var jayson=require(_0xaba1('0x2'));var logger=require(_0xaba1('0x3'))(_0xaba1('0x4'));var client=jayson[_0xaba1('0x5')]['http']({'port':0x232a});var triggers=[{'channel':_0xaba1('0x6'),'model':_0xaba1('0x7'),'event':_0xaba1('0x8'),'condition':_0xaba1('0x9'),'callback':afterCreate},{'channel':_0xaba1('0x6'),'model':'ChatInteraction','event':_0xaba1('0xa'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xaba1('0x6'),'model':_0xaba1('0xb'),'event':_0xaba1('0x8'),'condition':_0xaba1('0xc'),'callback':afterCreateMessage},{'channel':_0xaba1('0x6'),'model':_0xaba1('0xd'),'event':_0xaba1('0x8'),'condition':'newmessage','callback':afterCreateOfflineMessage},{'channel':_0xaba1('0xe'),'model':_0xaba1('0xf'),'event':_0xaba1('0x8'),'condition':_0xaba1('0x9'),'callback':afterCreate},{'channel':'Sms','model':_0xaba1('0xf'),'event':_0xaba1('0xa'),'condition':_0xaba1('0x10'),'callback':afterUpdate},{'channel':_0xaba1('0xe'),'model':'SmsMessage','event':_0xaba1('0x8'),'condition':_0xaba1('0xc'),'callback':afterCreateMessage},{'channel':_0xaba1('0x11'),'model':_0xaba1('0x12'),'event':_0xaba1('0x8'),'condition':_0xaba1('0x9'),'callback':afterCreate},{'channel':_0xaba1('0x11'),'model':'WhatsappInteraction','event':_0xaba1('0xa'),'condition':_0xaba1('0x10'),'callback':afterUpdate},{'channel':'Whatsapp','model':_0xaba1('0x13'),'event':_0xaba1('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xaba1('0x14'),'model':_0xaba1('0x15'),'event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':'Fax','model':_0xaba1('0x15'),'event':'afterUpdate','condition':_0xaba1('0x10'),'callback':afterUpdate},{'channel':'Fax','model':'FaxMessage','event':_0xaba1('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Mail','model':_0xaba1('0x16'),'event':_0xaba1('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xaba1('0x17'),'model':_0xaba1('0x16'),'event':_0xaba1('0xa'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xaba1('0x17'),'model':'MailMessage','event':_0xaba1('0x8'),'condition':_0xaba1('0xc'),'callback':afterCreateMessage},{'channel':_0xaba1('0x18'),'model':_0xaba1('0x19'),'event':_0xaba1('0x8'),'condition':_0xaba1('0x9'),'callback':afterCreate},{'channel':_0xaba1('0x18'),'model':_0xaba1('0x19'),'event':_0xaba1('0xa'),'condition':_0xaba1('0x10'),'callback':afterUpdate},{'channel':_0xaba1('0x18'),'model':_0xaba1('0x1a'),'event':_0xaba1('0x8'),'condition':_0xaba1('0xc'),'callback':afterCreateMessage}];function request(_0x38d796){return client[_0xaba1('0x1b')]('EventManager',_0x38d796)[_0xaba1('0x1c')](function(_0x5154bb){logger[_0xaba1('0x1d')](_0xaba1('0x1e'),_0xaba1('0x1f'),_0x5154bb);if(_0x5154bb['error']){if(_0x5154bb[_0xaba1('0x20')][_0xaba1('0x21')]===0x1f4){logger[_0xaba1('0x20')]('Trigger,\x20%s','EventManager',_0x5154bb[_0xaba1('0x20')]);}}})[_0xaba1('0x22')](function(_0x591aaf){logger[_0xaba1('0x20')]('Trigger,\x20%s','EventManager',_0x591aaf);});}function afterCreateMessage(_0x35797a){return function(_0x8868fe){_0x8868fe=_0x8868fe['get']({'plain':!![]});_0x8868fe['channel']=_0x35797a;_0x8868fe[_0xaba1('0x23')]=_0x35797a;_0x8868fe[_0xaba1('0x24')]=_0x8868fe[_0xaba1('0x25')];Promise[_0xaba1('0x26')]()[_0xaba1('0x1c')](function(){if(typeof _0x8868fe[_0xaba1('0x27')]==='undefined')return null;var _0x5eb4dd=_0xaba1('0x28')+_0x8868fe[_0xaba1('0x27')];return db[_0xaba1('0x29')][_0xaba1('0x2a')](_0x5eb4dd,{'type':db[_0xaba1('0x2b')][_0xaba1('0x2c')][_0xaba1('0x2d')],'raw':!![]});})[_0xaba1('0x1c')](function(_0x1afb04){if(_0x1afb04){_0x8868fe['contact']=_0x1afb04[0x0];}if(typeof _0x8868fe['UserId']===_0xaba1('0x2e'))return;return getAgent(_0x8868fe[_0xaba1('0x2f')]);})[_0xaba1('0x1c')](function(_0x10e90f){if(_0x10e90f){_0x8868fe[_0xaba1('0x30')]=util['format'](_0xaba1('0x31'),_0x10e90f['name']);_0x8868fe[_0xaba1('0x32')]=_0x10e90f;_0x8868fe['channel']=_0x35797a;return request({'event':_0xaba1('0x33'),'message':_0x8868fe});}else{return request({'event':_0xaba1('0x34'),'message':_0x8868fe});}})[_0xaba1('0x22')](function(_0x2e8a69){logger['error'](_0xaba1('0x1e'),_0xaba1('0x35'),_0x2e8a69);});};}function afterCreateOfflineMessage(_0x9be3ed){return function(_0x1685e2){_0x1685e2=_0x1685e2[_0xaba1('0x36')]({'plain':!![]});_0x1685e2[_0xaba1('0x37')]=_0x9be3ed;_0x1685e2[_0xaba1('0x23')]=_0x9be3ed;_0x1685e2[_0xaba1('0x24')]=_0xaba1('0x38');return request({'event':_0x1685e2['event'],'message':_0x1685e2});};}function afterCreate(_0x2b34cf,_0x2cdcef){return function(_0x48d401){_0x48d401=_0x48d401[_0xaba1('0x36')]({'plain':!![]});_0x48d401[_0xaba1('0x37')]=_0x2b34cf;_0x48d401[_0xaba1('0x23')]=_0x2b34cf;_0x48d401[_0xaba1('0x24')]=_0xaba1('0x39');Promise[_0xaba1('0x26')]()[_0xaba1('0x1c')](function(){var _0x5222a5='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x48d401[_0xaba1('0x27')];return db['sequelize']['query'](_0x5222a5,{'type':db['Sequelize'][_0xaba1('0x2c')]['SELECT'],'raw':!![]});})[_0xaba1('0x1c')](function(_0x5b5f8b){if(_0x5b5f8b){_0x48d401['contact']=_0x5b5f8b[0x0];}if(typeof _0x48d401[_0xaba1('0x2f')]===_0xaba1('0x2e'))return;return getAgent(_0x48d401[_0xaba1('0x2f')]);})['then'](function(_0x52d89c){if(_0x52d89c){_0x48d401['interface']=util[_0xaba1('0x3a')](_0xaba1('0x31'),_0x52d89c[_0xaba1('0x3b')]);_0x48d401[_0xaba1('0x32')]=_0x52d89c;}return request({'event':_0x2cdcef,'message':_0x48d401});})[_0xaba1('0x22')](function(_0x527f2d){logger[_0xaba1('0x20')](_0xaba1('0x1e'),_0xaba1('0x3c'),_0x527f2d);});};}function afterUpdate(_0x45bf50){return function(_0x10302f){var _0x41fa4a=_0x10302f[_0xaba1('0x3d')](_0xaba1('0x3e'))&&_0x10302f[_0xaba1('0x3e')];var _0x168586=_0x10302f[_0xaba1('0x3d')](_0xaba1('0x3f'));if(_0x41fa4a||_0x168586){var _0x3a2fb3=_0x41fa4a?_0xaba1('0x10'):'substatus';var _0x131116=_0x10302f[_0xaba1('0x36')]({'plain':!![]});_0x131116[_0xaba1('0x37')]=_0x45bf50;_0x131116[_0xaba1('0x23')]=_0x45bf50;_0x131116['event']=_0x41fa4a?_0xaba1('0x3e'):_0xaba1('0x3f');var _0x42826c=_0xaba1('0x28')+_0x131116[_0xaba1('0x27')];return db[_0xaba1('0x29')][_0xaba1('0x2a')](_0x42826c,{'type':db['Sequelize'][_0xaba1('0x2c')][_0xaba1('0x2d')],'raw':!![]})[_0xaba1('0x1c')](function(_0x5c3d24){if(_0x5c3d24){_0x131116[_0xaba1('0x40')]=_0x5c3d24[0x0];}if(typeof _0x131116[_0xaba1('0x2f')]===_0xaba1('0x2e'))return;return getAgent(_0x131116[_0xaba1('0x2f')]);})[_0xaba1('0x1c')](function(_0x7ad82b){if(_0x7ad82b){_0x131116[_0xaba1('0x30')]=util[_0xaba1('0x3a')](_0xaba1('0x31'),_0x7ad82b[_0xaba1('0x3b')]);_0x131116[_0xaba1('0x32')]=_0x7ad82b;}return request({'event':_0x3a2fb3,'message':_0x131116});})[_0xaba1('0x22')](function(_0x58558f){logger[_0xaba1('0x20')]('Trigger,\x20%s',_0xaba1('0x41'),_0x58558f);});}};}function getAgent(_0xeac537){return db[_0xaba1('0x42')][_0xaba1('0x43')]({'where':{'id':_0xeac537},'attributes':['id',_0xaba1('0x3b'),_0xaba1('0x44'),'email',_0xaba1('0x45')],'raw':!![]})['then'](function(_0x2364a6){return _0x2364a6;});}exports['default']=function(){for(var _0x12156c=0x0;_0x12156c<triggers[_0xaba1('0x46')];_0x12156c+=0x1){if(db[_0xaba1('0x47')](triggers[_0x12156c][_0xaba1('0x48')])){db[triggers[_0x12156c]['model']][_0xaba1('0x49')](triggers[_0x12156c]['event'],triggers[_0x12156c][_0xaba1('0x4a')](triggers[_0x12156c][_0xaba1('0x37')][_0xaba1('0x4b')](),triggers[_0x12156c]['condition']));}}};