Built motion from commit (unavailable).|2.3.6
[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 _0xda1b=['SmsMessage','Fax','FaxInteraction','newinteraction','FaxMessage','MailInteraction','Mail','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','EventManager','then','info','error','code','catch','Trigger,\x20%s','get','User','find','UserId','name','format','SIP/%s','incomingmessage','outgoingmessage','event','opened','changed','closed','channel','interface','default','length','model','hook','toLowerCase','condition','util','../../mysqldb','jayson/promise','../logger','triggers','client','http','Chat','afterCreate','ChatInteraction','afterUpdate','closedinteraction','ChatMessage','newmessage','Sms','SmsInteraction'];(function(_0x27e811,_0x20137c){var _0x1627fa=function(_0x4498ca){while(--_0x4498ca){_0x27e811['push'](_0x27e811['shift']());}};_0x1627fa(++_0x20137c);}(_0xda1b,0x13a));var _0xbda1=function(_0x411017,_0x4a8117){_0x411017=_0x411017-0x0;var _0x2adeea=_0xda1b[_0x411017];return _0x2adeea;};'use strict';var util=require(_0xbda1('0x0'));var db=require(_0xbda1('0x1'))['db'];var jayson=require(_0xbda1('0x2'));var logger=require(_0xbda1('0x3'))(_0xbda1('0x4'));var client=jayson[_0xbda1('0x5')][_0xbda1('0x6')]({'port':0x232a});var triggers=[{'channel':_0xbda1('0x7'),'model':'ChatInteraction','event':_0xbda1('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xbda1('0x7'),'model':_0xbda1('0x9'),'event':_0xbda1('0xa'),'condition':_0xbda1('0xb'),'callback':afterUpdate},{'channel':_0xbda1('0x7'),'model':_0xbda1('0xc'),'event':_0xbda1('0x8'),'condition':_0xbda1('0xd'),'callback':afterCreateMessage},{'channel':_0xbda1('0xe'),'model':'SmsInteraction','event':_0xbda1('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':'Sms','model':_0xbda1('0xf'),'event':_0xbda1('0xa'),'condition':_0xbda1('0xb'),'callback':afterUpdate},{'channel':'Sms','model':_0xbda1('0x10'),'event':_0xbda1('0x8'),'condition':_0xbda1('0xd'),'callback':afterCreateMessage},{'channel':_0xbda1('0x11'),'model':_0xbda1('0x12'),'event':'afterCreate','condition':_0xbda1('0x13'),'callback':afterCreate},{'channel':_0xbda1('0x11'),'model':_0xbda1('0x12'),'event':_0xbda1('0xa'),'condition':_0xbda1('0xb'),'callback':afterUpdate},{'channel':_0xbda1('0x11'),'model':_0xbda1('0x14'),'event':_0xbda1('0x8'),'condition':_0xbda1('0xd'),'callback':afterCreateMessage},{'channel':'Mail','model':_0xbda1('0x15'),'event':_0xbda1('0x8'),'condition':_0xbda1('0x13'),'callback':afterCreate},{'channel':_0xbda1('0x16'),'model':_0xbda1('0x15'),'event':'afterUpdate','condition':_0xbda1('0xb'),'callback':afterUpdate},{'channel':'Mail','model':'MailMessage','event':_0xbda1('0x8'),'condition':_0xbda1('0xd'),'callback':afterCreateMessage},{'channel':_0xbda1('0x17'),'model':'OpenchannelInteraction','event':_0xbda1('0x8'),'condition':_0xbda1('0x13'),'callback':afterCreate},{'channel':'Openchannel','model':_0xbda1('0x18'),'event':_0xbda1('0xa'),'condition':_0xbda1('0xb'),'callback':afterUpdate},{'channel':_0xbda1('0x17'),'model':_0xbda1('0x19'),'event':_0xbda1('0x8'),'condition':_0xbda1('0xd'),'callback':afterCreateMessage}];function request(_0x5603b9){return client[_0xbda1('0x1a')](_0xbda1('0x1b'),_0x5603b9)[_0xbda1('0x1c')](function(_0xf0e2f0){logger[_0xbda1('0x1d')]('Trigger,\x20%s','EventManager',_0xf0e2f0);if(_0xf0e2f0[_0xbda1('0x1e')]){if(_0xf0e2f0[_0xbda1('0x1e')][_0xbda1('0x1f')]===0x1f4){logger[_0xbda1('0x1e')]('Trigger,\x20%s',_0xbda1('0x1b'),_0xf0e2f0[_0xbda1('0x1e')]);}}})[_0xbda1('0x20')](function(_0x4834ff){logger['error'](_0xbda1('0x21'),_0xbda1('0x1b'),_0x4834ff);});}function afterCreateMessage(_0x42023,_0x5e0357){return function(_0xa2327,_0x27bff2){_0xa2327=_0xa2327[_0xbda1('0x22')]({'plain':!![]});_0xa2327['channel']=_0x42023;_0xa2327['event']=_0xa2327['direction'];if(_0xa2327['UserId']){return db[_0xbda1('0x23')][_0xbda1('0x24')]({'where':{'id':_0xa2327[_0xbda1('0x25')]},'attributes':['id',_0xbda1('0x26')],'raw':!![]})[_0xbda1('0x1c')](function(_0xf0a953){_0xa2327['interface']=util[_0xbda1('0x27')](_0xbda1('0x28'),_0xf0a953['name']);_0xa2327['channel']=_0x42023;return request({'event':_0xbda1('0x29'),'message':_0xa2327});})[_0xbda1('0x20')](function(_0x3aff28){console['error'](_0x3aff28);});}else{return request({'event':_0xbda1('0x2a'),'message':_0xa2327});}};}function afterCreate(_0x753cd7,_0x4e63ec){return function(_0x2e7431,_0xabd835){_0x2e7431=_0x2e7431[_0xbda1('0x22')]({'plain':!![]});_0x2e7431['channel']=_0x753cd7;_0x2e7431[_0xbda1('0x2b')]=_0xbda1('0x2c');return request({'event':_0x4e63ec,'message':_0x2e7431});};}function afterUpdate(_0x37eb83,_0xf4405c){return function(_0x32f342,_0xbe5f9b){if(_0x32f342[_0xbda1('0x2d')](_0xbda1('0x2e'))&&_0x32f342[_0xbda1('0x2e')]){_0x32f342=_0x32f342[_0xbda1('0x22')]({'plain':!![]});_0x32f342[_0xbda1('0x2f')]=_0x37eb83;_0x32f342[_0xbda1('0x2b')]=_0xbda1('0x2e');if(_0x32f342[_0xbda1('0x25')]){return db[_0xbda1('0x23')][_0xbda1('0x24')]({'where':{'id':_0x32f342['UserId']},'attributes':['id',_0xbda1('0x26')],'raw':!![]})[_0xbda1('0x1c')](function(_0x5d8536){_0x32f342[_0xbda1('0x30')]=util['format'](_0xbda1('0x28'),_0x5d8536['name']);return request({'event':_0xf4405c,'message':_0x32f342});})[_0xbda1('0x20')](function(_0xa660){console['error'](_0xa660);});}else{return request({'event':_0xf4405c,'message':_0x32f342});}}};}exports[_0xbda1('0x31')]=function(){for(var _0x1de1da=0x0;_0x1de1da<triggers[_0xbda1('0x32')];_0x1de1da+=0x1){if(db['hasOwnProperty'](triggers[_0x1de1da][_0xbda1('0x33')])){db[triggers[_0x1de1da][_0xbda1('0x33')]][_0xbda1('0x34')](triggers[_0x1de1da][_0xbda1('0x2b')],triggers[_0x1de1da]['callback'](triggers[_0x1de1da][_0xbda1('0x2f')][_0xbda1('0x35')](),triggers[_0x1de1da][_0xbda1('0x36')]));}}};