ea1888c29f5e8d14b0a3de85c8dbe60f5cef6c3f
[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 _0xf1be=['Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','OpenchannelInteraction','Openchannel','request','EventManager','then','info','Trigger,\x20%s','error','code','catch','channel','motionChannel','event','resolve','ContactId','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','query','Sequelize','SELECT','contact','interface','format','agent','incomingmessage','AfterCreateMessage','offlineMessage','get','opened','UserId','undefined','AfterCreate','changed','closed','substatus','QueryTypes','SIP/%s','name','AfterUpdate','User','find','fullname','email','internal','default','length','hasOwnProperty','model','hook','callback','toLowerCase','condition','util','../../mysqldb','jayson/promise','../logger','triggers','Chat','newinteraction','afterUpdate','closedinteraction','ChatMessage','newmessage','ChatOfflineMessage','afterCreate','SmsInteraction','Sms','SmsMessage'];(function(_0x235ab1,_0x3cabe6){var _0x52ccb9=function(_0x170063){while(--_0x170063){_0x235ab1['push'](_0x235ab1['shift']());}};_0x52ccb9(++_0x3cabe6);}(_0xf1be,0x1be));var _0xef1b=function(_0x7fcf39,_0xa98dba){_0x7fcf39=_0x7fcf39-0x0;var _0x1a148a=_0xf1be[_0x7fcf39];return _0x1a148a;};'use strict';var util=require(_0xef1b('0x0'));var db=require(_0xef1b('0x1'))['db'];var jayson=require(_0xef1b('0x2'));var logger=require(_0xef1b('0x3'))(_0xef1b('0x4'));var client=jayson['client']['http']({'port':0x232a});var triggers=[{'channel':_0xef1b('0x5'),'model':'ChatInteraction','event':'afterCreate','condition':_0xef1b('0x6'),'callback':afterCreate},{'channel':_0xef1b('0x5'),'model':'ChatInteraction','event':_0xef1b('0x7'),'condition':_0xef1b('0x8'),'callback':afterUpdate},{'channel':'Chat','model':_0xef1b('0x9'),'event':'afterCreate','condition':_0xef1b('0xa'),'callback':afterCreateMessage},{'channel':'Chat','model':_0xef1b('0xb'),'event':_0xef1b('0xc'),'condition':_0xef1b('0xa'),'callback':afterCreateOfflineMessage},{'channel':'Sms','model':_0xef1b('0xd'),'event':_0xef1b('0xc'),'condition':_0xef1b('0x6'),'callback':afterCreate},{'channel':'Sms','model':'SmsInteraction','event':_0xef1b('0x7'),'condition':_0xef1b('0x8'),'callback':afterUpdate},{'channel':_0xef1b('0xe'),'model':_0xef1b('0xf'),'event':_0xef1b('0xc'),'condition':_0xef1b('0xa'),'callback':afterCreateMessage},{'channel':_0xef1b('0x10'),'model':_0xef1b('0x11'),'event':_0xef1b('0xc'),'condition':_0xef1b('0x6'),'callback':afterCreate},{'channel':_0xef1b('0x10'),'model':_0xef1b('0x11'),'event':_0xef1b('0x7'),'condition':_0xef1b('0x8'),'callback':afterUpdate},{'channel':'Whatsapp','model':_0xef1b('0x12'),'event':_0xef1b('0xc'),'condition':_0xef1b('0xa'),'callback':afterCreateMessage},{'channel':_0xef1b('0x13'),'model':_0xef1b('0x14'),'event':'afterCreate','condition':_0xef1b('0x6'),'callback':afterCreate},{'channel':'Fax','model':_0xef1b('0x14'),'event':_0xef1b('0x7'),'condition':_0xef1b('0x8'),'callback':afterUpdate},{'channel':'Fax','model':_0xef1b('0x15'),'event':'afterCreate','condition':_0xef1b('0xa'),'callback':afterCreateMessage},{'channel':_0xef1b('0x16'),'model':_0xef1b('0x17'),'event':_0xef1b('0xc'),'condition':_0xef1b('0x6'),'callback':afterCreate},{'channel':_0xef1b('0x16'),'model':_0xef1b('0x17'),'event':_0xef1b('0x7'),'condition':_0xef1b('0x8'),'callback':afterUpdate},{'channel':'Mail','model':_0xef1b('0x18'),'event':'afterCreate','condition':_0xef1b('0xa'),'callback':afterCreateMessage},{'channel':'Openchannel','model':_0xef1b('0x19'),'event':'afterCreate','condition':_0xef1b('0x6'),'callback':afterCreate},{'channel':_0xef1b('0x1a'),'model':_0xef1b('0x19'),'event':_0xef1b('0x7'),'condition':_0xef1b('0x8'),'callback':afterUpdate},{'channel':_0xef1b('0x1a'),'model':'OpenchannelMessage','event':_0xef1b('0xc'),'condition':_0xef1b('0xa'),'callback':afterCreateMessage}];function request(_0x28d845){return client[_0xef1b('0x1b')](_0xef1b('0x1c'),_0x28d845)[_0xef1b('0x1d')](function(_0x3bfd55){logger[_0xef1b('0x1e')](_0xef1b('0x1f'),_0xef1b('0x1c'),_0x3bfd55);if(_0x3bfd55[_0xef1b('0x20')]){if(_0x3bfd55[_0xef1b('0x20')][_0xef1b('0x21')]===0x1f4){logger['error'](_0xef1b('0x1f'),_0xef1b('0x1c'),_0x3bfd55['error']);}}})[_0xef1b('0x22')](function(_0x2ac814){logger['error'](_0xef1b('0x1f'),_0xef1b('0x1c'),_0x2ac814);});}function afterCreateMessage(_0x315136){return function(_0x239766){_0x239766=_0x239766['get']({'plain':!![]});_0x239766[_0xef1b('0x23')]=_0x315136;_0x239766[_0xef1b('0x24')]=_0x315136;_0x239766[_0xef1b('0x25')]=_0x239766['direction'];Promise[_0xef1b('0x26')]()[_0xef1b('0x1d')](function(){if(typeof _0x239766[_0xef1b('0x27')]==='undefined')return null;var _0x338240=_0xef1b('0x28')+_0x239766['ContactId'];return db[_0xef1b('0x29')][_0xef1b('0x2a')](_0x338240,{'type':db[_0xef1b('0x2b')]['QueryTypes'][_0xef1b('0x2c')],'raw':!![]});})[_0xef1b('0x1d')](function(_0x244260){if(_0x244260){_0x239766[_0xef1b('0x2d')]=_0x244260[0x0];}if(typeof _0x239766['UserId']==='undefined')return;return getAgent(_0x239766['UserId']);})[_0xef1b('0x1d')](function(_0xbabf6a){if(_0xbabf6a){_0x239766[_0xef1b('0x2e')]=util[_0xef1b('0x2f')]('SIP/%s',_0xbabf6a['name']);_0x239766[_0xef1b('0x30')]=_0xbabf6a;_0x239766[_0xef1b('0x23')]=_0x315136;return request({'event':_0xef1b('0x31'),'message':_0x239766});}else{return request({'event':'outgoingmessage','message':_0x239766});}})[_0xef1b('0x22')](function(_0x69271e){logger[_0xef1b('0x20')](_0xef1b('0x1f'),_0xef1b('0x32'),_0x69271e);});};}function afterCreateOfflineMessage(_0x155eb7){return function(_0x945802){_0x945802=_0x945802['get']({'plain':!![]});_0x945802[_0xef1b('0x23')]=_0x155eb7;_0x945802[_0xef1b('0x24')]=_0x155eb7;_0x945802[_0xef1b('0x25')]=_0xef1b('0x33');return request({'event':_0x945802[_0xef1b('0x25')],'message':_0x945802});};}function afterCreate(_0xf33284,_0x4931af){return function(_0x5f4f1b){_0x5f4f1b=_0x5f4f1b[_0xef1b('0x34')]({'plain':!![]});_0x5f4f1b[_0xef1b('0x23')]=_0xf33284;_0x5f4f1b[_0xef1b('0x24')]=_0xf33284;_0x5f4f1b[_0xef1b('0x25')]=_0xef1b('0x35');Promise[_0xef1b('0x26')]()[_0xef1b('0x1d')](function(){var _0x418884=_0xef1b('0x28')+_0x5f4f1b[_0xef1b('0x27')];return db[_0xef1b('0x29')][_0xef1b('0x2a')](_0x418884,{'type':db['Sequelize']['QueryTypes'][_0xef1b('0x2c')],'raw':!![]});})[_0xef1b('0x1d')](function(_0x4c7792){if(_0x4c7792){_0x5f4f1b[_0xef1b('0x2d')]=_0x4c7792[0x0];}if(typeof _0x5f4f1b[_0xef1b('0x36')]===_0xef1b('0x37'))return;return getAgent(_0x5f4f1b[_0xef1b('0x36')]);})[_0xef1b('0x1d')](function(_0x187325){if(_0x187325){_0x5f4f1b[_0xef1b('0x2e')]=util['format']('SIP/%s',_0x187325['name']);_0x5f4f1b[_0xef1b('0x30')]=_0x187325;}return request({'event':_0x4931af,'message':_0x5f4f1b});})['catch'](function(_0x46b75b){logger[_0xef1b('0x20')](_0xef1b('0x1f'),_0xef1b('0x38'),_0x46b75b);});};}function afterUpdate(_0x425d45){return function(_0x586fe8){var _0x4b93ab=_0x586fe8[_0xef1b('0x39')]('closed')&&_0x586fe8[_0xef1b('0x3a')];var _0x3916d9=_0x586fe8[_0xef1b('0x39')]('substatus');if(_0x4b93ab||_0x3916d9){var _0x178360=_0x4b93ab?_0xef1b('0x8'):_0xef1b('0x3b');var _0x4bf995=_0x586fe8[_0xef1b('0x34')]({'plain':!![]});_0x4bf995[_0xef1b('0x23')]=_0x425d45;_0x4bf995[_0xef1b('0x24')]=_0x425d45;_0x4bf995[_0xef1b('0x25')]=_0x4b93ab?_0xef1b('0x3a'):_0xef1b('0x3b');var _0x543225='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x4bf995[_0xef1b('0x27')];return db[_0xef1b('0x29')]['query'](_0x543225,{'type':db[_0xef1b('0x2b')][_0xef1b('0x3c')][_0xef1b('0x2c')],'raw':!![]})[_0xef1b('0x1d')](function(_0xdbbc1b){if(_0xdbbc1b){_0x4bf995[_0xef1b('0x2d')]=_0xdbbc1b[0x0];}if(typeof _0x4bf995[_0xef1b('0x36')]===_0xef1b('0x37'))return;return getAgent(_0x4bf995[_0xef1b('0x36')]);})[_0xef1b('0x1d')](function(_0x1e25f4){if(_0x1e25f4){_0x4bf995[_0xef1b('0x2e')]=util[_0xef1b('0x2f')](_0xef1b('0x3d'),_0x1e25f4[_0xef1b('0x3e')]);_0x4bf995[_0xef1b('0x30')]=_0x1e25f4;}return request({'event':_0x178360,'message':_0x4bf995});})[_0xef1b('0x22')](function(_0x1dcc6b){logger['error'](_0xef1b('0x1f'),_0xef1b('0x3f'),_0x1dcc6b);});}};}function getAgent(_0x28acbf){return db[_0xef1b('0x40')][_0xef1b('0x41')]({'where':{'id':_0x28acbf},'attributes':['id',_0xef1b('0x3e'),_0xef1b('0x42'),_0xef1b('0x43'),_0xef1b('0x44')],'raw':!![]})[_0xef1b('0x1d')](function(_0x3aae47){return _0x3aae47;});}exports[_0xef1b('0x45')]=function(){for(var _0x76fb45=0x0;_0x76fb45<triggers[_0xef1b('0x46')];_0x76fb45+=0x1){if(db[_0xef1b('0x47')](triggers[_0x76fb45][_0xef1b('0x48')])){db[triggers[_0x76fb45]['model']][_0xef1b('0x49')](triggers[_0x76fb45][_0xef1b('0x25')],triggers[_0x76fb45][_0xef1b('0x4a')](triggers[_0x76fb45]['channel'][_0xef1b('0x4b')](),triggers[_0x76fb45][_0xef1b('0x4c')]));}}};