Built motion from commit (unavailable).|2.4.21
[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 _0x55aa=['outgoingmessage','channel','event','opened','changed','closed','UserId','default','length','model','hook','callback','toLowerCase','condition','../../mysqldb','jayson/promise','../logger','triggers','client','http','Chat','ChatInteraction','newinteraction','afterUpdate','ChatMessage','afterCreate','newmessage','Sms','SmsInteraction','closedinteraction','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelMessage','EventManager','then','error','code','Trigger,\x20%s','get','direction','User','find','interface','format','SIP/%s','name','catch'];(function(_0x389760,_0x9fccc){var _0x1aeac4=function(_0x54af24){while(--_0x54af24){_0x389760['push'](_0x389760['shift']());}};_0x1aeac4(++_0x9fccc);}(_0x55aa,0x146));var _0xa55a=function(_0x45b69a,_0x5be684){_0x45b69a=_0x45b69a-0x0;var _0xc249fb=_0x55aa[_0x45b69a];return _0xc249fb;};'use strict';var util=require('util');var db=require(_0xa55a('0x0'))['db'];var jayson=require(_0xa55a('0x1'));var logger=require(_0xa55a('0x2'))(_0xa55a('0x3'));var client=jayson[_0xa55a('0x4')][_0xa55a('0x5')]({'port':0x232a});var triggers=[{'channel':_0xa55a('0x6'),'model':_0xa55a('0x7'),'event':'afterCreate','condition':_0xa55a('0x8'),'callback':afterCreate},{'channel':'Chat','model':'ChatInteraction','event':_0xa55a('0x9'),'condition':'closedinteraction','callback':afterUpdate},{'channel':'Chat','model':_0xa55a('0xa'),'event':_0xa55a('0xb'),'condition':_0xa55a('0xc'),'callback':afterCreateMessage},{'channel':_0xa55a('0xd'),'model':'SmsInteraction','event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':'Sms','model':_0xa55a('0xe'),'event':_0xa55a('0x9'),'condition':_0xa55a('0xf'),'callback':afterUpdate},{'channel':_0xa55a('0xd'),'model':'SmsMessage','event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0xa55a('0x10'),'model':_0xa55a('0x11'),'event':_0xa55a('0xb'),'condition':_0xa55a('0x8'),'callback':afterCreate},{'channel':_0xa55a('0x10'),'model':_0xa55a('0x11'),'event':_0xa55a('0x9'),'condition':_0xa55a('0xf'),'callback':afterUpdate},{'channel':_0xa55a('0x10'),'model':_0xa55a('0x12'),'event':_0xa55a('0xb'),'condition':_0xa55a('0xc'),'callback':afterCreateMessage},{'channel':_0xa55a('0x13'),'model':_0xa55a('0x14'),'event':_0xa55a('0xb'),'condition':_0xa55a('0x8'),'callback':afterCreate},{'channel':_0xa55a('0x13'),'model':_0xa55a('0x14'),'event':_0xa55a('0x9'),'condition':_0xa55a('0xf'),'callback':afterUpdate},{'channel':_0xa55a('0x13'),'model':_0xa55a('0x15'),'event':'afterCreate','condition':_0xa55a('0xc'),'callback':afterCreateMessage},{'channel':'Openchannel','model':'OpenchannelInteraction','event':_0xa55a('0xb'),'condition':_0xa55a('0x8'),'callback':afterCreate},{'channel':_0xa55a('0x16'),'model':'OpenchannelInteraction','event':_0xa55a('0x9'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0xa55a('0x16'),'model':_0xa55a('0x17'),'event':_0xa55a('0xb'),'condition':_0xa55a('0xc'),'callback':afterCreateMessage}];function request(_0x593a24){return client['request'](_0xa55a('0x18'),_0x593a24)[_0xa55a('0x19')](function(_0x522fc6){logger['info']('Trigger,\x20%s',_0xa55a('0x18'),_0x522fc6);if(_0x522fc6[_0xa55a('0x1a')]){if(_0x522fc6[_0xa55a('0x1a')][_0xa55a('0x1b')]===0x1f4){logger[_0xa55a('0x1a')]('Trigger,\x20%s',_0xa55a('0x18'),_0x522fc6[_0xa55a('0x1a')]);}}})['catch'](function(_0x578095){logger[_0xa55a('0x1a')](_0xa55a('0x1c'),_0xa55a('0x18'),_0x578095);});}function afterCreateMessage(_0x542cb4,_0x56aa00){return function(_0x1976f4,_0xf1a1c1){_0x1976f4=_0x1976f4[_0xa55a('0x1d')]({'plain':!![]});_0x1976f4['channel']=_0x542cb4;_0x1976f4['event']=_0x1976f4[_0xa55a('0x1e')];if(_0x1976f4['UserId']){return db[_0xa55a('0x1f')][_0xa55a('0x20')]({'where':{'id':_0x1976f4['UserId']},'attributes':['id','name'],'raw':!![]})[_0xa55a('0x19')](function(_0x1035b5){_0x1976f4[_0xa55a('0x21')]=util[_0xa55a('0x22')](_0xa55a('0x23'),_0x1035b5[_0xa55a('0x24')]);_0x1976f4['channel']=_0x542cb4;return request({'event':'incomingmessage','message':_0x1976f4});})[_0xa55a('0x25')](function(_0x3363ec){console[_0xa55a('0x1a')](_0x3363ec);});}else{return request({'event':_0xa55a('0x26'),'message':_0x1976f4});}};}function afterCreate(_0x55c72f,_0x1d9718){return function(_0x243a62,_0x5c30f5){_0x243a62=_0x243a62[_0xa55a('0x1d')]({'plain':!![]});_0x243a62[_0xa55a('0x27')]=_0x55c72f;_0x243a62[_0xa55a('0x28')]=_0xa55a('0x29');return request({'event':_0x1d9718,'message':_0x243a62});};}function afterUpdate(_0xb6e280,_0x1beb48){return function(_0x39b4c5,_0x47a576){if(_0x39b4c5[_0xa55a('0x2a')]('closed')&&_0x39b4c5['closed']){_0x39b4c5=_0x39b4c5[_0xa55a('0x1d')]({'plain':!![]});_0x39b4c5[_0xa55a('0x27')]=_0xb6e280;_0x39b4c5['event']=_0xa55a('0x2b');if(_0x39b4c5[_0xa55a('0x2c')]){return db['User']['find']({'where':{'id':_0x39b4c5[_0xa55a('0x2c')]},'attributes':['id',_0xa55a('0x24')],'raw':!![]})['then'](function(_0x2fe840){_0x39b4c5['interface']=util['format'](_0xa55a('0x23'),_0x2fe840[_0xa55a('0x24')]);return request({'event':_0x1beb48,'message':_0x39b4c5});})[_0xa55a('0x25')](function(_0x2a8f70){console[_0xa55a('0x1a')](_0x2a8f70);});}else{return request({'event':_0x1beb48,'message':_0x39b4c5});}}};}exports[_0xa55a('0x2d')]=function(){for(var _0x3c1a6f=0x0;_0x3c1a6f<triggers[_0xa55a('0x2e')];_0x3c1a6f+=0x1){if(db['hasOwnProperty'](triggers[_0x3c1a6f][_0xa55a('0x2f')])){db[triggers[_0x3c1a6f][_0xa55a('0x2f')]][_0xa55a('0x30')](triggers[_0x3c1a6f][_0xa55a('0x28')],triggers[_0x3c1a6f][_0xa55a('0x31')](triggers[_0x3c1a6f]['channel'][_0xa55a('0x32')](),triggers[_0x3c1a6f][_0xa55a('0x33')]));}}};