Built motion from commit (unavailable).|2.4.8
[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 _0x5dc2=['default','length','model','callback','toLowerCase','condition','util','../../mysqldb','jayson/promise','../logger','triggers','http','Chat','ChatInteraction','afterCreate','newinteraction','closedinteraction','Sms','SmsInteraction','Fax','FaxInteraction','FaxMessage','newmessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','afterUpdate','OpenchannelMessage','request','EventManager','then','info','Trigger,\x20%s','error','code','catch','get','channel','event','direction','find','UserId','name','interface','SIP/%s','incomingmessage','changed','closed','User'];(function(_0x1b3ac2,_0x4a1959){var _0x2a517f=function(_0x278e3b){while(--_0x278e3b){_0x1b3ac2['push'](_0x1b3ac2['shift']());}};_0x2a517f(++_0x4a1959);}(_0x5dc2,0x1d1));var _0x25dc=function(_0x46d7b2,_0x547b66){_0x46d7b2=_0x46d7b2-0x0;var _0x5a6376=_0x5dc2[_0x46d7b2];return _0x5a6376;};'use strict';var util=require(_0x25dc('0x0'));var db=require(_0x25dc('0x1'))['db'];var jayson=require(_0x25dc('0x2'));var logger=require(_0x25dc('0x3'))(_0x25dc('0x4'));var client=jayson['client'][_0x25dc('0x5')]({'port':0x232a});var triggers=[{'channel':_0x25dc('0x6'),'model':_0x25dc('0x7'),'event':_0x25dc('0x8'),'condition':_0x25dc('0x9'),'callback':afterCreate},{'channel':_0x25dc('0x6'),'model':_0x25dc('0x7'),'event':'afterUpdate','condition':_0x25dc('0xa'),'callback':afterUpdate},{'channel':_0x25dc('0x6'),'model':'ChatMessage','event':_0x25dc('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x25dc('0xb'),'model':_0x25dc('0xc'),'event':_0x25dc('0x8'),'condition':_0x25dc('0x9'),'callback':afterCreate},{'channel':_0x25dc('0xb'),'model':'SmsInteraction','event':'afterUpdate','condition':_0x25dc('0xa'),'callback':afterUpdate},{'channel':_0x25dc('0xb'),'model':'SmsMessage','event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0x25dc('0xd'),'model':_0x25dc('0xe'),'event':_0x25dc('0x8'),'condition':_0x25dc('0x9'),'callback':afterCreate},{'channel':_0x25dc('0xd'),'model':'FaxInteraction','event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':_0x25dc('0xd'),'model':_0x25dc('0xf'),'event':_0x25dc('0x8'),'condition':_0x25dc('0x10'),'callback':afterCreateMessage},{'channel':_0x25dc('0x11'),'model':_0x25dc('0x12'),'event':_0x25dc('0x8'),'condition':_0x25dc('0x9'),'callback':afterCreate},{'channel':_0x25dc('0x11'),'model':_0x25dc('0x12'),'event':'afterUpdate','condition':_0x25dc('0xa'),'callback':afterUpdate},{'channel':'Mail','model':_0x25dc('0x13'),'event':_0x25dc('0x8'),'condition':_0x25dc('0x10'),'callback':afterCreateMessage},{'channel':_0x25dc('0x14'),'model':_0x25dc('0x15'),'event':'afterCreate','condition':_0x25dc('0x9'),'callback':afterCreate},{'channel':'Openchannel','model':'OpenchannelInteraction','event':_0x25dc('0x16'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x25dc('0x14'),'model':_0x25dc('0x17'),'event':'afterCreate','condition':_0x25dc('0x10'),'callback':afterCreateMessage}];function request(_0x4ec0e0){return client[_0x25dc('0x18')](_0x25dc('0x19'),_0x4ec0e0)[_0x25dc('0x1a')](function(_0x8bf3f){logger[_0x25dc('0x1b')](_0x25dc('0x1c'),'EventManager',_0x8bf3f);if(_0x8bf3f[_0x25dc('0x1d')]){if(_0x8bf3f[_0x25dc('0x1d')][_0x25dc('0x1e')]===0x1f4){logger['error'](_0x25dc('0x1c'),_0x25dc('0x19'),_0x8bf3f[_0x25dc('0x1d')]);}}})[_0x25dc('0x1f')](function(_0x7bd97c){logger[_0x25dc('0x1d')](_0x25dc('0x1c'),_0x25dc('0x19'),_0x7bd97c);});}function afterCreateMessage(_0xeb3f86,_0x2accc9){return function(_0x4c03f8,_0x3e285d){_0x4c03f8=_0x4c03f8[_0x25dc('0x20')]({'plain':!![]});_0x4c03f8[_0x25dc('0x21')]=_0xeb3f86;_0x4c03f8[_0x25dc('0x22')]=_0x4c03f8[_0x25dc('0x23')];if(_0x4c03f8['UserId']){return db['User'][_0x25dc('0x24')]({'where':{'id':_0x4c03f8[_0x25dc('0x25')]},'attributes':['id',_0x25dc('0x26')],'raw':!![]})[_0x25dc('0x1a')](function(_0x1a21da){_0x4c03f8[_0x25dc('0x27')]=util['format'](_0x25dc('0x28'),_0x1a21da[_0x25dc('0x26')]);_0x4c03f8[_0x25dc('0x21')]=_0xeb3f86;return request({'event':_0x25dc('0x29'),'message':_0x4c03f8});})[_0x25dc('0x1f')](function(_0x4a8e0d){console[_0x25dc('0x1d')](_0x4a8e0d);});}else{return request({'event':'outgoingmessage','message':_0x4c03f8});}};}function afterCreate(_0x429846,_0x33d720){return function(_0x1ae1ac,_0x1ef7df){_0x1ae1ac=_0x1ae1ac[_0x25dc('0x20')]({'plain':!![]});_0x1ae1ac['channel']=_0x429846;_0x1ae1ac[_0x25dc('0x22')]='opened';return request({'event':_0x33d720,'message':_0x1ae1ac});};}function afterUpdate(_0x272731,_0x489651){return function(_0xe866fe,_0x7c8414){if(_0xe866fe[_0x25dc('0x2a')](_0x25dc('0x2b'))&&_0xe866fe['closed']){_0xe866fe=_0xe866fe[_0x25dc('0x20')]({'plain':!![]});_0xe866fe['channel']=_0x272731;_0xe866fe[_0x25dc('0x22')]=_0x25dc('0x2b');if(_0xe866fe[_0x25dc('0x25')]){return db[_0x25dc('0x2c')][_0x25dc('0x24')]({'where':{'id':_0xe866fe[_0x25dc('0x25')]},'attributes':['id',_0x25dc('0x26')],'raw':!![]})[_0x25dc('0x1a')](function(_0x583941){_0xe866fe['interface']=util['format'](_0x25dc('0x28'),_0x583941['name']);return request({'event':_0x489651,'message':_0xe866fe});})[_0x25dc('0x1f')](function(_0x2bd02b){console[_0x25dc('0x1d')](_0x2bd02b);});}else{return request({'event':_0x489651,'message':_0xe866fe});}}};}exports[_0x25dc('0x2d')]=function(){for(var _0x37fb81=0x0;_0x37fb81<triggers[_0x25dc('0x2e')];_0x37fb81+=0x1){if(db['hasOwnProperty'](triggers[_0x37fb81][_0x25dc('0x2f')])){db[triggers[_0x37fb81][_0x25dc('0x2f')]]['hook'](triggers[_0x37fb81][_0x25dc('0x22')],triggers[_0x37fb81][_0x25dc('0x30')](triggers[_0x37fb81][_0x25dc('0x21')][_0x25dc('0x31')](),triggers[_0x37fb81][_0x25dc('0x32')]));}}};