Built motion from commit 85328c08.|2.5.50
[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 _0xab39=['UserId','interface','format','SIP/%s','name','channel','incomingmessage','catch','AfterCreateMessage','get','resolve','QueryTypes','SELECT','agent','changed','closed','substatus','AfterUpdate','User','find','email','internal','default','hasOwnProperty','model','hook','callback','toLowerCase','condition','jayson/promise','../logger','triggers','client','http','Chat','ChatInteraction','afterUpdate','closedinteraction','ChatMessage','afterCreate','newmessage','ChatOfflineMessage','Sms','SmsInteraction','newinteraction','SmsMessage','Whatsapp','WhatsappInteraction','WhatsappMessage','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','MailMessage','Openchannel','OpenchannelInteraction','OpenchannelMessage','request','info','EventManager','error','Trigger,\x20%s','motionChannel','event','direction','then','ContactId','undefined','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','query','Sequelize','contact'];(function(_0x17045e,_0x52231e){var _0x2b6dd8=function(_0x4acef7){while(--_0x4acef7){_0x17045e['push'](_0x17045e['shift']());}};_0x2b6dd8(++_0x52231e);}(_0xab39,0x145));var _0x9ab3=function(_0x4541a4,_0x240654){_0x4541a4=_0x4541a4-0x0;var _0x41cadf=_0xab39[_0x4541a4];return _0x41cadf;};'use strict';var util=require('util');var db=require('../../mysqldb')['db'];var jayson=require(_0x9ab3('0x0'));var logger=require(_0x9ab3('0x1'))(_0x9ab3('0x2'));var client=jayson[_0x9ab3('0x3')][_0x9ab3('0x4')]({'port':0x232a});var triggers=[{'channel':_0x9ab3('0x5'),'model':'ChatInteraction','event':'afterCreate','condition':'newinteraction','callback':afterCreate},{'channel':_0x9ab3('0x5'),'model':_0x9ab3('0x6'),'event':_0x9ab3('0x7'),'condition':_0x9ab3('0x8'),'callback':afterUpdate},{'channel':_0x9ab3('0x5'),'model':_0x9ab3('0x9'),'event':_0x9ab3('0xa'),'condition':_0x9ab3('0xb'),'callback':afterCreateMessage},{'channel':'Chat','model':_0x9ab3('0xc'),'event':_0x9ab3('0xa'),'condition':_0x9ab3('0xb'),'callback':afterCreateOfflineMessage},{'channel':_0x9ab3('0xd'),'model':_0x9ab3('0xe'),'event':'afterCreate','condition':_0x9ab3('0xf'),'callback':afterCreate},{'channel':'Sms','model':'SmsInteraction','event':_0x9ab3('0x7'),'condition':_0x9ab3('0x8'),'callback':afterUpdate},{'channel':_0x9ab3('0xd'),'model':_0x9ab3('0x10'),'event':_0x9ab3('0xa'),'condition':_0x9ab3('0xb'),'callback':afterCreateMessage},{'channel':_0x9ab3('0x11'),'model':_0x9ab3('0x12'),'event':'afterCreate','condition':_0x9ab3('0xf'),'callback':afterCreate},{'channel':'Whatsapp','model':_0x9ab3('0x12'),'event':'afterUpdate','condition':_0x9ab3('0x8'),'callback':afterUpdate},{'channel':'Whatsapp','model':_0x9ab3('0x13'),'event':_0x9ab3('0xa'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x9ab3('0x14'),'model':'FaxInteraction','event':_0x9ab3('0xa'),'condition':_0x9ab3('0xf'),'callback':afterCreate},{'channel':_0x9ab3('0x14'),'model':_0x9ab3('0x15'),'event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':_0x9ab3('0x14'),'model':_0x9ab3('0x16'),'event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0x9ab3('0x17'),'model':_0x9ab3('0x18'),'event':_0x9ab3('0xa'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x9ab3('0x17'),'model':_0x9ab3('0x18'),'event':_0x9ab3('0x7'),'condition':_0x9ab3('0x8'),'callback':afterUpdate},{'channel':_0x9ab3('0x17'),'model':_0x9ab3('0x19'),'event':_0x9ab3('0xa'),'condition':_0x9ab3('0xb'),'callback':afterCreateMessage},{'channel':_0x9ab3('0x1a'),'model':_0x9ab3('0x1b'),'event':_0x9ab3('0xa'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x9ab3('0x1a'),'model':_0x9ab3('0x1b'),'event':_0x9ab3('0x7'),'condition':_0x9ab3('0x8'),'callback':afterUpdate},{'channel':_0x9ab3('0x1a'),'model':_0x9ab3('0x1c'),'event':_0x9ab3('0xa'),'condition':_0x9ab3('0xb'),'callback':afterCreateMessage}];function request(_0x33c9b7){return client[_0x9ab3('0x1d')]('EventManager',_0x33c9b7)['then'](function(_0x162a5f){logger[_0x9ab3('0x1e')]('Trigger,\x20%s',_0x9ab3('0x1f'),_0x162a5f);if(_0x162a5f[_0x9ab3('0x20')]){if(_0x162a5f[_0x9ab3('0x20')]['code']===0x1f4){logger[_0x9ab3('0x20')](_0x9ab3('0x21'),_0x9ab3('0x1f'),_0x162a5f[_0x9ab3('0x20')]);}}})['catch'](function(_0x1d7273){logger['error']('Trigger,\x20%s',_0x9ab3('0x1f'),_0x1d7273);});}function afterCreateMessage(_0x3e8899){return function(_0x336eb2){_0x336eb2=_0x336eb2['get']({'plain':!![]});_0x336eb2['channel']=_0x3e8899;_0x336eb2[_0x9ab3('0x22')]=_0x3e8899;_0x336eb2[_0x9ab3('0x23')]=_0x336eb2[_0x9ab3('0x24')];Promise['resolve']()[_0x9ab3('0x25')](function(){if(typeof _0x336eb2[_0x9ab3('0x26')]===_0x9ab3('0x27'))return null;var _0x426411=_0x9ab3('0x28')+_0x336eb2[_0x9ab3('0x26')];return db[_0x9ab3('0x29')][_0x9ab3('0x2a')](_0x426411,{'type':db[_0x9ab3('0x2b')]['QueryTypes']['SELECT'],'raw':!![]});})[_0x9ab3('0x25')](function(_0x3e1705){if(_0x3e1705){_0x336eb2[_0x9ab3('0x2c')]=_0x3e1705[0x0];}if(typeof _0x336eb2['UserId']===_0x9ab3('0x27'))return;return getAgent(_0x336eb2[_0x9ab3('0x2d')]);})[_0x9ab3('0x25')](function(_0x30332a){if(_0x30332a){_0x336eb2[_0x9ab3('0x2e')]=util[_0x9ab3('0x2f')](_0x9ab3('0x30'),_0x30332a[_0x9ab3('0x31')]);_0x336eb2['agent']=_0x30332a;_0x336eb2[_0x9ab3('0x32')]=_0x3e8899;return request({'event':_0x9ab3('0x33'),'message':_0x336eb2});}else{return request({'event':'outgoingmessage','message':_0x336eb2});}})[_0x9ab3('0x34')](function(_0x286b18){logger[_0x9ab3('0x20')](_0x9ab3('0x21'),_0x9ab3('0x35'),_0x286b18);});};}function afterCreateOfflineMessage(_0x5868eb){return function(_0x2ee6e6){_0x2ee6e6=_0x2ee6e6[_0x9ab3('0x36')]({'plain':!![]});_0x2ee6e6[_0x9ab3('0x32')]=_0x5868eb;_0x2ee6e6[_0x9ab3('0x22')]=_0x5868eb;_0x2ee6e6[_0x9ab3('0x23')]='offlineMessage';return request({'event':_0x2ee6e6['event'],'message':_0x2ee6e6});};}function afterCreate(_0x480ff2,_0x42a10e){return function(_0x103f95){_0x103f95=_0x103f95[_0x9ab3('0x36')]({'plain':!![]});_0x103f95[_0x9ab3('0x32')]=_0x480ff2;_0x103f95['motionChannel']=_0x480ff2;_0x103f95[_0x9ab3('0x23')]='opened';Promise[_0x9ab3('0x37')]()['then'](function(){var _0x51b1c2=_0x9ab3('0x28')+_0x103f95['ContactId'];return db[_0x9ab3('0x29')]['query'](_0x51b1c2,{'type':db[_0x9ab3('0x2b')][_0x9ab3('0x38')][_0x9ab3('0x39')],'raw':!![]});})[_0x9ab3('0x25')](function(_0x5f39c1){if(_0x5f39c1){_0x103f95['contact']=_0x5f39c1[0x0];}if(typeof _0x103f95[_0x9ab3('0x2d')]===_0x9ab3('0x27'))return;return getAgent(_0x103f95[_0x9ab3('0x2d')]);})[_0x9ab3('0x25')](function(_0x563a8d){if(_0x563a8d){_0x103f95['interface']=util[_0x9ab3('0x2f')](_0x9ab3('0x30'),_0x563a8d[_0x9ab3('0x31')]);_0x103f95[_0x9ab3('0x3a')]=_0x563a8d;}return request({'event':_0x42a10e,'message':_0x103f95});})[_0x9ab3('0x34')](function(_0x53a676){logger[_0x9ab3('0x20')](_0x9ab3('0x21'),'AfterCreate',_0x53a676);});};}function afterUpdate(_0x79256c){return function(_0x2427e7){var _0x5cd677=_0x2427e7[_0x9ab3('0x3b')](_0x9ab3('0x3c'))&&_0x2427e7[_0x9ab3('0x3c')];var _0x350931=_0x2427e7[_0x9ab3('0x3b')]('substatus');if(_0x5cd677||_0x350931){var _0x1cddf5=_0x5cd677?'closedinteraction':_0x9ab3('0x3d');var _0x518905=_0x2427e7[_0x9ab3('0x36')]({'plain':!![]});_0x518905[_0x9ab3('0x32')]=_0x79256c;_0x518905[_0x9ab3('0x22')]=_0x79256c;_0x518905['event']=_0x5cd677?_0x9ab3('0x3c'):_0x9ab3('0x3d');var _0xe9d36e='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x518905[_0x9ab3('0x26')];return db[_0x9ab3('0x29')][_0x9ab3('0x2a')](_0xe9d36e,{'type':db[_0x9ab3('0x2b')][_0x9ab3('0x38')][_0x9ab3('0x39')],'raw':!![]})[_0x9ab3('0x25')](function(_0x6b717f){if(_0x6b717f){_0x518905[_0x9ab3('0x2c')]=_0x6b717f[0x0];}if(typeof _0x518905[_0x9ab3('0x2d')]===_0x9ab3('0x27'))return;return getAgent(_0x518905['UserId']);})[_0x9ab3('0x25')](function(_0x4e8277){if(_0x4e8277){_0x518905['interface']=util[_0x9ab3('0x2f')](_0x9ab3('0x30'),_0x4e8277[_0x9ab3('0x31')]);_0x518905[_0x9ab3('0x3a')]=_0x4e8277;}return request({'event':_0x1cddf5,'message':_0x518905});})['catch'](function(_0x24bab1){logger[_0x9ab3('0x20')](_0x9ab3('0x21'),_0x9ab3('0x3e'),_0x24bab1);});}};}function getAgent(_0x37a7d8){return db[_0x9ab3('0x3f')][_0x9ab3('0x40')]({'where':{'id':_0x37a7d8},'attributes':['id',_0x9ab3('0x31'),'fullname',_0x9ab3('0x41'),_0x9ab3('0x42')],'raw':!![]})[_0x9ab3('0x25')](function(_0x1c03dc){return _0x1c03dc;});}exports[_0x9ab3('0x43')]=function(){for(var _0x4109d0=0x0;_0x4109d0<triggers['length'];_0x4109d0+=0x1){if(db[_0x9ab3('0x44')](triggers[_0x4109d0][_0x9ab3('0x45')])){db[triggers[_0x4109d0][_0x9ab3('0x45')]][_0x9ab3('0x46')](triggers[_0x4109d0][_0x9ab3('0x23')],triggers[_0x4109d0][_0x9ab3('0x47')](triggers[_0x4109d0][_0x9ab3('0x32')][_0x9ab3('0x48')](),triggers[_0x4109d0][_0x9ab3('0x49')]));}}};