Built motion from commit (unavailable).|2.5.3
[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 _0x03ff=['find','name','then','format','SIP/%s','incomingmessage','outgoingmessage','opened','changed','closed','default','length','hasOwnProperty','model','hook','toLowerCase','condition','util','../../mysqldb','../logger','triggers','client','ChatInteraction','afterCreate','newinteraction','afterUpdate','closedinteraction','Chat','ChatMessage','Sms','SmsInteraction','SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','newmessage','FaxInteraction','Fax','FaxMessage','Mail','MailInteraction','MailMessage','OpenchannelInteraction','Openchannel','OpenchannelMessage','request','EventManager','info','Trigger,\x20%s','error','code','catch','get','channel','event','direction','UserId'];(function(_0x39772f,_0x5605cb){var _0xc9edbf=function(_0x106a39){while(--_0x106a39){_0x39772f['push'](_0x39772f['shift']());}};_0xc9edbf(++_0x5605cb);}(_0x03ff,0xf5));var _0xf03f=function(_0x5b561d,_0x422b7c){_0x5b561d=_0x5b561d-0x0;var _0x431060=_0x03ff[_0x5b561d];return _0x431060;};'use strict';var util=require(_0xf03f('0x0'));var db=require(_0xf03f('0x1'))['db'];var jayson=require('jayson/promise');var logger=require(_0xf03f('0x2'))(_0xf03f('0x3'));var client=jayson[_0xf03f('0x4')]['http']({'port':0x232a});var triggers=[{'channel':'Chat','model':_0xf03f('0x5'),'event':_0xf03f('0x6'),'condition':_0xf03f('0x7'),'callback':afterCreate},{'channel':'Chat','model':_0xf03f('0x5'),'event':_0xf03f('0x8'),'condition':_0xf03f('0x9'),'callback':afterUpdate},{'channel':_0xf03f('0xa'),'model':_0xf03f('0xb'),'event':_0xf03f('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xf03f('0xc'),'model':'SmsInteraction','event':_0xf03f('0x6'),'condition':_0xf03f('0x7'),'callback':afterCreate},{'channel':'Sms','model':_0xf03f('0xd'),'event':_0xf03f('0x8'),'condition':_0xf03f('0x9'),'callback':afterUpdate},{'channel':_0xf03f('0xc'),'model':_0xf03f('0xe'),'event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0xf03f('0xf'),'model':_0xf03f('0x10'),'event':_0xf03f('0x6'),'condition':_0xf03f('0x7'),'callback':afterCreate},{'channel':_0xf03f('0xf'),'model':'WhatsappInteraction','event':_0xf03f('0x8'),'condition':_0xf03f('0x9'),'callback':afterUpdate},{'channel':'Whatsapp','model':_0xf03f('0x11'),'event':_0xf03f('0x6'),'condition':_0xf03f('0x12'),'callback':afterCreateMessage},{'channel':'Fax','model':_0xf03f('0x13'),'event':_0xf03f('0x6'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xf03f('0x14'),'model':'FaxInteraction','event':_0xf03f('0x8'),'condition':_0xf03f('0x9'),'callback':afterUpdate},{'channel':'Fax','model':_0xf03f('0x15'),'event':_0xf03f('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xf03f('0x16'),'model':_0xf03f('0x17'),'event':_0xf03f('0x6'),'condition':_0xf03f('0x7'),'callback':afterCreate},{'channel':_0xf03f('0x16'),'model':_0xf03f('0x17'),'event':_0xf03f('0x8'),'condition':_0xf03f('0x9'),'callback':afterUpdate},{'channel':'Mail','model':_0xf03f('0x18'),'event':_0xf03f('0x6'),'condition':_0xf03f('0x12'),'callback':afterCreateMessage},{'channel':'Openchannel','model':_0xf03f('0x19'),'event':_0xf03f('0x6'),'condition':_0xf03f('0x7'),'callback':afterCreate},{'channel':'Openchannel','model':_0xf03f('0x19'),'event':_0xf03f('0x8'),'condition':_0xf03f('0x9'),'callback':afterUpdate},{'channel':_0xf03f('0x1a'),'model':_0xf03f('0x1b'),'event':_0xf03f('0x6'),'condition':_0xf03f('0x12'),'callback':afterCreateMessage}];function request(_0x531fad){return client[_0xf03f('0x1c')](_0xf03f('0x1d'),_0x531fad)['then'](function(_0x563817){logger[_0xf03f('0x1e')](_0xf03f('0x1f'),_0xf03f('0x1d'),_0x563817);if(_0x563817['error']){if(_0x563817[_0xf03f('0x20')][_0xf03f('0x21')]===0x1f4){logger[_0xf03f('0x20')](_0xf03f('0x1f'),_0xf03f('0x1d'),_0x563817[_0xf03f('0x20')]);}}})[_0xf03f('0x22')](function(_0x202506){logger[_0xf03f('0x20')]('Trigger,\x20%s','EventManager',_0x202506);});}function afterCreateMessage(_0x475375,_0x49a939){return function(_0x12f1e0,_0xcab75f){_0x12f1e0=_0x12f1e0[_0xf03f('0x23')]({'plain':!![]});_0x12f1e0[_0xf03f('0x24')]=_0x475375;_0x12f1e0[_0xf03f('0x25')]=_0x12f1e0[_0xf03f('0x26')];if(_0x12f1e0[_0xf03f('0x27')]){return db['User'][_0xf03f('0x28')]({'where':{'id':_0x12f1e0['UserId']},'attributes':['id',_0xf03f('0x29')],'raw':!![]})[_0xf03f('0x2a')](function(_0x5931b2){_0x12f1e0['interface']=util[_0xf03f('0x2b')](_0xf03f('0x2c'),_0x5931b2[_0xf03f('0x29')]);_0x12f1e0[_0xf03f('0x24')]=_0x475375;return request({'event':_0xf03f('0x2d'),'message':_0x12f1e0});})[_0xf03f('0x22')](function(_0x18a231){console['error'](_0x18a231);});}else{return request({'event':_0xf03f('0x2e'),'message':_0x12f1e0});}};}function afterCreate(_0x24aa5f,_0x49031d){return function(_0x2a2e60,_0x4b2404){_0x2a2e60=_0x2a2e60[_0xf03f('0x23')]({'plain':!![]});_0x2a2e60[_0xf03f('0x24')]=_0x24aa5f;_0x2a2e60[_0xf03f('0x25')]=_0xf03f('0x2f');return request({'event':_0x49031d,'message':_0x2a2e60});};}function afterUpdate(_0x3409fd,_0x231d92){return function(_0x3b49fe,_0x4a8097){if(_0x3b49fe[_0xf03f('0x30')](_0xf03f('0x31'))&&_0x3b49fe[_0xf03f('0x31')]){_0x3b49fe=_0x3b49fe[_0xf03f('0x23')]({'plain':!![]});_0x3b49fe[_0xf03f('0x24')]=_0x3409fd;_0x3b49fe[_0xf03f('0x25')]='closed';if(_0x3b49fe['UserId']){return db['User']['find']({'where':{'id':_0x3b49fe[_0xf03f('0x27')]},'attributes':['id',_0xf03f('0x29')],'raw':!![]})[_0xf03f('0x2a')](function(_0x4243da){_0x3b49fe['interface']=util[_0xf03f('0x2b')](_0xf03f('0x2c'),_0x4243da['name']);return request({'event':_0x231d92,'message':_0x3b49fe});})[_0xf03f('0x22')](function(_0x52166f){console[_0xf03f('0x20')](_0x52166f);});}else{return request({'event':_0x231d92,'message':_0x3b49fe});}}};}exports[_0xf03f('0x32')]=function(){for(var _0xb8a5e1=0x0;_0xb8a5e1<triggers[_0xf03f('0x33')];_0xb8a5e1+=0x1){if(db[_0xf03f('0x34')](triggers[_0xb8a5e1][_0xf03f('0x35')])){db[triggers[_0xb8a5e1][_0xf03f('0x35')]][_0xf03f('0x36')](triggers[_0xb8a5e1][_0xf03f('0x25')],triggers[_0xb8a5e1]['callback'](triggers[_0xb8a5e1][_0xf03f('0x24')][_0xf03f('0x37')](),triggers[_0xb8a5e1][_0xf03f('0x38')]));}}};