Built motion from commit (unavailable).|2.5.30
[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 _0x7a09=['length','model','hook','callback','toLowerCase','util','../../mysqldb','jayson/promise','../logger','triggers','client','http','Chat','ChatInteraction','newinteraction','afterUpdate','closedinteraction','ChatMessage','afterCreate','newmessage','Sms','SmsInteraction','SmsMessage','Whatsapp','WhatsappInteraction','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','OpenchannelInteraction','EventManager','Trigger,\x20%s','error','code','get','channel','event','direction','UserId','User','name','then','SIP/%s','incomingmessage','outgoingmessage','opened','closed','find','interface','format'];(function(_0x56c480,_0x29e6dd){var _0xa60102=function(_0x4ee57f){while(--_0x4ee57f){_0x56c480['push'](_0x56c480['shift']());}};_0xa60102(++_0x29e6dd);}(_0x7a09,0xd5));var _0x97a0=function(_0x85cb49,_0x50a08a){_0x85cb49=_0x85cb49-0x0;var _0x52f463=_0x7a09[_0x85cb49];return _0x52f463;};'use strict';var util=require(_0x97a0('0x0'));var db=require(_0x97a0('0x1'))['db'];var jayson=require(_0x97a0('0x2'));var logger=require(_0x97a0('0x3'))(_0x97a0('0x4'));var client=jayson[_0x97a0('0x5')][_0x97a0('0x6')]({'port':0x232a});var triggers=[{'channel':_0x97a0('0x7'),'model':_0x97a0('0x8'),'event':'afterCreate','condition':_0x97a0('0x9'),'callback':afterCreate},{'channel':_0x97a0('0x7'),'model':'ChatInteraction','event':_0x97a0('0xa'),'condition':_0x97a0('0xb'),'callback':afterUpdate},{'channel':_0x97a0('0x7'),'model':_0x97a0('0xc'),'event':_0x97a0('0xd'),'condition':_0x97a0('0xe'),'callback':afterCreateMessage},{'channel':_0x97a0('0xf'),'model':_0x97a0('0x10'),'event':_0x97a0('0xd'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x97a0('0xf'),'model':_0x97a0('0x10'),'event':_0x97a0('0xa'),'condition':_0x97a0('0xb'),'callback':afterUpdate},{'channel':_0x97a0('0xf'),'model':_0x97a0('0x11'),'event':_0x97a0('0xd'),'condition':_0x97a0('0xe'),'callback':afterCreateMessage},{'channel':_0x97a0('0x12'),'model':_0x97a0('0x13'),'event':_0x97a0('0xd'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x97a0('0x12'),'model':_0x97a0('0x13'),'event':_0x97a0('0xa'),'condition':_0x97a0('0xb'),'callback':afterUpdate},{'channel':_0x97a0('0x12'),'model':'WhatsappMessage','event':_0x97a0('0xd'),'condition':_0x97a0('0xe'),'callback':afterCreateMessage},{'channel':_0x97a0('0x14'),'model':_0x97a0('0x15'),'event':'afterCreate','condition':_0x97a0('0x9'),'callback':afterCreate},{'channel':_0x97a0('0x14'),'model':_0x97a0('0x15'),'event':_0x97a0('0xa'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x97a0('0x14'),'model':_0x97a0('0x16'),'event':_0x97a0('0xd'),'condition':_0x97a0('0xe'),'callback':afterCreateMessage},{'channel':_0x97a0('0x17'),'model':_0x97a0('0x18'),'event':'afterCreate','condition':_0x97a0('0x9'),'callback':afterCreate},{'channel':'Mail','model':_0x97a0('0x18'),'event':_0x97a0('0xa'),'condition':_0x97a0('0xb'),'callback':afterUpdate},{'channel':_0x97a0('0x17'),'model':_0x97a0('0x19'),'event':_0x97a0('0xd'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Openchannel','model':_0x97a0('0x1a'),'event':_0x97a0('0xd'),'condition':_0x97a0('0x9'),'callback':afterCreate},{'channel':'Openchannel','model':_0x97a0('0x1a'),'event':'afterUpdate','condition':_0x97a0('0xb'),'callback':afterUpdate},{'channel':'Openchannel','model':'OpenchannelMessage','event':_0x97a0('0xd'),'condition':_0x97a0('0xe'),'callback':afterCreateMessage}];function request(_0x2d2297){return client['request'](_0x97a0('0x1b'),_0x2d2297)['then'](function(_0x4cb637){logger['info'](_0x97a0('0x1c'),_0x97a0('0x1b'),_0x4cb637);if(_0x4cb637[_0x97a0('0x1d')]){if(_0x4cb637[_0x97a0('0x1d')][_0x97a0('0x1e')]===0x1f4){logger['error']('Trigger,\x20%s',_0x97a0('0x1b'),_0x4cb637[_0x97a0('0x1d')]);}}})['catch'](function(_0x20c719){logger['error'](_0x97a0('0x1c'),'EventManager',_0x20c719);});}function afterCreateMessage(_0x229e36,_0x2e690f){return function(_0x688a3f,_0x1dceb1){_0x688a3f=_0x688a3f[_0x97a0('0x1f')]({'plain':!![]});_0x688a3f[_0x97a0('0x20')]=_0x229e36;_0x688a3f[_0x97a0('0x21')]=_0x688a3f[_0x97a0('0x22')];if(_0x688a3f[_0x97a0('0x23')]){return db[_0x97a0('0x24')]['find']({'where':{'id':_0x688a3f['UserId']},'attributes':['id',_0x97a0('0x25')],'raw':!![]})[_0x97a0('0x26')](function(_0x515709){_0x688a3f['interface']=util['format'](_0x97a0('0x27'),_0x515709[_0x97a0('0x25')]);_0x688a3f[_0x97a0('0x20')]=_0x229e36;return request({'event':_0x97a0('0x28'),'message':_0x688a3f});})['catch'](function(_0x4cc7e7){console[_0x97a0('0x1d')](_0x4cc7e7);});}else{return request({'event':_0x97a0('0x29'),'message':_0x688a3f});}};}function afterCreate(_0x358ade,_0x38e8c6){return function(_0x33d826,_0x5ddae5){_0x33d826=_0x33d826[_0x97a0('0x1f')]({'plain':!![]});_0x33d826['channel']=_0x358ade;_0x33d826[_0x97a0('0x21')]=_0x97a0('0x2a');return request({'event':_0x38e8c6,'message':_0x33d826});};}function afterUpdate(_0x5d07da,_0x3b7199){return function(_0x245f04,_0x383ac1){if(_0x245f04['changed'](_0x97a0('0x2b'))&&_0x245f04[_0x97a0('0x2b')]){_0x245f04=_0x245f04[_0x97a0('0x1f')]({'plain':!![]});_0x245f04[_0x97a0('0x20')]=_0x5d07da;_0x245f04[_0x97a0('0x21')]=_0x97a0('0x2b');if(_0x245f04[_0x97a0('0x23')]){return db[_0x97a0('0x24')][_0x97a0('0x2c')]({'where':{'id':_0x245f04[_0x97a0('0x23')]},'attributes':['id',_0x97a0('0x25')],'raw':!![]})[_0x97a0('0x26')](function(_0x4775e9){_0x245f04[_0x97a0('0x2d')]=util[_0x97a0('0x2e')](_0x97a0('0x27'),_0x4775e9[_0x97a0('0x25')]);return request({'event':_0x3b7199,'message':_0x245f04});})['catch'](function(_0x1441a1){console['error'](_0x1441a1);});}else{return request({'event':_0x3b7199,'message':_0x245f04});}}};}exports['default']=function(){for(var _0x3e6f61=0x0;_0x3e6f61<triggers[_0x97a0('0x2f')];_0x3e6f61+=0x1){if(db['hasOwnProperty'](triggers[_0x3e6f61]['model'])){db[triggers[_0x3e6f61][_0x97a0('0x30')]][_0x97a0('0x31')](triggers[_0x3e6f61][_0x97a0('0x21')],triggers[_0x3e6f61][_0x97a0('0x32')](triggers[_0x3e6f61][_0x97a0('0x20')][_0x97a0('0x33')](),triggers[_0x3e6f61]['condition']));}}};