Built motion from commit (unavailable).|2.5.21
[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 _0x4af7=['util','../../mysqldb','jayson/promise','../logger','triggers','http','Chat','ChatInteraction','closedinteraction','ChatMessage','afterCreate','newmessage','Sms','SmsInteraction','newinteraction','afterUpdate','Whatsapp','WhatsappMessage','FaxInteraction','FaxMessage','Mail','MailMessage','Openchannel','OpenchannelInteraction','request','EventManager','then','info','code','error','Trigger,\x20%s','catch','get','direction','UserId','User','name','interface','format','SIP/%s','channel','incomingmessage','outgoingmessage','event','opened','closed','default','length','model','callback','toLowerCase','condition'];(function(_0x1002c0,_0x44ec11){var _0x37527f=function(_0x559d5c){while(--_0x559d5c){_0x1002c0['push'](_0x1002c0['shift']());}};_0x37527f(++_0x44ec11);}(_0x4af7,0x104));var _0x74af=function(_0x18ab2a,_0x4debcd){_0x18ab2a=_0x18ab2a-0x0;var _0x16dcee=_0x4af7[_0x18ab2a];return _0x16dcee;};'use strict';var util=require(_0x74af('0x0'));var db=require(_0x74af('0x1'))['db'];var jayson=require(_0x74af('0x2'));var logger=require(_0x74af('0x3'))(_0x74af('0x4'));var client=jayson['client'][_0x74af('0x5')]({'port':0x232a});var triggers=[{'channel':_0x74af('0x6'),'model':'ChatInteraction','event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':_0x74af('0x6'),'model':_0x74af('0x7'),'event':'afterUpdate','condition':_0x74af('0x8'),'callback':afterUpdate},{'channel':_0x74af('0x6'),'model':_0x74af('0x9'),'event':_0x74af('0xa'),'condition':_0x74af('0xb'),'callback':afterCreateMessage},{'channel':_0x74af('0xc'),'model':_0x74af('0xd'),'event':_0x74af('0xa'),'condition':_0x74af('0xe'),'callback':afterCreate},{'channel':_0x74af('0xc'),'model':_0x74af('0xd'),'event':_0x74af('0xf'),'condition':_0x74af('0x8'),'callback':afterUpdate},{'channel':_0x74af('0xc'),'model':'SmsMessage','event':'afterCreate','condition':_0x74af('0xb'),'callback':afterCreateMessage},{'channel':_0x74af('0x10'),'model':'WhatsappInteraction','event':_0x74af('0xa'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x74af('0x10'),'model':'WhatsappInteraction','event':_0x74af('0xf'),'condition':_0x74af('0x8'),'callback':afterUpdate},{'channel':_0x74af('0x10'),'model':_0x74af('0x11'),'event':_0x74af('0xa'),'condition':'newmessage','callback':afterCreateMessage},{'channel':'Fax','model':_0x74af('0x12'),'event':'afterCreate','condition':_0x74af('0xe'),'callback':afterCreate},{'channel':'Fax','model':_0x74af('0x12'),'event':_0x74af('0xf'),'condition':_0x74af('0x8'),'callback':afterUpdate},{'channel':'Fax','model':_0x74af('0x13'),'event':_0x74af('0xa'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x74af('0x14'),'model':'MailInteraction','event':_0x74af('0xa'),'condition':_0x74af('0xe'),'callback':afterCreate},{'channel':_0x74af('0x14'),'model':'MailInteraction','event':_0x74af('0xf'),'condition':_0x74af('0x8'),'callback':afterUpdate},{'channel':_0x74af('0x14'),'model':_0x74af('0x15'),'event':_0x74af('0xa'),'condition':_0x74af('0xb'),'callback':afterCreateMessage},{'channel':_0x74af('0x16'),'model':_0x74af('0x17'),'event':_0x74af('0xa'),'condition':_0x74af('0xe'),'callback':afterCreate},{'channel':_0x74af('0x16'),'model':_0x74af('0x17'),'event':_0x74af('0xf'),'condition':_0x74af('0x8'),'callback':afterUpdate},{'channel':_0x74af('0x16'),'model':'OpenchannelMessage','event':_0x74af('0xa'),'condition':_0x74af('0xb'),'callback':afterCreateMessage}];function request(_0x1286f1){return client[_0x74af('0x18')](_0x74af('0x19'),_0x1286f1)[_0x74af('0x1a')](function(_0x318553){logger[_0x74af('0x1b')]('Trigger,\x20%s',_0x74af('0x19'),_0x318553);if(_0x318553['error']){if(_0x318553['error'][_0x74af('0x1c')]===0x1f4){logger[_0x74af('0x1d')](_0x74af('0x1e'),_0x74af('0x19'),_0x318553[_0x74af('0x1d')]);}}})[_0x74af('0x1f')](function(_0x5d0e09){logger[_0x74af('0x1d')](_0x74af('0x1e'),'EventManager',_0x5d0e09);});}function afterCreateMessage(_0x44b433,_0x530944){return function(_0x2c32c1,_0x1285b2){_0x2c32c1=_0x2c32c1[_0x74af('0x20')]({'plain':!![]});_0x2c32c1['channel']=_0x44b433;_0x2c32c1['event']=_0x2c32c1[_0x74af('0x21')];if(_0x2c32c1[_0x74af('0x22')]){return db[_0x74af('0x23')]['find']({'where':{'id':_0x2c32c1[_0x74af('0x22')]},'attributes':['id',_0x74af('0x24')],'raw':!![]})[_0x74af('0x1a')](function(_0x491069){_0x2c32c1[_0x74af('0x25')]=util[_0x74af('0x26')](_0x74af('0x27'),_0x491069['name']);_0x2c32c1[_0x74af('0x28')]=_0x44b433;return request({'event':_0x74af('0x29'),'message':_0x2c32c1});})['catch'](function(_0x2c73c7){console[_0x74af('0x1d')](_0x2c73c7);});}else{return request({'event':_0x74af('0x2a'),'message':_0x2c32c1});}};}function afterCreate(_0x117d53,_0x43708a){return function(_0x4f0f21,_0x5e321d){_0x4f0f21=_0x4f0f21[_0x74af('0x20')]({'plain':!![]});_0x4f0f21[_0x74af('0x28')]=_0x117d53;_0x4f0f21[_0x74af('0x2b')]=_0x74af('0x2c');return request({'event':_0x43708a,'message':_0x4f0f21});};}function afterUpdate(_0x2e25e2,_0x5c1997){return function(_0x3cf2a1,_0x1c899e){if(_0x3cf2a1['changed'](_0x74af('0x2d'))&&_0x3cf2a1[_0x74af('0x2d')]){_0x3cf2a1=_0x3cf2a1[_0x74af('0x20')]({'plain':!![]});_0x3cf2a1[_0x74af('0x28')]=_0x2e25e2;_0x3cf2a1[_0x74af('0x2b')]=_0x74af('0x2d');if(_0x3cf2a1['UserId']){return db['User']['find']({'where':{'id':_0x3cf2a1['UserId']},'attributes':['id',_0x74af('0x24')],'raw':!![]})[_0x74af('0x1a')](function(_0xf49b7b){_0x3cf2a1[_0x74af('0x25')]=util[_0x74af('0x26')](_0x74af('0x27'),_0xf49b7b['name']);return request({'event':_0x5c1997,'message':_0x3cf2a1});})[_0x74af('0x1f')](function(_0x217d50){console[_0x74af('0x1d')](_0x217d50);});}else{return request({'event':_0x5c1997,'message':_0x3cf2a1});}}};}exports[_0x74af('0x2e')]=function(){for(var _0x802a43=0x0;_0x802a43<triggers[_0x74af('0x2f')];_0x802a43+=0x1){if(db['hasOwnProperty'](triggers[_0x802a43][_0x74af('0x30')])){db[triggers[_0x802a43][_0x74af('0x30')]]['hook'](triggers[_0x802a43][_0x74af('0x2b')],triggers[_0x802a43][_0x74af('0x31')](triggers[_0x802a43][_0x74af('0x28')][_0x74af('0x32')](),triggers[_0x802a43][_0x74af('0x33')]));}}};