Built motion from commit 9d0783e6.|2.6.13
[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 _0x6ff1=['Whatsapp','WhatsappInteraction','Fax','FaxInteraction','Mail','MailInteraction','Openchannel','OpenchannelInteraction','EventManager','info','Trigger,\x20%s','error','code','catch','get','event','direction','resolve','then','ContactId','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','query','Sequelize','QueryTypes','contact','UserId','undefined','interface','format','SIP/%s','name','channel','incomingmessage','outgoingmessage','AfterCreateMessage','offlineMessage','motionChannel','SELECT','agent','AfterCreate','changed','closed','substatus','AfterUpdate','User','find','fullname','email','internal','length','hasOwnProperty','model','hook','callback','condition','../../mysqldb','jayson/promise','triggers','client','http','ChatInteraction','newinteraction','Chat','afterUpdate','closedinteraction','ChatMessage','newmessage','ChatOfflineMessage','Sms','SmsInteraction','afterCreate'];(function(_0x5f5bcc,_0x9d5909){var _0x368add=function(_0x294fac){while(--_0x294fac){_0x5f5bcc['push'](_0x5f5bcc['shift']());}};_0x368add(++_0x9d5909);}(_0x6ff1,0x80));var _0x16ff=function(_0x53bf2e,_0x5eca16){_0x53bf2e=_0x53bf2e-0x0;var _0x532b69=_0x6ff1[_0x53bf2e];return _0x532b69;};'use strict';var util=require('util');var db=require(_0x16ff('0x0'))['db'];var jayson=require(_0x16ff('0x1'));var logger=require('../logger')(_0x16ff('0x2'));var client=jayson[_0x16ff('0x3')][_0x16ff('0x4')]({'port':0x232a});var triggers=[{'channel':'Chat','model':_0x16ff('0x5'),'event':'afterCreate','condition':_0x16ff('0x6'),'callback':afterCreate},{'channel':_0x16ff('0x7'),'model':_0x16ff('0x5'),'event':_0x16ff('0x8'),'condition':_0x16ff('0x9'),'callback':afterUpdate},{'channel':_0x16ff('0x7'),'model':_0x16ff('0xa'),'event':'afterCreate','condition':_0x16ff('0xb'),'callback':afterCreateMessage},{'channel':_0x16ff('0x7'),'model':_0x16ff('0xc'),'event':'afterCreate','condition':'newmessage','callback':afterCreateOfflineMessage},{'channel':_0x16ff('0xd'),'model':_0x16ff('0xe'),'event':'afterCreate','condition':_0x16ff('0x6'),'callback':afterCreate},{'channel':'Sms','model':_0x16ff('0xe'),'event':'afterUpdate','condition':_0x16ff('0x9'),'callback':afterUpdate},{'channel':_0x16ff('0xd'),'model':'SmsMessage','event':_0x16ff('0xf'),'condition':_0x16ff('0xb'),'callback':afterCreateMessage},{'channel':_0x16ff('0x10'),'model':_0x16ff('0x11'),'event':_0x16ff('0xf'),'condition':'newinteraction','callback':afterCreate},{'channel':_0x16ff('0x10'),'model':_0x16ff('0x11'),'event':_0x16ff('0x8'),'condition':_0x16ff('0x9'),'callback':afterUpdate},{'channel':_0x16ff('0x10'),'model':'WhatsappMessage','event':_0x16ff('0xf'),'condition':_0x16ff('0xb'),'callback':afterCreateMessage},{'channel':_0x16ff('0x12'),'model':_0x16ff('0x13'),'event':'afterCreate','condition':_0x16ff('0x6'),'callback':afterCreate},{'channel':_0x16ff('0x12'),'model':'FaxInteraction','event':_0x16ff('0x8'),'condition':'closedinteraction','callback':afterUpdate},{'channel':_0x16ff('0x12'),'model':'FaxMessage','event':'afterCreate','condition':_0x16ff('0xb'),'callback':afterCreateMessage},{'channel':'Mail','model':'MailInteraction','event':_0x16ff('0xf'),'condition':_0x16ff('0x6'),'callback':afterCreate},{'channel':_0x16ff('0x14'),'model':_0x16ff('0x15'),'event':_0x16ff('0x8'),'condition':_0x16ff('0x9'),'callback':afterUpdate},{'channel':_0x16ff('0x14'),'model':'MailMessage','event':_0x16ff('0xf'),'condition':'newmessage','callback':afterCreateMessage},{'channel':_0x16ff('0x16'),'model':_0x16ff('0x17'),'event':'afterCreate','condition':_0x16ff('0x6'),'callback':afterCreate},{'channel':'Openchannel','model':_0x16ff('0x17'),'event':'afterUpdate','condition':'closedinteraction','callback':afterUpdate},{'channel':_0x16ff('0x16'),'model':'OpenchannelMessage','event':_0x16ff('0xf'),'condition':_0x16ff('0xb'),'callback':afterCreateMessage}];function request(_0x1c51db){return client['request'](_0x16ff('0x18'),_0x1c51db)['then'](function(_0x31e14d){logger[_0x16ff('0x19')](_0x16ff('0x1a'),'EventManager',_0x31e14d);if(_0x31e14d[_0x16ff('0x1b')]){if(_0x31e14d[_0x16ff('0x1b')][_0x16ff('0x1c')]===0x1f4){logger[_0x16ff('0x1b')](_0x16ff('0x1a'),_0x16ff('0x18'),_0x31e14d[_0x16ff('0x1b')]);}}})[_0x16ff('0x1d')](function(_0x12173b){logger['error'](_0x16ff('0x1a'),'EventManager',_0x12173b);});}function afterCreateMessage(_0x508eaa){return function(_0x4fb132){_0x4fb132=_0x4fb132[_0x16ff('0x1e')]({'plain':!![]});_0x4fb132['channel']=_0x508eaa;_0x4fb132['motionChannel']=_0x508eaa;_0x4fb132[_0x16ff('0x1f')]=_0x4fb132[_0x16ff('0x20')];Promise[_0x16ff('0x21')]()[_0x16ff('0x22')](function(){if(typeof _0x4fb132[_0x16ff('0x23')]==='undefined')return null;var _0x53bcfc=_0x16ff('0x24')+_0x4fb132[_0x16ff('0x23')];return db[_0x16ff('0x25')][_0x16ff('0x26')](_0x53bcfc,{'type':db[_0x16ff('0x27')][_0x16ff('0x28')]['SELECT'],'raw':!![]});})[_0x16ff('0x22')](function(_0x4d28a9){if(_0x4d28a9){_0x4fb132[_0x16ff('0x29')]=_0x4d28a9[0x0];}if(typeof _0x4fb132[_0x16ff('0x2a')]===_0x16ff('0x2b'))return;return getAgent(_0x4fb132[_0x16ff('0x2a')]);})[_0x16ff('0x22')](function(_0x3fa32d){if(_0x3fa32d){_0x4fb132[_0x16ff('0x2c')]=util[_0x16ff('0x2d')](_0x16ff('0x2e'),_0x3fa32d[_0x16ff('0x2f')]);_0x4fb132['agent']=_0x3fa32d;_0x4fb132[_0x16ff('0x30')]=_0x508eaa;return request({'event':_0x16ff('0x31'),'message':_0x4fb132});}else{return request({'event':_0x16ff('0x32'),'message':_0x4fb132});}})[_0x16ff('0x1d')](function(_0x1bcb59){logger[_0x16ff('0x1b')](_0x16ff('0x1a'),_0x16ff('0x33'),_0x1bcb59);});};}function afterCreateOfflineMessage(_0x582bac){return function(_0x3271d6){_0x3271d6=_0x3271d6[_0x16ff('0x1e')]({'plain':!![]});_0x3271d6['channel']=_0x582bac;_0x3271d6['motionChannel']=_0x582bac;_0x3271d6['event']=_0x16ff('0x34');return request({'event':_0x3271d6[_0x16ff('0x1f')],'message':_0x3271d6});};}function afterCreate(_0x394025,_0x373010){return function(_0x594f4e){_0x594f4e=_0x594f4e[_0x16ff('0x1e')]({'plain':!![]});_0x594f4e[_0x16ff('0x30')]=_0x394025;_0x594f4e[_0x16ff('0x35')]=_0x394025;_0x594f4e[_0x16ff('0x1f')]='opened';Promise[_0x16ff('0x21')]()['then'](function(){var _0x1a9782=_0x16ff('0x24')+_0x594f4e[_0x16ff('0x23')];return db[_0x16ff('0x25')][_0x16ff('0x26')](_0x1a9782,{'type':db[_0x16ff('0x27')][_0x16ff('0x28')][_0x16ff('0x36')],'raw':!![]});})['then'](function(_0xc99cf){if(_0xc99cf){_0x594f4e['contact']=_0xc99cf[0x0];}if(typeof _0x594f4e['UserId']===_0x16ff('0x2b'))return;return getAgent(_0x594f4e['UserId']);})[_0x16ff('0x22')](function(_0x45f692){if(_0x45f692){_0x594f4e[_0x16ff('0x2c')]=util[_0x16ff('0x2d')](_0x16ff('0x2e'),_0x45f692[_0x16ff('0x2f')]);_0x594f4e[_0x16ff('0x37')]=_0x45f692;}return request({'event':_0x373010,'message':_0x594f4e});})[_0x16ff('0x1d')](function(_0x371c36){logger['error'](_0x16ff('0x1a'),_0x16ff('0x38'),_0x371c36);});};}function afterUpdate(_0x55ff17){return function(_0x564e24){var _0x49213a=_0x564e24[_0x16ff('0x39')]('closed')&&_0x564e24[_0x16ff('0x3a')];var _0x4c710f=_0x564e24['changed']('substatus');if(_0x49213a||_0x4c710f){var _0xe7f3e0=_0x49213a?'closedinteraction':_0x16ff('0x3b');var _0x1051ca=_0x564e24['get']({'plain':!![]});_0x1051ca[_0x16ff('0x30')]=_0x55ff17;_0x1051ca[_0x16ff('0x35')]=_0x55ff17;_0x1051ca[_0x16ff('0x1f')]=_0x49213a?_0x16ff('0x3a'):_0x16ff('0x3b');var _0x9484eb=_0x16ff('0x24')+_0x1051ca['ContactId'];return db[_0x16ff('0x25')]['query'](_0x9484eb,{'type':db[_0x16ff('0x27')]['QueryTypes'][_0x16ff('0x36')],'raw':!![]})[_0x16ff('0x22')](function(_0x446e2d){if(_0x446e2d){_0x1051ca['contact']=_0x446e2d[0x0];}if(typeof _0x1051ca['UserId']==='undefined')return;return getAgent(_0x1051ca[_0x16ff('0x2a')]);})[_0x16ff('0x22')](function(_0x2aad21){if(_0x2aad21){_0x1051ca[_0x16ff('0x2c')]=util[_0x16ff('0x2d')](_0x16ff('0x2e'),_0x2aad21[_0x16ff('0x2f')]);_0x1051ca['agent']=_0x2aad21;}return request({'event':_0xe7f3e0,'message':_0x1051ca});})[_0x16ff('0x1d')](function(_0x42d1c8){logger[_0x16ff('0x1b')](_0x16ff('0x1a'),_0x16ff('0x3c'),_0x42d1c8);});}};}function getAgent(_0x20a171){return db[_0x16ff('0x3d')][_0x16ff('0x3e')]({'where':{'id':_0x20a171},'attributes':['id','name',_0x16ff('0x3f'),_0x16ff('0x40'),_0x16ff('0x41')],'raw':!![]})[_0x16ff('0x22')](function(_0x20af05){return _0x20af05;});}exports['default']=function(){for(var _0x4af8fd=0x0;_0x4af8fd<triggers[_0x16ff('0x42')];_0x4af8fd+=0x1){if(db[_0x16ff('0x43')](triggers[_0x4af8fd][_0x16ff('0x44')])){db[triggers[_0x4af8fd][_0x16ff('0x44')]][_0x16ff('0x45')](triggers[_0x4af8fd][_0x16ff('0x1f')],triggers[_0x4af8fd][_0x16ff('0x46')](triggers[_0x4af8fd][_0x16ff('0x30')]['toLowerCase'](),triggers[_0x4af8fd][_0x16ff('0x47')]));}}};