fabf375e33312b4d518d3f8822a8f10010076978
[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 _0xf5bc=['toLowerCase','condition','util','../../mysqldb','jayson/promise','../logger','client','http','afterCreate','newinteraction','Chat','ChatInteraction','afterUpdate','closedinteraction','ChatMessage','newmessage','SmsInteraction','Sms','SmsMessage','WhatsappInteraction','Whatsapp','WhatsappMessage','FaxInteraction','Fax','FaxMessage','MailInteraction','Mail','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','then','info','error','code','Trigger,\x20%s','EventManager','catch','get','channel','UserId','User','find','name','interface','format','SIP/%s','incomingmessage','opened','changed','closed','default','length','model','hook','event','callback'];(function(_0x48999d,_0x1e02cb){var _0x1ad0d1=function(_0x3f974e){while(--_0x3f974e){_0x48999d['push'](_0x48999d['shift']());}};_0x1ad0d1(++_0x1e02cb);}(_0xf5bc,0xb0));var _0xcf5b=function(_0x167cc1,_0x56ef5a){_0x167cc1=_0x167cc1-0x0;var _0x10bc4b=_0xf5bc[_0x167cc1];return _0x10bc4b;};'use strict';var util=require(_0xcf5b('0x0'));var db=require(_0xcf5b('0x1'))['db'];var jayson=require(_0xcf5b('0x2'));var logger=require(_0xcf5b('0x3'))('triggers');var client=jayson[_0xcf5b('0x4')][_0xcf5b('0x5')]({'port':0x232a});var triggers=[{'channel':'Chat','model':'ChatInteraction','event':_0xcf5b('0x6'),'condition':_0xcf5b('0x7'),'callback':afterCreate},{'channel':_0xcf5b('0x8'),'model':_0xcf5b('0x9'),'event':_0xcf5b('0xa'),'condition':_0xcf5b('0xb'),'callback':afterUpdate},{'channel':_0xcf5b('0x8'),'model':_0xcf5b('0xc'),'event':_0xcf5b('0x6'),'condition':_0xcf5b('0xd'),'callback':afterCreateMessage},{'channel':'Sms','model':_0xcf5b('0xe'),'event':_0xcf5b('0x6'),'condition':_0xcf5b('0x7'),'callback':afterCreate},{'channel':'Sms','model':_0xcf5b('0xe'),'event':_0xcf5b('0xa'),'condition':_0xcf5b('0xb'),'callback':afterUpdate},{'channel':_0xcf5b('0xf'),'model':_0xcf5b('0x10'),'event':_0xcf5b('0x6'),'condition':_0xcf5b('0xd'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':_0xcf5b('0x11'),'event':_0xcf5b('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':'Whatsapp','model':'WhatsappInteraction','event':_0xcf5b('0xa'),'condition':_0xcf5b('0xb'),'callback':afterUpdate},{'channel':_0xcf5b('0x12'),'model':_0xcf5b('0x13'),'event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':'Fax','model':_0xcf5b('0x14'),'event':'afterCreate','condition':_0xcf5b('0x7'),'callback':afterCreate},{'channel':'Fax','model':_0xcf5b('0x14'),'event':_0xcf5b('0xa'),'condition':_0xcf5b('0xb'),'callback':afterUpdate},{'channel':_0xcf5b('0x15'),'model':_0xcf5b('0x16'),'event':_0xcf5b('0x6'),'condition':_0xcf5b('0xd'),'callback':afterCreateMessage},{'channel':'Mail','model':_0xcf5b('0x17'),'event':'afterCreate','condition':_0xcf5b('0x7'),'callback':afterCreate},{'channel':_0xcf5b('0x18'),'model':_0xcf5b('0x17'),'event':'afterUpdate','condition':_0xcf5b('0xb'),'callback':afterUpdate},{'channel':_0xcf5b('0x18'),'model':_0xcf5b('0x19'),'event':_0xcf5b('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xcf5b('0x1a'),'model':_0xcf5b('0x1b'),'event':'afterCreate','condition':_0xcf5b('0x7'),'callback':afterCreate},{'channel':'Openchannel','model':_0xcf5b('0x1b'),'event':_0xcf5b('0xa'),'condition':_0xcf5b('0xb'),'callback':afterUpdate},{'channel':_0xcf5b('0x1a'),'model':_0xcf5b('0x1c'),'event':'afterCreate','condition':_0xcf5b('0xd'),'callback':afterCreateMessage}];function request(_0x28647){return client[_0xcf5b('0x1d')]('EventManager',_0x28647)[_0xcf5b('0x1e')](function(_0x397b96){logger[_0xcf5b('0x1f')]('Trigger,\x20%s','EventManager',_0x397b96);if(_0x397b96[_0xcf5b('0x20')]){if(_0x397b96['error'][_0xcf5b('0x21')]===0x1f4){logger[_0xcf5b('0x20')](_0xcf5b('0x22'),_0xcf5b('0x23'),_0x397b96[_0xcf5b('0x20')]);}}})[_0xcf5b('0x24')](function(_0x599c23){logger[_0xcf5b('0x20')](_0xcf5b('0x22'),'EventManager',_0x599c23);});}function afterCreateMessage(_0x51f93a,_0x3fdbe0){return function(_0x3a9f13,_0x181c50){_0x3a9f13=_0x3a9f13[_0xcf5b('0x25')]({'plain':!![]});_0x3a9f13[_0xcf5b('0x26')]=_0x51f93a;_0x3a9f13['event']=_0x3a9f13['direction'];if(_0x3a9f13[_0xcf5b('0x27')]){return db[_0xcf5b('0x28')][_0xcf5b('0x29')]({'where':{'id':_0x3a9f13[_0xcf5b('0x27')]},'attributes':['id',_0xcf5b('0x2a')],'raw':!![]})[_0xcf5b('0x1e')](function(_0x1cf7c6){_0x3a9f13[_0xcf5b('0x2b')]=util[_0xcf5b('0x2c')](_0xcf5b('0x2d'),_0x1cf7c6[_0xcf5b('0x2a')]);_0x3a9f13[_0xcf5b('0x26')]=_0x51f93a;return request({'event':_0xcf5b('0x2e'),'message':_0x3a9f13});})[_0xcf5b('0x24')](function(_0x2ebdb0){console[_0xcf5b('0x20')](_0x2ebdb0);});}else{return request({'event':'outgoingmessage','message':_0x3a9f13});}};}function afterCreate(_0x152297,_0x17231d){return function(_0x1d906c,_0x279f7f){_0x1d906c=_0x1d906c['get']({'plain':!![]});_0x1d906c[_0xcf5b('0x26')]=_0x152297;_0x1d906c['event']=_0xcf5b('0x2f');return request({'event':_0x17231d,'message':_0x1d906c});};}function afterUpdate(_0x526973,_0x5e3c66){return function(_0x4839cf,_0x5e895f){if(_0x4839cf[_0xcf5b('0x30')](_0xcf5b('0x31'))&&_0x4839cf[_0xcf5b('0x31')]){_0x4839cf=_0x4839cf[_0xcf5b('0x25')]({'plain':!![]});_0x4839cf['channel']=_0x526973;_0x4839cf['event']='closed';if(_0x4839cf['UserId']){return db['User']['find']({'where':{'id':_0x4839cf[_0xcf5b('0x27')]},'attributes':['id','name'],'raw':!![]})['then'](function(_0x408cce){_0x4839cf[_0xcf5b('0x2b')]=util[_0xcf5b('0x2c')](_0xcf5b('0x2d'),_0x408cce[_0xcf5b('0x2a')]);return request({'event':_0x5e3c66,'message':_0x4839cf});})[_0xcf5b('0x24')](function(_0x4c4c4f){console[_0xcf5b('0x20')](_0x4c4c4f);});}else{return request({'event':_0x5e3c66,'message':_0x4839cf});}}};}exports[_0xcf5b('0x32')]=function(){for(var _0x33c0e5=0x0;_0x33c0e5<triggers[_0xcf5b('0x33')];_0x33c0e5+=0x1){if(db['hasOwnProperty'](triggers[_0x33c0e5]['model'])){db[triggers[_0x33c0e5][_0xcf5b('0x34')]][_0xcf5b('0x35')](triggers[_0x33c0e5][_0xcf5b('0x36')],triggers[_0x33c0e5][_0xcf5b('0x37')](triggers[_0x33c0e5][_0xcf5b('0x26')][_0xcf5b('0x38')](),triggers[_0x33c0e5][_0xcf5b('0x39')]));}}};