Built motion from commit (unavailable).|2.5.10
[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 _0xd74d=['FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','EventManager','Trigger,\x20%s','error','get','channel','event','direction','User','find','UserId','name','then','format','incomingmessage','catch','outgoingmessage','opened','changed','closed','interface','SIP/%s','length','hasOwnProperty','model','hook','callback','toLowerCase','condition','util','../../mysqldb','jayson/promise','../logger','http','ChatInteraction','afterCreate','newinteraction','afterUpdate','closedinteraction','Chat','ChatMessage','newmessage','Sms','SmsInteraction','SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction'];(function(_0x465028,_0x4570ac){var _0xb783d4=function(_0x5458c5){while(--_0x5458c5){_0x465028['push'](_0x465028['shift']());}};_0xb783d4(++_0x4570ac);}(_0xd74d,0x93));var _0xdd74=function(_0x36611a,_0x5e6f19){_0x36611a=_0x36611a-0x0;var _0x346591=_0xd74d[_0x36611a];return _0x346591;};'use strict';var util=require(_0xdd74('0x0'));var db=require(_0xdd74('0x1'))['db'];var jayson=require(_0xdd74('0x2'));var logger=require(_0xdd74('0x3'))('triggers');var client=jayson['client'][_0xdd74('0x4')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0xdd74('0x5'),'event':_0xdd74('0x6'),'condition':_0xdd74('0x7'),'callback':afterCreate},{'channel':'Chat','model':_0xdd74('0x5'),'event':_0xdd74('0x8'),'condition':_0xdd74('0x9'),'callback':afterUpdate},{'channel':_0xdd74('0xa'),'model':_0xdd74('0xb'),'event':_0xdd74('0x6'),'condition':_0xdd74('0xc'),'callback':afterCreateMessage},{'channel':_0xdd74('0xd'),'model':_0xdd74('0xe'),'event':'afterCreate','condition':_0xdd74('0x7'),'callback':afterCreate},{'channel':_0xdd74('0xd'),'model':_0xdd74('0xe'),'event':_0xdd74('0x8'),'condition':_0xdd74('0x9'),'callback':afterUpdate},{'channel':_0xdd74('0xd'),'model':_0xdd74('0xf'),'event':_0xdd74('0x6'),'condition':_0xdd74('0xc'),'callback':afterCreateMessage},{'channel':_0xdd74('0x10'),'model':_0xdd74('0x11'),'event':_0xdd74('0x6'),'condition':_0xdd74('0x7'),'callback':afterCreate},{'channel':_0xdd74('0x10'),'model':_0xdd74('0x11'),'event':_0xdd74('0x8'),'condition':_0xdd74('0x9'),'callback':afterUpdate},{'channel':_0xdd74('0x10'),'model':_0xdd74('0x12'),'event':'afterCreate','condition':_0xdd74('0xc'),'callback':afterCreateMessage},{'channel':_0xdd74('0x13'),'model':_0xdd74('0x14'),'event':_0xdd74('0x6'),'condition':_0xdd74('0x7'),'callback':afterCreate},{'channel':_0xdd74('0x13'),'model':_0xdd74('0x14'),'event':_0xdd74('0x8'),'condition':_0xdd74('0x9'),'callback':afterUpdate},{'channel':'Fax','model':_0xdd74('0x15'),'event':_0xdd74('0x6'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xdd74('0x16'),'model':'MailInteraction','event':_0xdd74('0x6'),'condition':_0xdd74('0x7'),'callback':afterCreate},{'channel':_0xdd74('0x16'),'model':_0xdd74('0x17'),'event':_0xdd74('0x8'),'condition':_0xdd74('0x9'),'callback':afterUpdate},{'channel':_0xdd74('0x16'),'model':_0xdd74('0x18'),'event':_0xdd74('0x6'),'condition':_0xdd74('0xc'),'callback':afterCreateMessage},{'channel':_0xdd74('0x19'),'model':_0xdd74('0x1a'),'event':_0xdd74('0x6'),'condition':_0xdd74('0x7'),'callback':afterCreate},{'channel':'Openchannel','model':_0xdd74('0x1a'),'event':_0xdd74('0x8'),'condition':_0xdd74('0x9'),'callback':afterUpdate},{'channel':_0xdd74('0x19'),'model':_0xdd74('0x1b'),'event':_0xdd74('0x6'),'condition':_0xdd74('0xc'),'callback':afterCreateMessage}];function request(_0x160527){return client['request'](_0xdd74('0x1c'),_0x160527)['then'](function(_0x3a6eac){logger['info'](_0xdd74('0x1d'),_0xdd74('0x1c'),_0x3a6eac);if(_0x3a6eac['error']){if(_0x3a6eac[_0xdd74('0x1e')]['code']===0x1f4){logger[_0xdd74('0x1e')]('Trigger,\x20%s',_0xdd74('0x1c'),_0x3a6eac[_0xdd74('0x1e')]);}}})['catch'](function(_0x1119cb){logger[_0xdd74('0x1e')](_0xdd74('0x1d'),_0xdd74('0x1c'),_0x1119cb);});}function afterCreateMessage(_0xd55d4e,_0x1eb7c9){return function(_0x2ff5c2,_0x443a6a){_0x2ff5c2=_0x2ff5c2[_0xdd74('0x1f')]({'plain':!![]});_0x2ff5c2[_0xdd74('0x20')]=_0xd55d4e;_0x2ff5c2[_0xdd74('0x21')]=_0x2ff5c2[_0xdd74('0x22')];if(_0x2ff5c2['UserId']){return db[_0xdd74('0x23')][_0xdd74('0x24')]({'where':{'id':_0x2ff5c2[_0xdd74('0x25')]},'attributes':['id',_0xdd74('0x26')],'raw':!![]})[_0xdd74('0x27')](function(_0x2d331e){_0x2ff5c2['interface']=util[_0xdd74('0x28')]('SIP/%s',_0x2d331e[_0xdd74('0x26')]);_0x2ff5c2[_0xdd74('0x20')]=_0xd55d4e;return request({'event':_0xdd74('0x29'),'message':_0x2ff5c2});})[_0xdd74('0x2a')](function(_0x51266d){console[_0xdd74('0x1e')](_0x51266d);});}else{return request({'event':_0xdd74('0x2b'),'message':_0x2ff5c2});}};}function afterCreate(_0x3f2539,_0x48f0c0){return function(_0x205693,_0x2c56ab){_0x205693=_0x205693['get']({'plain':!![]});_0x205693['channel']=_0x3f2539;_0x205693[_0xdd74('0x21')]=_0xdd74('0x2c');return request({'event':_0x48f0c0,'message':_0x205693});};}function afterUpdate(_0x37fd71,_0x2087c3){return function(_0x32ec20,_0x29080b){if(_0x32ec20[_0xdd74('0x2d')](_0xdd74('0x2e'))&&_0x32ec20['closed']){_0x32ec20=_0x32ec20[_0xdd74('0x1f')]({'plain':!![]});_0x32ec20[_0xdd74('0x20')]=_0x37fd71;_0x32ec20[_0xdd74('0x21')]=_0xdd74('0x2e');if(_0x32ec20[_0xdd74('0x25')]){return db[_0xdd74('0x23')][_0xdd74('0x24')]({'where':{'id':_0x32ec20[_0xdd74('0x25')]},'attributes':['id','name'],'raw':!![]})[_0xdd74('0x27')](function(_0x5c13fc){_0x32ec20[_0xdd74('0x2f')]=util[_0xdd74('0x28')](_0xdd74('0x30'),_0x5c13fc[_0xdd74('0x26')]);return request({'event':_0x2087c3,'message':_0x32ec20});})[_0xdd74('0x2a')](function(_0x1c9467){console[_0xdd74('0x1e')](_0x1c9467);});}else{return request({'event':_0x2087c3,'message':_0x32ec20});}}};}exports['default']=function(){for(var _0x3d91c5=0x0;_0x3d91c5<triggers[_0xdd74('0x31')];_0x3d91c5+=0x1){if(db[_0xdd74('0x32')](triggers[_0x3d91c5][_0xdd74('0x33')])){db[triggers[_0x3d91c5][_0xdd74('0x33')]][_0xdd74('0x34')](triggers[_0x3d91c5]['event'],triggers[_0x3d91c5][_0xdd74('0x35')](triggers[_0x3d91c5][_0xdd74('0x20')][_0xdd74('0x36')](),triggers[_0x3d91c5][_0xdd74('0x37')]));}}};