Built motion from commit (unavailable).|2.5.27
[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 _0x024d=['../logger','client','Chat','ChatInteraction','afterCreate','newinteraction','afterUpdate','closedinteraction','ChatMessage','Sms','SmsInteraction','newmessage','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','then','info','Trigger,\x20%s','error','channel','event','direction','UserId','find','name','SIP/%s','incomingmessage','outgoingmessage','get','opened','changed','closed','User','catch','default','length','hasOwnProperty','model','hook','util','../../mysqldb','jayson/promise'];(function(_0x1caf6a,_0x26a5bf){var _0x1bf493=function(_0x3982f5){while(--_0x3982f5){_0x1caf6a['push'](_0x1caf6a['shift']());}};_0x1bf493(++_0x26a5bf);}(_0x024d,0x169));var _0xd024=function(_0x40e514,_0x3b2c69){_0x40e514=_0x40e514-0x0;var _0x23e327=_0x024d[_0x40e514];return _0x23e327;};'use strict';var util=require(_0xd024('0x0'));var db=require(_0xd024('0x1'))['db'];var jayson=require(_0xd024('0x2'));var logger=require(_0xd024('0x3'))('triggers');var client=jayson[_0xd024('0x4')]['http']({'port':0x232a});var triggers=[{'channel':_0xd024('0x5'),'model':_0xd024('0x6'),'event':_0xd024('0x7'),'condition':_0xd024('0x8'),'callback':afterCreate},{'channel':_0xd024('0x5'),'model':'ChatInteraction','event':_0xd024('0x9'),'condition':_0xd024('0xa'),'callback':afterUpdate},{'channel':_0xd024('0x5'),'model':_0xd024('0xb'),'event':_0xd024('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xd024('0xc'),'model':_0xd024('0xd'),'event':_0xd024('0x7'),'condition':_0xd024('0x8'),'callback':afterCreate},{'channel':_0xd024('0xc'),'model':_0xd024('0xd'),'event':_0xd024('0x9'),'condition':_0xd024('0xa'),'callback':afterUpdate},{'channel':_0xd024('0xc'),'model':'SmsMessage','event':_0xd024('0x7'),'condition':_0xd024('0xe'),'callback':afterCreateMessage},{'channel':_0xd024('0xf'),'model':'WhatsappInteraction','event':'afterCreate','condition':_0xd024('0x8'),'callback':afterCreate},{'channel':'Whatsapp','model':_0xd024('0x10'),'event':_0xd024('0x9'),'condition':_0xd024('0xa'),'callback':afterUpdate},{'channel':_0xd024('0xf'),'model':_0xd024('0x11'),'event':'afterCreate','condition':_0xd024('0xe'),'callback':afterCreateMessage},{'channel':_0xd024('0x12'),'model':'FaxInteraction','event':_0xd024('0x7'),'condition':_0xd024('0x8'),'callback':afterCreate},{'channel':'Fax','model':_0xd024('0x13'),'event':_0xd024('0x9'),'condition':_0xd024('0xa'),'callback':afterUpdate},{'channel':_0xd024('0x12'),'model':_0xd024('0x14'),'event':_0xd024('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xd024('0x15'),'model':_0xd024('0x16'),'event':_0xd024('0x7'),'condition':_0xd024('0x8'),'callback':afterCreate},{'channel':_0xd024('0x15'),'model':_0xd024('0x16'),'event':_0xd024('0x9'),'condition':_0xd024('0xa'),'callback':afterUpdate},{'channel':_0xd024('0x15'),'model':'MailMessage','event':_0xd024('0x7'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xd024('0x17'),'model':_0xd024('0x18'),'event':_0xd024('0x7'),'condition':_0xd024('0x8'),'callback':afterCreate},{'channel':'Openchannel','model':_0xd024('0x18'),'event':'afterUpdate','condition':_0xd024('0xa'),'callback':afterUpdate},{'channel':_0xd024('0x17'),'model':_0xd024('0x19'),'event':_0xd024('0x7'),'condition':_0xd024('0xe'),'callback':afterCreateMessage}];function request(_0x28dfd1){return client[_0xd024('0x1a')](_0xd024('0x1b'),_0x28dfd1)[_0xd024('0x1c')](function(_0x24ffed){logger[_0xd024('0x1d')](_0xd024('0x1e'),_0xd024('0x1b'),_0x24ffed);if(_0x24ffed[_0xd024('0x1f')]){if(_0x24ffed[_0xd024('0x1f')]['code']===0x1f4){logger[_0xd024('0x1f')]('Trigger,\x20%s',_0xd024('0x1b'),_0x24ffed[_0xd024('0x1f')]);}}})['catch'](function(_0x19c7a3){logger['error'](_0xd024('0x1e'),_0xd024('0x1b'),_0x19c7a3);});}function afterCreateMessage(_0x17dac4,_0x12af21){return function(_0xb45da9,_0x39d41f){_0xb45da9=_0xb45da9['get']({'plain':!![]});_0xb45da9[_0xd024('0x20')]=_0x17dac4;_0xb45da9[_0xd024('0x21')]=_0xb45da9[_0xd024('0x22')];if(_0xb45da9[_0xd024('0x23')]){return db['User'][_0xd024('0x24')]({'where':{'id':_0xb45da9[_0xd024('0x23')]},'attributes':['id',_0xd024('0x25')],'raw':!![]})[_0xd024('0x1c')](function(_0x3af719){_0xb45da9['interface']=util['format'](_0xd024('0x26'),_0x3af719['name']);_0xb45da9[_0xd024('0x20')]=_0x17dac4;return request({'event':_0xd024('0x27'),'message':_0xb45da9});})['catch'](function(_0x307124){console['error'](_0x307124);});}else{return request({'event':_0xd024('0x28'),'message':_0xb45da9});}};}function afterCreate(_0x14a73f,_0x37b688){return function(_0x10f38b,_0x1ba172){_0x10f38b=_0x10f38b[_0xd024('0x29')]({'plain':!![]});_0x10f38b[_0xd024('0x20')]=_0x14a73f;_0x10f38b['event']=_0xd024('0x2a');return request({'event':_0x37b688,'message':_0x10f38b});};}function afterUpdate(_0x497339,_0x10421e){return function(_0x172b38,_0x471cfa){if(_0x172b38[_0xd024('0x2b')](_0xd024('0x2c'))&&_0x172b38[_0xd024('0x2c')]){_0x172b38=_0x172b38[_0xd024('0x29')]({'plain':!![]});_0x172b38[_0xd024('0x20')]=_0x497339;_0x172b38[_0xd024('0x21')]=_0xd024('0x2c');if(_0x172b38[_0xd024('0x23')]){return db[_0xd024('0x2d')][_0xd024('0x24')]({'where':{'id':_0x172b38[_0xd024('0x23')]},'attributes':['id','name'],'raw':!![]})['then'](function(_0x3d6b36){_0x172b38['interface']=util['format'](_0xd024('0x26'),_0x3d6b36['name']);return request({'event':_0x10421e,'message':_0x172b38});})[_0xd024('0x2e')](function(_0x30662e){console[_0xd024('0x1f')](_0x30662e);});}else{return request({'event':_0x10421e,'message':_0x172b38});}}};}exports[_0xd024('0x2f')]=function(){for(var _0x55fcc4=0x0;_0x55fcc4<triggers[_0xd024('0x30')];_0x55fcc4+=0x1){if(db[_0xd024('0x31')](triggers[_0x55fcc4][_0xd024('0x32')])){db[triggers[_0x55fcc4][_0xd024('0x32')]][_0xd024('0x33')](triggers[_0x55fcc4][_0xd024('0x21')],triggers[_0x55fcc4]['callback'](triggers[_0x55fcc4]['channel']['toLowerCase'](),triggers[_0x55fcc4]['condition']));}}};