c80bc39990f355137f0f6dad136cd8c22f8c23d3
[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 _0xfde4=['SIP/%s','default','length','model','hook','callback','toLowerCase','condition','util','../../mysqldb','jayson/promise','../logger','triggers','client','http','newinteraction','Chat','ChatInteraction','closedinteraction','afterCreate','newmessage','Sms','SmsInteraction','afterUpdate','SmsMessage','WhatsappInteraction','Whatsapp','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','info','Trigger,\x20%s','EventManager','error','catch','channel','event','direction','UserId','User','find','name','then','format','incomingmessage','outgoingmessage','get','opened','changed','closed','interface'];(function(_0x5837d1,_0x4661e0){var _0x43b3b7=function(_0x22c638){while(--_0x22c638){_0x5837d1['push'](_0x5837d1['shift']());}};_0x43b3b7(++_0x4661e0);}(_0xfde4,0xb3));var _0x4fde=function(_0x4cfa2e,_0x5752b5){_0x4cfa2e=_0x4cfa2e-0x0;var _0x279b50=_0xfde4[_0x4cfa2e];return _0x279b50;};'use strict';var util=require(_0x4fde('0x0'));var db=require(_0x4fde('0x1'))['db'];var jayson=require(_0x4fde('0x2'));var logger=require(_0x4fde('0x3'))(_0x4fde('0x4'));var client=jayson[_0x4fde('0x5')][_0x4fde('0x6')]({'port':0x232a});var triggers=[{'channel':'Chat','model':'ChatInteraction','event':'afterCreate','condition':_0x4fde('0x7'),'callback':afterCreate},{'channel':_0x4fde('0x8'),'model':_0x4fde('0x9'),'event':'afterUpdate','condition':_0x4fde('0xa'),'callback':afterUpdate},{'channel':'Chat','model':'ChatMessage','event':_0x4fde('0xb'),'condition':_0x4fde('0xc'),'callback':afterCreateMessage},{'channel':_0x4fde('0xd'),'model':_0x4fde('0xe'),'event':_0x4fde('0xb'),'condition':_0x4fde('0x7'),'callback':afterCreate},{'channel':_0x4fde('0xd'),'model':'SmsInteraction','event':_0x4fde('0xf'),'condition':_0x4fde('0xa'),'callback':afterUpdate},{'channel':'Sms','model':_0x4fde('0x10'),'event':'afterCreate','condition':_0x4fde('0xc'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':_0x4fde('0x11'),'event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':'Whatsapp','model':_0x4fde('0x11'),'event':_0x4fde('0xf'),'condition':_0x4fde('0xa'),'callback':afterUpdate},{'channel':_0x4fde('0x12'),'model':_0x4fde('0x13'),'event':_0x4fde('0xb'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Fax','model':'FaxInteraction','event':_0x4fde('0xb'),'condition':_0x4fde('0x7'),'callback':afterCreate},{'channel':_0x4fde('0x14'),'model':_0x4fde('0x15'),'event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':_0x4fde('0x14'),'model':_0x4fde('0x16'),'event':_0x4fde('0xb'),'condition':_0x4fde('0xc'),'callback':afterCreateMessage},{'channel':_0x4fde('0x17'),'model':'MailInteraction','event':'afterCreate','condition':_0x4fde('0x7'),'callback':afterCreate},{'channel':_0x4fde('0x17'),'model':'MailInteraction','event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':_0x4fde('0x17'),'model':_0x4fde('0x18'),'event':_0x4fde('0xb'),'condition':_0x4fde('0xc'),'callback':afterCreateMessage},{'channel':_0x4fde('0x19'),'model':_0x4fde('0x1a'),'event':_0x4fde('0xb'),'condition':'newinteraction','callback':afterCreate},{'channel':'Openchannel','model':'OpenchannelInteraction','event':_0x4fde('0xf'),'condition':_0x4fde('0xa'),'callback':afterUpdate},{'channel':_0x4fde('0x19'),'model':_0x4fde('0x1b'),'event':'afterCreate','condition':'newmessage','callback':afterCreateMessage}];function request(_0x4f94e8){return client['request']('EventManager',_0x4f94e8)['then'](function(_0x1cbdb2){logger[_0x4fde('0x1c')](_0x4fde('0x1d'),_0x4fde('0x1e'),_0x1cbdb2);if(_0x1cbdb2[_0x4fde('0x1f')]){if(_0x1cbdb2[_0x4fde('0x1f')]['code']===0x1f4){logger[_0x4fde('0x1f')](_0x4fde('0x1d'),'EventManager',_0x1cbdb2[_0x4fde('0x1f')]);}}})[_0x4fde('0x20')](function(_0xa1c435){logger['error'](_0x4fde('0x1d'),_0x4fde('0x1e'),_0xa1c435);});}function afterCreateMessage(_0x5ef508,_0x29eb0d){return function(_0x5de885,_0x3ffe17){_0x5de885=_0x5de885['get']({'plain':!![]});_0x5de885[_0x4fde('0x21')]=_0x5ef508;_0x5de885[_0x4fde('0x22')]=_0x5de885[_0x4fde('0x23')];if(_0x5de885[_0x4fde('0x24')]){return db[_0x4fde('0x25')][_0x4fde('0x26')]({'where':{'id':_0x5de885[_0x4fde('0x24')]},'attributes':['id',_0x4fde('0x27')],'raw':!![]})[_0x4fde('0x28')](function(_0x533c20){_0x5de885['interface']=util[_0x4fde('0x29')]('SIP/%s',_0x533c20[_0x4fde('0x27')]);_0x5de885[_0x4fde('0x21')]=_0x5ef508;return request({'event':_0x4fde('0x2a'),'message':_0x5de885});})[_0x4fde('0x20')](function(_0x58ab74){console['error'](_0x58ab74);});}else{return request({'event':_0x4fde('0x2b'),'message':_0x5de885});}};}function afterCreate(_0x4c45fe,_0x50e49e){return function(_0x412d48,_0x297911){_0x412d48=_0x412d48[_0x4fde('0x2c')]({'plain':!![]});_0x412d48['channel']=_0x4c45fe;_0x412d48[_0x4fde('0x22')]=_0x4fde('0x2d');return request({'event':_0x50e49e,'message':_0x412d48});};}function afterUpdate(_0x121c8f,_0x353502){return function(_0xac12c8,_0x1ac49a){if(_0xac12c8[_0x4fde('0x2e')](_0x4fde('0x2f'))&&_0xac12c8[_0x4fde('0x2f')]){_0xac12c8=_0xac12c8['get']({'plain':!![]});_0xac12c8[_0x4fde('0x21')]=_0x121c8f;_0xac12c8['event']=_0x4fde('0x2f');if(_0xac12c8[_0x4fde('0x24')]){return db['User']['find']({'where':{'id':_0xac12c8[_0x4fde('0x24')]},'attributes':['id',_0x4fde('0x27')],'raw':!![]})[_0x4fde('0x28')](function(_0x35da8e){_0xac12c8[_0x4fde('0x30')]=util[_0x4fde('0x29')](_0x4fde('0x31'),_0x35da8e['name']);return request({'event':_0x353502,'message':_0xac12c8});})['catch'](function(_0xdd80ed){console[_0x4fde('0x1f')](_0xdd80ed);});}else{return request({'event':_0x353502,'message':_0xac12c8});}}};}exports[_0x4fde('0x32')]=function(){for(var _0x5b1996=0x0;_0x5b1996<triggers[_0x4fde('0x33')];_0x5b1996+=0x1){if(db['hasOwnProperty'](triggers[_0x5b1996][_0x4fde('0x34')])){db[triggers[_0x5b1996][_0x4fde('0x34')]][_0x4fde('0x35')](triggers[_0x5b1996]['event'],triggers[_0x5b1996][_0x4fde('0x36')](triggers[_0x5b1996][_0x4fde('0x21')][_0x4fde('0x37')](),triggers[_0x5b1996][_0x4fde('0x38')]));}}};