5c312ee062c62cb04511abb9e52ba1101cdbec4b
[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 _0xf13e=['hasOwnProperty','model','hook','condition','util','../../mysqldb','jayson/promise','../logger','triggers','client','http','ChatInteraction','afterCreate','newinteraction','Chat','newmessage','Sms','SmsInteraction','afterUpdate','closedinteraction','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','MailInteraction','Mail','MailMessage','Openchannel','OpenchannelMessage','request','EventManager','then','info','code','error','Trigger,\x20%s','catch','channel','event','direction','UserId','User','find','name','interface','format','SIP/%s','incomingmessage','outgoingmessage','get','opened','closed'];(function(_0x4d524d,_0xbe1149){var _0x5611c7=function(_0x37c082){while(--_0x37c082){_0x4d524d['push'](_0x4d524d['shift']());}};_0x5611c7(++_0xbe1149);}(_0xf13e,0x1b4));var _0xef13=function(_0x3f0c12,_0xea4b1d){_0x3f0c12=_0x3f0c12-0x0;var _0x2b90e0=_0xf13e[_0x3f0c12];return _0x2b90e0;};'use strict';var util=require(_0xef13('0x0'));var db=require(_0xef13('0x1'))['db'];var jayson=require(_0xef13('0x2'));var logger=require(_0xef13('0x3'))(_0xef13('0x4'));var client=jayson[_0xef13('0x5')][_0xef13('0x6')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0xef13('0x7'),'event':_0xef13('0x8'),'condition':_0xef13('0x9'),'callback':afterCreate},{'channel':_0xef13('0xa'),'model':_0xef13('0x7'),'event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':_0xef13('0xa'),'model':'ChatMessage','event':_0xef13('0x8'),'condition':_0xef13('0xb'),'callback':afterCreateMessage},{'channel':_0xef13('0xc'),'model':_0xef13('0xd'),'event':_0xef13('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xef13('0xc'),'model':_0xef13('0xd'),'event':_0xef13('0xe'),'condition':_0xef13('0xf'),'callback':afterUpdate},{'channel':_0xef13('0xc'),'model':'SmsMessage','event':_0xef13('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xef13('0x10'),'model':_0xef13('0x11'),'event':_0xef13('0x8'),'condition':_0xef13('0x9'),'callback':afterCreate},{'channel':_0xef13('0x10'),'model':'WhatsappInteraction','event':_0xef13('0xe'),'condition':_0xef13('0xf'),'callback':afterUpdate},{'channel':'Whatsapp','model':_0xef13('0x12'),'event':_0xef13('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xef13('0x13'),'model':_0xef13('0x14'),'event':_0xef13('0x8'),'condition':_0xef13('0x9'),'callback':afterCreate},{'channel':'Fax','model':'FaxInteraction','event':_0xef13('0xe'),'condition':_0xef13('0xf'),'callback':afterUpdate},{'channel':'Fax','model':_0xef13('0x15'),'event':_0xef13('0x8'),'condition':_0xef13('0xb'),'callback':afterCreateMessage},{'channel':'Mail','model':_0xef13('0x16'),'event':_0xef13('0x8'),'condition':_0xef13('0x9'),'callback':afterCreate},{'channel':_0xef13('0x17'),'model':_0xef13('0x16'),'event':'afterUpdate','condition':_0xef13('0xf'),'callback':afterUpdate},{'channel':_0xef13('0x17'),'model':_0xef13('0x18'),'event':_0xef13('0x8'),'condition':_0xef13('0xb'),'callback':afterCreateMessage},{'channel':_0xef13('0x19'),'model':'OpenchannelInteraction','event':_0xef13('0x8'),'condition':_0xef13('0x9'),'callback':afterCreate},{'channel':_0xef13('0x19'),'model':'OpenchannelInteraction','event':'afterUpdate','condition':_0xef13('0xf'),'callback':afterUpdate},{'channel':_0xef13('0x19'),'model':_0xef13('0x1a'),'event':_0xef13('0x8'),'condition':_0xef13('0xb'),'callback':afterCreateMessage}];function request(_0x440236){return client[_0xef13('0x1b')](_0xef13('0x1c'),_0x440236)[_0xef13('0x1d')](function(_0xb49d0b){logger[_0xef13('0x1e')]('Trigger,\x20%s','EventManager',_0xb49d0b);if(_0xb49d0b['error']){if(_0xb49d0b['error'][_0xef13('0x1f')]===0x1f4){logger[_0xef13('0x20')](_0xef13('0x21'),_0xef13('0x1c'),_0xb49d0b[_0xef13('0x20')]);}}})[_0xef13('0x22')](function(_0x4a7bdf){logger['error'](_0xef13('0x21'),_0xef13('0x1c'),_0x4a7bdf);});}function afterCreateMessage(_0xea71f7,_0x235b74){return function(_0x317e57,_0x2c4285){_0x317e57=_0x317e57['get']({'plain':!![]});_0x317e57[_0xef13('0x23')]=_0xea71f7;_0x317e57[_0xef13('0x24')]=_0x317e57[_0xef13('0x25')];if(_0x317e57[_0xef13('0x26')]){return db[_0xef13('0x27')][_0xef13('0x28')]({'where':{'id':_0x317e57[_0xef13('0x26')]},'attributes':['id',_0xef13('0x29')],'raw':!![]})['then'](function(_0x5dc56b){_0x317e57[_0xef13('0x2a')]=util[_0xef13('0x2b')](_0xef13('0x2c'),_0x5dc56b['name']);_0x317e57[_0xef13('0x23')]=_0xea71f7;return request({'event':_0xef13('0x2d'),'message':_0x317e57});})[_0xef13('0x22')](function(_0x21f9f1){console[_0xef13('0x20')](_0x21f9f1);});}else{return request({'event':_0xef13('0x2e'),'message':_0x317e57});}};}function afterCreate(_0x2ec605,_0xf839c1){return function(_0x5598d2,_0x4ae033){_0x5598d2=_0x5598d2[_0xef13('0x2f')]({'plain':!![]});_0x5598d2[_0xef13('0x23')]=_0x2ec605;_0x5598d2['event']=_0xef13('0x30');return request({'event':_0xf839c1,'message':_0x5598d2});};}function afterUpdate(_0x5027c7,_0xdbfbc){return function(_0x26ac7e,_0x56f1f4){if(_0x26ac7e['changed'](_0xef13('0x31'))&&_0x26ac7e[_0xef13('0x31')]){_0x26ac7e=_0x26ac7e[_0xef13('0x2f')]({'plain':!![]});_0x26ac7e['channel']=_0x5027c7;_0x26ac7e['event']=_0xef13('0x31');if(_0x26ac7e[_0xef13('0x26')]){return db[_0xef13('0x27')][_0xef13('0x28')]({'where':{'id':_0x26ac7e['UserId']},'attributes':['id','name'],'raw':!![]})[_0xef13('0x1d')](function(_0x25fd6c){_0x26ac7e[_0xef13('0x2a')]=util['format']('SIP/%s',_0x25fd6c[_0xef13('0x29')]);return request({'event':_0xdbfbc,'message':_0x26ac7e});})[_0xef13('0x22')](function(_0x31e450){console[_0xef13('0x20')](_0x31e450);});}else{return request({'event':_0xdbfbc,'message':_0x26ac7e});}}};}exports['default']=function(){for(var _0x2bcbcc=0x0;_0x2bcbcc<triggers['length'];_0x2bcbcc+=0x1){if(db[_0xef13('0x32')](triggers[_0x2bcbcc]['model'])){db[triggers[_0x2bcbcc][_0xef13('0x33')]][_0xef13('0x34')](triggers[_0x2bcbcc][_0xef13('0x24')],triggers[_0x2bcbcc]['callback'](triggers[_0x2bcbcc][_0xef13('0x23')]['toLowerCase'](),triggers[_0x2bcbcc][_0xef13('0x35')]));}}};