3ed8eb2c8468ec6942fe16220ee6759388b9f04a
[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 _0x981c=['then','interface','format','SIP/%s','name','incomingmessage','catch','outgoingmessage','event','changed','closed','default','length','hasOwnProperty','model','hook','callback','util','../../mysqldb','jayson/promise','../logger','triggers','http','Chat','ChatInteraction','afterCreate','newinteraction','afterUpdate','closedinteraction','Sms','SmsInteraction','SmsMessage','newmessage','WhatsappInteraction','Whatsapp','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','OpenchannelInteraction','Openchannel','request','info','Trigger,\x20%s','EventManager','error','code','get','channel','direction','UserId','User','find'];(function(_0x26a0c8,_0xc39418){var _0x59448b=function(_0x5e9541){while(--_0x5e9541){_0x26a0c8['push'](_0x26a0c8['shift']());}};_0x59448b(++_0xc39418);}(_0x981c,0x81));var _0xc981=function(_0x5ae187,_0x213cc3){_0x5ae187=_0x5ae187-0x0;var _0x69955c=_0x981c[_0x5ae187];return _0x69955c;};'use strict';var util=require(_0xc981('0x0'));var db=require(_0xc981('0x1'))['db'];var jayson=require(_0xc981('0x2'));var logger=require(_0xc981('0x3'))(_0xc981('0x4'));var client=jayson['client'][_0xc981('0x5')]({'port':0x232a});var triggers=[{'channel':_0xc981('0x6'),'model':_0xc981('0x7'),'event':_0xc981('0x8'),'condition':_0xc981('0x9'),'callback':afterCreate},{'channel':_0xc981('0x6'),'model':'ChatInteraction','event':_0xc981('0xa'),'condition':_0xc981('0xb'),'callback':afterUpdate},{'channel':_0xc981('0x6'),'model':'ChatMessage','event':_0xc981('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xc981('0xc'),'model':_0xc981('0xd'),'event':_0xc981('0x8'),'condition':'newinteraction','callback':afterCreate},{'channel':_0xc981('0xc'),'model':'SmsInteraction','event':_0xc981('0xa'),'condition':_0xc981('0xb'),'callback':afterUpdate},{'channel':'Sms','model':_0xc981('0xe'),'event':_0xc981('0x8'),'condition':_0xc981('0xf'),'callback':afterCreateMessage},{'channel':'Whatsapp','model':_0xc981('0x10'),'event':'afterCreate','condition':_0xc981('0x9'),'callback':afterCreate},{'channel':_0xc981('0x11'),'model':_0xc981('0x10'),'event':'afterUpdate','condition':_0xc981('0xb'),'callback':afterUpdate},{'channel':_0xc981('0x11'),'model':_0xc981('0x12'),'event':_0xc981('0x8'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0xc981('0x13'),'model':_0xc981('0x14'),'event':_0xc981('0x8'),'condition':_0xc981('0x9'),'callback':afterCreate},{'channel':_0xc981('0x13'),'model':_0xc981('0x14'),'event':_0xc981('0xa'),'condition':_0xc981('0xb'),'callback':afterUpdate},{'channel':_0xc981('0x13'),'model':_0xc981('0x15'),'event':_0xc981('0x8'),'condition':_0xc981('0xf'),'callback':afterCreateMessage},{'channel':_0xc981('0x16'),'model':'MailInteraction','event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':_0xc981('0x16'),'model':_0xc981('0x17'),'event':_0xc981('0xa'),'condition':_0xc981('0xb'),'callback':afterUpdate},{'channel':_0xc981('0x16'),'model':_0xc981('0x18'),'event':_0xc981('0x8'),'condition':_0xc981('0xf'),'callback':afterCreateMessage},{'channel':'Openchannel','model':_0xc981('0x19'),'event':_0xc981('0x8'),'condition':_0xc981('0x9'),'callback':afterCreate},{'channel':_0xc981('0x1a'),'model':_0xc981('0x19'),'event':_0xc981('0xa'),'condition':_0xc981('0xb'),'callback':afterUpdate},{'channel':_0xc981('0x1a'),'model':'OpenchannelMessage','event':_0xc981('0x8'),'condition':_0xc981('0xf'),'callback':afterCreateMessage}];function request(_0x50e237){return client[_0xc981('0x1b')]('EventManager',_0x50e237)['then'](function(_0x4c6030){logger[_0xc981('0x1c')](_0xc981('0x1d'),_0xc981('0x1e'),_0x4c6030);if(_0x4c6030[_0xc981('0x1f')]){if(_0x4c6030[_0xc981('0x1f')][_0xc981('0x20')]===0x1f4){logger['error'](_0xc981('0x1d'),_0xc981('0x1e'),_0x4c6030['error']);}}})['catch'](function(_0x250110){logger[_0xc981('0x1f')](_0xc981('0x1d'),'EventManager',_0x250110);});}function afterCreateMessage(_0x56b774,_0x2f0604){return function(_0x154cdd,_0x4dc368){_0x154cdd=_0x154cdd[_0xc981('0x21')]({'plain':!![]});_0x154cdd[_0xc981('0x22')]=_0x56b774;_0x154cdd['event']=_0x154cdd[_0xc981('0x23')];if(_0x154cdd[_0xc981('0x24')]){return db[_0xc981('0x25')][_0xc981('0x26')]({'where':{'id':_0x154cdd[_0xc981('0x24')]},'attributes':['id','name'],'raw':!![]})[_0xc981('0x27')](function(_0x2899d8){_0x154cdd[_0xc981('0x28')]=util[_0xc981('0x29')](_0xc981('0x2a'),_0x2899d8[_0xc981('0x2b')]);_0x154cdd[_0xc981('0x22')]=_0x56b774;return request({'event':_0xc981('0x2c'),'message':_0x154cdd});})[_0xc981('0x2d')](function(_0x287907){console[_0xc981('0x1f')](_0x287907);});}else{return request({'event':_0xc981('0x2e'),'message':_0x154cdd});}};}function afterCreate(_0x3d5939,_0xf80b52){return function(_0xfe0041,_0x1227e3){_0xfe0041=_0xfe0041[_0xc981('0x21')]({'plain':!![]});_0xfe0041['channel']=_0x3d5939;_0xfe0041[_0xc981('0x2f')]='opened';return request({'event':_0xf80b52,'message':_0xfe0041});};}function afterUpdate(_0xf188aa,_0x5c9335){return function(_0x34c6c5,_0x1232bb){if(_0x34c6c5[_0xc981('0x30')]('closed')&&_0x34c6c5[_0xc981('0x31')]){_0x34c6c5=_0x34c6c5[_0xc981('0x21')]({'plain':!![]});_0x34c6c5[_0xc981('0x22')]=_0xf188aa;_0x34c6c5[_0xc981('0x2f')]=_0xc981('0x31');if(_0x34c6c5[_0xc981('0x24')]){return db[_0xc981('0x25')]['find']({'where':{'id':_0x34c6c5[_0xc981('0x24')]},'attributes':['id',_0xc981('0x2b')],'raw':!![]})[_0xc981('0x27')](function(_0x567e8d){_0x34c6c5[_0xc981('0x28')]=util[_0xc981('0x29')]('SIP/%s',_0x567e8d['name']);return request({'event':_0x5c9335,'message':_0x34c6c5});})[_0xc981('0x2d')](function(_0x461935){console[_0xc981('0x1f')](_0x461935);});}else{return request({'event':_0x5c9335,'message':_0x34c6c5});}}};}exports[_0xc981('0x32')]=function(){for(var _0x36b106=0x0;_0x36b106<triggers[_0xc981('0x33')];_0x36b106+=0x1){if(db[_0xc981('0x34')](triggers[_0x36b106]['model'])){db[triggers[_0x36b106][_0xc981('0x35')]][_0xc981('0x36')](triggers[_0x36b106][_0xc981('0x2f')],triggers[_0x36b106][_0xc981('0x37')](triggers[_0x36b106]['channel']['toLowerCase'](),triggers[_0x36b106]['condition']));}}};