74a90d568410a399fb4de3f72c92349dcc797be8
[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 _0xada6=['Mail','MailInteraction','Openchannel','OpenchannelInteraction','OpenchannelMessage','EventManager','info','error','code','Trigger,\x20%s','get','channel','event','UserId','find','name','interface','format','SIP/%s','incomingmessage','outgoingmessage','opened','changed','closed','User','then','catch','hasOwnProperty','model','callback','toLowerCase','condition','../../mysqldb','jayson/promise','triggers','http','Chat','ChatInteraction','afterCreate','newinteraction','afterUpdate','closedinteraction','SmsInteraction','Sms','newmessage','Whatsapp','WhatsappMessage','Fax','FaxInteraction','FaxMessage'];(function(_0x487b0c,_0x14ff74){var _0x1adbdc=function(_0x2e7b9d){while(--_0x2e7b9d){_0x487b0c['push'](_0x487b0c['shift']());}};_0x1adbdc(++_0x14ff74);}(_0xada6,0x1b0));var _0x6ada=function(_0x3d518c,_0x35b953){_0x3d518c=_0x3d518c-0x0;var _0xf32bf0=_0xada6[_0x3d518c];return _0xf32bf0;};'use strict';var util=require('util');var db=require(_0x6ada('0x0'))['db'];var jayson=require(_0x6ada('0x1'));var logger=require('../logger')(_0x6ada('0x2'));var client=jayson['client'][_0x6ada('0x3')]({'port':0x232a});var triggers=[{'channel':_0x6ada('0x4'),'model':_0x6ada('0x5'),'event':_0x6ada('0x6'),'condition':_0x6ada('0x7'),'callback':afterCreate},{'channel':_0x6ada('0x4'),'model':_0x6ada('0x5'),'event':_0x6ada('0x8'),'condition':_0x6ada('0x9'),'callback':afterUpdate},{'channel':'Chat','model':'ChatMessage','event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':'Sms','model':_0x6ada('0xa'),'event':_0x6ada('0x6'),'condition':_0x6ada('0x7'),'callback':afterCreate},{'channel':_0x6ada('0xb'),'model':_0x6ada('0xa'),'event':_0x6ada('0x8'),'condition':_0x6ada('0x9'),'callback':afterUpdate},{'channel':_0x6ada('0xb'),'model':'SmsMessage','event':'afterCreate','condition':_0x6ada('0xc'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':'WhatsappInteraction','event':'afterCreate','condition':_0x6ada('0x7'),'callback':afterCreate},{'channel':_0x6ada('0xd'),'model':'WhatsappInteraction','event':_0x6ada('0x8'),'condition':_0x6ada('0x9'),'callback':afterUpdate},{'channel':'Whatsapp','model':_0x6ada('0xe'),'event':_0x6ada('0x6'),'condition':_0x6ada('0xc'),'callback':afterCreateMessage},{'channel':_0x6ada('0xf'),'model':_0x6ada('0x10'),'event':'afterCreate','condition':_0x6ada('0x7'),'callback':afterCreate},{'channel':_0x6ada('0xf'),'model':_0x6ada('0x10'),'event':_0x6ada('0x8'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x6ada('0xf'),'model':_0x6ada('0x11'),'event':_0x6ada('0x6'),'condition':_0x6ada('0xc'),'callback':afterCreateMessage},{'channel':_0x6ada('0x12'),'model':_0x6ada('0x13'),'event':_0x6ada('0x6'),'condition':_0x6ada('0x7'),'callback':afterCreate},{'channel':_0x6ada('0x12'),'model':_0x6ada('0x13'),'event':_0x6ada('0x8'),'condition':_0x6ada('0x9'),'callback':afterUpdate},{'channel':_0x6ada('0x12'),'model':'MailMessage','event':_0x6ada('0x6'),'condition':_0x6ada('0xc'),'callback':afterCreateMessage},{'channel':_0x6ada('0x14'),'model':_0x6ada('0x15'),'event':_0x6ada('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':'Openchannel','model':_0x6ada('0x15'),'event':_0x6ada('0x8'),'condition':_0x6ada('0x9'),'callback':afterUpdate},{'channel':_0x6ada('0x14'),'model':_0x6ada('0x16'),'event':_0x6ada('0x6'),'condition':_0x6ada('0xc'),'callback':afterCreateMessage}];function request(_0x47ae8c){return client['request'](_0x6ada('0x17'),_0x47ae8c)['then'](function(_0x275fba){logger[_0x6ada('0x18')]('Trigger,\x20%s',_0x6ada('0x17'),_0x275fba);if(_0x275fba[_0x6ada('0x19')]){if(_0x275fba['error'][_0x6ada('0x1a')]===0x1f4){logger[_0x6ada('0x19')](_0x6ada('0x1b'),_0x6ada('0x17'),_0x275fba[_0x6ada('0x19')]);}}})['catch'](function(_0x23fa77){logger[_0x6ada('0x19')](_0x6ada('0x1b'),_0x6ada('0x17'),_0x23fa77);});}function afterCreateMessage(_0x42cfd4,_0x2256da){return function(_0x19ae4c,_0x5325b4){_0x19ae4c=_0x19ae4c[_0x6ada('0x1c')]({'plain':!![]});_0x19ae4c[_0x6ada('0x1d')]=_0x42cfd4;_0x19ae4c[_0x6ada('0x1e')]=_0x19ae4c['direction'];if(_0x19ae4c[_0x6ada('0x1f')]){return db['User'][_0x6ada('0x20')]({'where':{'id':_0x19ae4c[_0x6ada('0x1f')]},'attributes':['id',_0x6ada('0x21')],'raw':!![]})['then'](function(_0x31beb1){_0x19ae4c[_0x6ada('0x22')]=util[_0x6ada('0x23')](_0x6ada('0x24'),_0x31beb1[_0x6ada('0x21')]);_0x19ae4c[_0x6ada('0x1d')]=_0x42cfd4;return request({'event':_0x6ada('0x25'),'message':_0x19ae4c});})['catch'](function(_0x48f515){console[_0x6ada('0x19')](_0x48f515);});}else{return request({'event':_0x6ada('0x26'),'message':_0x19ae4c});}};}function afterCreate(_0x41d170,_0x3370fc){return function(_0x307ff9,_0x12ba89){_0x307ff9=_0x307ff9[_0x6ada('0x1c')]({'plain':!![]});_0x307ff9[_0x6ada('0x1d')]=_0x41d170;_0x307ff9[_0x6ada('0x1e')]=_0x6ada('0x27');return request({'event':_0x3370fc,'message':_0x307ff9});};}function afterUpdate(_0x2a2fe0,_0x29829f){return function(_0x158d4e,_0x27a301){if(_0x158d4e[_0x6ada('0x28')](_0x6ada('0x29'))&&_0x158d4e[_0x6ada('0x29')]){_0x158d4e=_0x158d4e['get']({'plain':!![]});_0x158d4e[_0x6ada('0x1d')]=_0x2a2fe0;_0x158d4e['event']=_0x6ada('0x29');if(_0x158d4e[_0x6ada('0x1f')]){return db[_0x6ada('0x2a')][_0x6ada('0x20')]({'where':{'id':_0x158d4e[_0x6ada('0x1f')]},'attributes':['id',_0x6ada('0x21')],'raw':!![]})[_0x6ada('0x2b')](function(_0x1cb806){_0x158d4e[_0x6ada('0x22')]=util[_0x6ada('0x23')](_0x6ada('0x24'),_0x1cb806[_0x6ada('0x21')]);return request({'event':_0x29829f,'message':_0x158d4e});})[_0x6ada('0x2c')](function(_0x256d2f){console['error'](_0x256d2f);});}else{return request({'event':_0x29829f,'message':_0x158d4e});}}};}exports['default']=function(){for(var _0xe23587=0x0;_0xe23587<triggers['length'];_0xe23587+=0x1){if(db[_0x6ada('0x2d')](triggers[_0xe23587][_0x6ada('0x2e')])){db[triggers[_0xe23587][_0x6ada('0x2e')]]['hook'](triggers[_0xe23587]['event'],triggers[_0xe23587][_0x6ada('0x2f')](triggers[_0xe23587]['channel'][_0x6ada('0x30')](),triggers[_0xe23587][_0x6ada('0x31')]));}}};