Built motion from commit (unavailable).|2.5.13
[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 _0x9d81=['SIP/%s','catch','outgoingmessage','get','opened','changed','closed','find','interface','length','hasOwnProperty','model','hook','client','http','Chat','ChatInteraction','afterCreate','newinteraction','afterUpdate','closedinteraction','ChatMessage','newmessage','Sms','SmsInteraction','SmsMessage','WhatsappInteraction','Whatsapp','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','request','then','info','EventManager','error','code','Trigger,\x20%s','channel','event','direction','UserId','User','name','format'];(function(_0xccc1c1,_0x3bcc9f){var _0xefc9d6=function(_0x5417fe){while(--_0x5417fe){_0xccc1c1['push'](_0xccc1c1['shift']());}};_0xefc9d6(++_0x3bcc9f);}(_0x9d81,0xa6));var _0x19d8=function(_0x2c91e9,_0x2fb965){_0x2c91e9=_0x2c91e9-0x0;var _0x13f0ff=_0x9d81[_0x2c91e9];return _0x13f0ff;};'use strict';var util=require('util');var db=require('../../mysqldb')['db'];var jayson=require('jayson/promise');var logger=require('../logger')('triggers');var client=jayson[_0x19d8('0x0')][_0x19d8('0x1')]({'port':0x232a});var triggers=[{'channel':_0x19d8('0x2'),'model':_0x19d8('0x3'),'event':_0x19d8('0x4'),'condition':_0x19d8('0x5'),'callback':afterCreate},{'channel':'Chat','model':'ChatInteraction','event':_0x19d8('0x6'),'condition':_0x19d8('0x7'),'callback':afterUpdate},{'channel':_0x19d8('0x2'),'model':_0x19d8('0x8'),'event':_0x19d8('0x4'),'condition':_0x19d8('0x9'),'callback':afterCreateMessage},{'channel':_0x19d8('0xa'),'model':_0x19d8('0xb'),'event':_0x19d8('0x4'),'condition':'newinteraction','callback':afterCreate},{'channel':'Sms','model':_0x19d8('0xb'),'event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':'Sms','model':_0x19d8('0xc'),'event':_0x19d8('0x4'),'condition':_0x19d8('0x9'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':_0x19d8('0xd'),'event':_0x19d8('0x4'),'condition':_0x19d8('0x5'),'callback':afterCreate},{'channel':_0x19d8('0xe'),'model':_0x19d8('0xd'),'event':_0x19d8('0x6'),'condition':'closedinteraction','callback':afterUpdate},{'channel':'Whatsapp','model':_0x19d8('0xf'),'event':_0x19d8('0x4'),'condition':_0x19d8('0x9'),'callback':afterCreateMessage},{'channel':_0x19d8('0x10'),'model':_0x19d8('0x11'),'event':_0x19d8('0x4'),'condition':_0x19d8('0x5'),'callback':afterCreate},{'channel':_0x19d8('0x10'),'model':_0x19d8('0x11'),'event':_0x19d8('0x6'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x19d8('0x10'),'model':_0x19d8('0x12'),'event':'afterCreate','condition':_0x19d8('0x9'),'callback':afterCreateMessage},{'channel':_0x19d8('0x13'),'model':'MailInteraction','event':_0x19d8('0x4'),'condition':_0x19d8('0x5'),'callback':afterCreate},{'channel':'Mail','model':_0x19d8('0x14'),'event':_0x19d8('0x6'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x19d8('0x13'),'model':_0x19d8('0x15'),'event':_0x19d8('0x4'),'condition':_0x19d8('0x9'),'callback':afterCreateMessage},{'channel':_0x19d8('0x16'),'model':_0x19d8('0x17'),'event':_0x19d8('0x4'),'condition':_0x19d8('0x5'),'callback':afterCreate},{'channel':_0x19d8('0x16'),'model':_0x19d8('0x17'),'event':'afterUpdate','condition':_0x19d8('0x7'),'callback':afterUpdate},{'channel':_0x19d8('0x16'),'model':'OpenchannelMessage','event':_0x19d8('0x4'),'condition':_0x19d8('0x9'),'callback':afterCreateMessage}];function request(_0x3f381f){return client[_0x19d8('0x18')]('EventManager',_0x3f381f)[_0x19d8('0x19')](function(_0x43c1ed){logger[_0x19d8('0x1a')]('Trigger,\x20%s',_0x19d8('0x1b'),_0x43c1ed);if(_0x43c1ed[_0x19d8('0x1c')]){if(_0x43c1ed[_0x19d8('0x1c')][_0x19d8('0x1d')]===0x1f4){logger['error'](_0x19d8('0x1e'),'EventManager',_0x43c1ed['error']);}}})['catch'](function(_0x2f9616){logger[_0x19d8('0x1c')]('Trigger,\x20%s','EventManager',_0x2f9616);});}function afterCreateMessage(_0x15a142,_0x322802){return function(_0x23e89f,_0x1c7d11){_0x23e89f=_0x23e89f['get']({'plain':!![]});_0x23e89f[_0x19d8('0x1f')]=_0x15a142;_0x23e89f[_0x19d8('0x20')]=_0x23e89f[_0x19d8('0x21')];if(_0x23e89f[_0x19d8('0x22')]){return db[_0x19d8('0x23')]['find']({'where':{'id':_0x23e89f['UserId']},'attributes':['id',_0x19d8('0x24')],'raw':!![]})['then'](function(_0x2326df){_0x23e89f['interface']=util[_0x19d8('0x25')](_0x19d8('0x26'),_0x2326df['name']);_0x23e89f['channel']=_0x15a142;return request({'event':'incomingmessage','message':_0x23e89f});})[_0x19d8('0x27')](function(_0x3fa437){console[_0x19d8('0x1c')](_0x3fa437);});}else{return request({'event':_0x19d8('0x28'),'message':_0x23e89f});}};}function afterCreate(_0x3301c0,_0x18f07c){return function(_0x283dea,_0x5be24f){_0x283dea=_0x283dea[_0x19d8('0x29')]({'plain':!![]});_0x283dea[_0x19d8('0x1f')]=_0x3301c0;_0x283dea[_0x19d8('0x20')]=_0x19d8('0x2a');return request({'event':_0x18f07c,'message':_0x283dea});};}function afterUpdate(_0x25274d,_0x24df4e){return function(_0x256c18,_0x2bfefd){if(_0x256c18[_0x19d8('0x2b')](_0x19d8('0x2c'))&&_0x256c18[_0x19d8('0x2c')]){_0x256c18=_0x256c18['get']({'plain':!![]});_0x256c18['channel']=_0x25274d;_0x256c18['event']='closed';if(_0x256c18[_0x19d8('0x22')]){return db['User'][_0x19d8('0x2d')]({'where':{'id':_0x256c18[_0x19d8('0x22')]},'attributes':['id',_0x19d8('0x24')],'raw':!![]})[_0x19d8('0x19')](function(_0xdb3e35){_0x256c18[_0x19d8('0x2e')]=util[_0x19d8('0x25')](_0x19d8('0x26'),_0xdb3e35[_0x19d8('0x24')]);return request({'event':_0x24df4e,'message':_0x256c18});})['catch'](function(_0x5b18a8){console[_0x19d8('0x1c')](_0x5b18a8);});}else{return request({'event':_0x24df4e,'message':_0x256c18});}}};}exports['default']=function(){for(var _0x2fa131=0x0;_0x2fa131<triggers[_0x19d8('0x2f')];_0x2fa131+=0x1){if(db[_0x19d8('0x30')](triggers[_0x2fa131]['model'])){db[triggers[_0x2fa131][_0x19d8('0x31')]][_0x19d8('0x32')](triggers[_0x2fa131][_0x19d8('0x20')],triggers[_0x2fa131]['callback'](triggers[_0x2fa131]['channel']['toLowerCase'](),triggers[_0x2fa131]['condition']));}}};