Built motion from commit (unavailable).|2.5.31
[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 _0xd5e1=['http','Chat','ChatInteraction','afterCreate','closedinteraction','Sms','SmsInteraction','newinteraction','afterUpdate','SmsMessage','newmessage','WhatsappInteraction','Whatsapp','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','OpenchannelInteraction','Openchannel','request','then','info','Trigger,\x20%s','EventManager','error','catch','get','event','direction','UserId','User','find','interface','SIP/%s','name','channel','incomingmessage','outgoingmessage','changed','closed','format','default','hasOwnProperty','model','hook','callback','condition','../../mysqldb','jayson/promise','../logger','triggers','client'];(function(_0xfcb063,_0x5e87fb){var _0x546528=function(_0x1a71e8){while(--_0x1a71e8){_0xfcb063['push'](_0xfcb063['shift']());}};_0x546528(++_0x5e87fb);}(_0xd5e1,0x1b3));var _0x1d5e=function(_0x1301b4,_0x2fb602){_0x1301b4=_0x1301b4-0x0;var _0x4252dc=_0xd5e1[_0x1301b4];return _0x4252dc;};'use strict';var util=require('util');var db=require(_0x1d5e('0x0'))['db'];var jayson=require(_0x1d5e('0x1'));var logger=require(_0x1d5e('0x2'))(_0x1d5e('0x3'));var client=jayson[_0x1d5e('0x4')][_0x1d5e('0x5')]({'port':0x232a});var triggers=[{'channel':_0x1d5e('0x6'),'model':_0x1d5e('0x7'),'event':_0x1d5e('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x1d5e('0x6'),'model':_0x1d5e('0x7'),'event':'afterUpdate','condition':_0x1d5e('0x9'),'callback':afterUpdate},{'channel':_0x1d5e('0x6'),'model':'ChatMessage','event':_0x1d5e('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x1d5e('0xa'),'model':_0x1d5e('0xb'),'event':_0x1d5e('0x8'),'condition':_0x1d5e('0xc'),'callback':afterCreate},{'channel':_0x1d5e('0xa'),'model':_0x1d5e('0xb'),'event':_0x1d5e('0xd'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x1d5e('0xa'),'model':_0x1d5e('0xe'),'event':_0x1d5e('0x8'),'condition':_0x1d5e('0xf'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':_0x1d5e('0x10'),'event':_0x1d5e('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x1d5e('0x11'),'model':'WhatsappInteraction','event':_0x1d5e('0xd'),'condition':_0x1d5e('0x9'),'callback':afterUpdate},{'channel':_0x1d5e('0x11'),'model':_0x1d5e('0x12'),'event':_0x1d5e('0x8'),'condition':_0x1d5e('0xf'),'callback':afterCreateMessage},{'channel':_0x1d5e('0x13'),'model':_0x1d5e('0x14'),'event':_0x1d5e('0x8'),'condition':_0x1d5e('0xc'),'callback':afterCreate},{'channel':_0x1d5e('0x13'),'model':'FaxInteraction','event':_0x1d5e('0xd'),'condition':_0x1d5e('0x9'),'callback':afterUpdate},{'channel':'Fax','model':_0x1d5e('0x15'),'event':'afterCreate','condition':_0x1d5e('0xf'),'callback':afterCreateMessage},{'channel':_0x1d5e('0x16'),'model':_0x1d5e('0x17'),'event':_0x1d5e('0x8'),'condition':_0x1d5e('0xc'),'callback':afterCreate},{'channel':_0x1d5e('0x16'),'model':'MailInteraction','event':_0x1d5e('0xd'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x1d5e('0x16'),'model':_0x1d5e('0x18'),'event':_0x1d5e('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Openchannel','model':_0x1d5e('0x19'),'event':'afterCreate','condition':_0x1d5e('0xc'),'callback':afterCreate},{'channel':_0x1d5e('0x1a'),'model':'OpenchannelInteraction','event':_0x1d5e('0xd'),'condition':_0x1d5e('0x9'),'callback':afterUpdate},{'channel':'Openchannel','model':'OpenchannelMessage','event':_0x1d5e('0x8'),'condition':'newmessage','callback':afterCreateMessage}];function request(_0x13c7b7){return client[_0x1d5e('0x1b')]('EventManager',_0x13c7b7)[_0x1d5e('0x1c')](function(_0x452bd8){logger[_0x1d5e('0x1d')](_0x1d5e('0x1e'),_0x1d5e('0x1f'),_0x452bd8);if(_0x452bd8['error']){if(_0x452bd8['error']['code']===0x1f4){logger[_0x1d5e('0x20')](_0x1d5e('0x1e'),'EventManager',_0x452bd8[_0x1d5e('0x20')]);}}})[_0x1d5e('0x21')](function(_0x2bb0ff){logger['error']('Trigger,\x20%s',_0x1d5e('0x1f'),_0x2bb0ff);});}function afterCreateMessage(_0x32b207,_0x3a7897){return function(_0x42283e,_0x548f5b){_0x42283e=_0x42283e[_0x1d5e('0x22')]({'plain':!![]});_0x42283e['channel']=_0x32b207;_0x42283e[_0x1d5e('0x23')]=_0x42283e[_0x1d5e('0x24')];if(_0x42283e[_0x1d5e('0x25')]){return db[_0x1d5e('0x26')][_0x1d5e('0x27')]({'where':{'id':_0x42283e[_0x1d5e('0x25')]},'attributes':['id','name'],'raw':!![]})[_0x1d5e('0x1c')](function(_0x3f101f){_0x42283e[_0x1d5e('0x28')]=util['format'](_0x1d5e('0x29'),_0x3f101f[_0x1d5e('0x2a')]);_0x42283e[_0x1d5e('0x2b')]=_0x32b207;return request({'event':_0x1d5e('0x2c'),'message':_0x42283e});})['catch'](function(_0x49714c){console[_0x1d5e('0x20')](_0x49714c);});}else{return request({'event':_0x1d5e('0x2d'),'message':_0x42283e});}};}function afterCreate(_0x599b66,_0x430f99){return function(_0x17d862,_0x31db49){_0x17d862=_0x17d862[_0x1d5e('0x22')]({'plain':!![]});_0x17d862[_0x1d5e('0x2b')]=_0x599b66;_0x17d862[_0x1d5e('0x23')]='opened';return request({'event':_0x430f99,'message':_0x17d862});};}function afterUpdate(_0x844f9c,_0x35799a){return function(_0x1ff85e,_0x768695){if(_0x1ff85e[_0x1d5e('0x2e')](_0x1d5e('0x2f'))&&_0x1ff85e['closed']){_0x1ff85e=_0x1ff85e[_0x1d5e('0x22')]({'plain':!![]});_0x1ff85e[_0x1d5e('0x2b')]=_0x844f9c;_0x1ff85e[_0x1d5e('0x23')]=_0x1d5e('0x2f');if(_0x1ff85e['UserId']){return db['User'][_0x1d5e('0x27')]({'where':{'id':_0x1ff85e[_0x1d5e('0x25')]},'attributes':['id',_0x1d5e('0x2a')],'raw':!![]})[_0x1d5e('0x1c')](function(_0x3f85b0){_0x1ff85e[_0x1d5e('0x28')]=util[_0x1d5e('0x30')](_0x1d5e('0x29'),_0x3f85b0['name']);return request({'event':_0x35799a,'message':_0x1ff85e});})[_0x1d5e('0x21')](function(_0x363d21){console[_0x1d5e('0x20')](_0x363d21);});}else{return request({'event':_0x35799a,'message':_0x1ff85e});}}};}exports[_0x1d5e('0x31')]=function(){for(var _0x31f6f9=0x0;_0x31f6f9<triggers['length'];_0x31f6f9+=0x1){if(db[_0x1d5e('0x32')](triggers[_0x31f6f9]['model'])){db[triggers[_0x31f6f9][_0x1d5e('0x33')]][_0x1d5e('0x34')](triggers[_0x31f6f9][_0x1d5e('0x23')],triggers[_0x31f6f9][_0x1d5e('0x35')](triggers[_0x31f6f9][_0x1d5e('0x2b')]['toLowerCase'](),triggers[_0x31f6f9][_0x1d5e('0x36')]));}}};