Built motion from commit c116dc8b.|2.6.30
[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 _0x8bb9=['OpenchannelInteraction','OpenchannelMessage','request','then','Trigger,\x20%s','EventManager','error','code','channel','motionChannel','direction','resolve','ContactId','undefined','sequelize','QueryTypes','SELECT','UserId','interface','SIP/%s','agent','incomingmessage','outgoingmessage','catch','event','offlineMessage','get','opened','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','query','Sequelize','contact','format','name','changed','closed','substatus','AfterUpdate','fullname','email','internal','default','length','hasOwnProperty','model','hook','callback','toLowerCase','condition','util','jayson/promise','../logger','triggers','http','Chat','ChatInteraction','afterCreate','newinteraction','afterUpdate','closedinteraction','ChatMessage','newmessage','ChatOfflineMessage','Sms','SmsInteraction','Whatsapp','WhatsappInteraction','Fax','FaxInteraction','FaxMessage','Mail','MailInteraction','Openchannel'];(function(_0xa30766,_0x6f613e){var _0x24e780=function(_0x3d58fb){while(--_0x3d58fb){_0xa30766['push'](_0xa30766['shift']());}};_0x24e780(++_0x6f613e);}(_0x8bb9,0x19e));var _0x98bb=function(_0x1d0499,_0x23e22f){_0x1d0499=_0x1d0499-0x0;var _0x153fb3=_0x8bb9[_0x1d0499];return _0x153fb3;};'use strict';var util=require(_0x98bb('0x0'));var db=require('../../mysqldb')['db'];var jayson=require(_0x98bb('0x1'));var logger=require(_0x98bb('0x2'))(_0x98bb('0x3'));var client=jayson['client'][_0x98bb('0x4')]({'port':0x232a});var triggers=[{'channel':_0x98bb('0x5'),'model':_0x98bb('0x6'),'event':_0x98bb('0x7'),'condition':_0x98bb('0x8'),'callback':afterCreate},{'channel':_0x98bb('0x5'),'model':_0x98bb('0x6'),'event':_0x98bb('0x9'),'condition':_0x98bb('0xa'),'callback':afterUpdate},{'channel':_0x98bb('0x5'),'model':_0x98bb('0xb'),'event':_0x98bb('0x7'),'condition':_0x98bb('0xc'),'callback':afterCreateMessage},{'channel':_0x98bb('0x5'),'model':_0x98bb('0xd'),'event':_0x98bb('0x7'),'condition':_0x98bb('0xc'),'callback':afterCreateOfflineMessage},{'channel':_0x98bb('0xe'),'model':_0x98bb('0xf'),'event':_0x98bb('0x7'),'condition':_0x98bb('0x8'),'callback':afterCreate},{'channel':_0x98bb('0xe'),'model':_0x98bb('0xf'),'event':'afterUpdate','condition':_0x98bb('0xa'),'callback':afterUpdate},{'channel':_0x98bb('0xe'),'model':'SmsMessage','event':'afterCreate','condition':_0x98bb('0xc'),'callback':afterCreateMessage},{'channel':_0x98bb('0x10'),'model':_0x98bb('0x11'),'event':'afterCreate','condition':_0x98bb('0x8'),'callback':afterCreate},{'channel':_0x98bb('0x10'),'model':'WhatsappInteraction','event':_0x98bb('0x9'),'condition':_0x98bb('0xa'),'callback':afterUpdate},{'channel':'Whatsapp','model':'WhatsappMessage','event':'afterCreate','condition':'newmessage','callback':afterCreateMessage},{'channel':_0x98bb('0x12'),'model':_0x98bb('0x13'),'event':_0x98bb('0x7'),'condition':_0x98bb('0x8'),'callback':afterCreate},{'channel':_0x98bb('0x12'),'model':'FaxInteraction','event':_0x98bb('0x9'),'condition':_0x98bb('0xa'),'callback':afterUpdate},{'channel':'Fax','model':_0x98bb('0x14'),'event':'afterCreate','condition':_0x98bb('0xc'),'callback':afterCreateMessage},{'channel':_0x98bb('0x15'),'model':_0x98bb('0x16'),'event':_0x98bb('0x7'),'condition':_0x98bb('0x8'),'callback':afterCreate},{'channel':_0x98bb('0x15'),'model':'MailInteraction','event':_0x98bb('0x9'),'condition':_0x98bb('0xa'),'callback':afterUpdate},{'channel':'Mail','model':'MailMessage','event':_0x98bb('0x7'),'condition':_0x98bb('0xc'),'callback':afterCreateMessage},{'channel':_0x98bb('0x17'),'model':_0x98bb('0x18'),'event':'afterCreate','condition':_0x98bb('0x8'),'callback':afterCreate},{'channel':'Openchannel','model':_0x98bb('0x18'),'event':'afterUpdate','condition':_0x98bb('0xa'),'callback':afterUpdate},{'channel':_0x98bb('0x17'),'model':_0x98bb('0x19'),'event':_0x98bb('0x7'),'condition':_0x98bb('0xc'),'callback':afterCreateMessage}];function request(_0xa41135){return client[_0x98bb('0x1a')]('EventManager',_0xa41135)[_0x98bb('0x1b')](function(_0x55989c){logger['info'](_0x98bb('0x1c'),_0x98bb('0x1d'),_0x55989c);if(_0x55989c[_0x98bb('0x1e')]){if(_0x55989c[_0x98bb('0x1e')][_0x98bb('0x1f')]===0x1f4){logger['error'](_0x98bb('0x1c'),'EventManager',_0x55989c[_0x98bb('0x1e')]);}}})['catch'](function(_0x15f794){logger['error'](_0x98bb('0x1c'),_0x98bb('0x1d'),_0x15f794);});}function afterCreateMessage(_0x48eb92){return function(_0xf68f9e){_0xf68f9e=_0xf68f9e['get']({'plain':!![]});_0xf68f9e[_0x98bb('0x20')]=_0x48eb92;_0xf68f9e[_0x98bb('0x21')]=_0x48eb92;_0xf68f9e['event']=_0xf68f9e[_0x98bb('0x22')];Promise[_0x98bb('0x23')]()[_0x98bb('0x1b')](function(){if(typeof _0xf68f9e[_0x98bb('0x24')]===_0x98bb('0x25'))return null;var _0x4a84fc='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0xf68f9e[_0x98bb('0x24')];return db[_0x98bb('0x26')]['query'](_0x4a84fc,{'type':db['Sequelize'][_0x98bb('0x27')][_0x98bb('0x28')],'raw':!![]});})[_0x98bb('0x1b')](function(_0x5d8b0f){if(_0x5d8b0f){_0xf68f9e['contact']=_0x5d8b0f[0x0];}if(typeof _0xf68f9e['UserId']===_0x98bb('0x25'))return;return getAgent(_0xf68f9e[_0x98bb('0x29')]);})[_0x98bb('0x1b')](function(_0x4a1ace){if(_0x4a1ace){_0xf68f9e[_0x98bb('0x2a')]=util['format'](_0x98bb('0x2b'),_0x4a1ace['name']);_0xf68f9e[_0x98bb('0x2c')]=_0x4a1ace;_0xf68f9e[_0x98bb('0x20')]=_0x48eb92;return request({'event':_0x98bb('0x2d'),'message':_0xf68f9e});}else{return request({'event':_0x98bb('0x2e'),'message':_0xf68f9e});}})[_0x98bb('0x2f')](function(_0x1dcea0){logger[_0x98bb('0x1e')]('Trigger,\x20%s','AfterCreateMessage',_0x1dcea0);});};}function afterCreateOfflineMessage(_0x365936){return function(_0x7f2d51){_0x7f2d51=_0x7f2d51['get']({'plain':!![]});_0x7f2d51['channel']=_0x365936;_0x7f2d51[_0x98bb('0x21')]=_0x365936;_0x7f2d51[_0x98bb('0x30')]=_0x98bb('0x31');return request({'event':_0x7f2d51[_0x98bb('0x30')],'message':_0x7f2d51});};}function afterCreate(_0x1b7832,_0x373cc3){return function(_0x36bf6c){_0x36bf6c=_0x36bf6c[_0x98bb('0x32')]({'plain':!![]});_0x36bf6c[_0x98bb('0x20')]=_0x1b7832;_0x36bf6c[_0x98bb('0x21')]=_0x1b7832;_0x36bf6c[_0x98bb('0x30')]=_0x98bb('0x33');Promise['resolve']()[_0x98bb('0x1b')](function(){var _0x5b5f5f=_0x98bb('0x34')+_0x36bf6c[_0x98bb('0x24')];return db[_0x98bb('0x26')][_0x98bb('0x35')](_0x5b5f5f,{'type':db[_0x98bb('0x36')][_0x98bb('0x27')]['SELECT'],'raw':!![]});})['then'](function(_0x2a1b29){if(_0x2a1b29){_0x36bf6c[_0x98bb('0x37')]=_0x2a1b29[0x0];}if(typeof _0x36bf6c[_0x98bb('0x29')]===_0x98bb('0x25'))return;return getAgent(_0x36bf6c[_0x98bb('0x29')]);})['then'](function(_0x53bb9a){if(_0x53bb9a){_0x36bf6c[_0x98bb('0x2a')]=util[_0x98bb('0x38')](_0x98bb('0x2b'),_0x53bb9a[_0x98bb('0x39')]);_0x36bf6c[_0x98bb('0x2c')]=_0x53bb9a;}return request({'event':_0x373cc3,'message':_0x36bf6c});})[_0x98bb('0x2f')](function(_0x2b8d5b){logger['error'](_0x98bb('0x1c'),'AfterCreate',_0x2b8d5b);});};}function afterUpdate(_0x58417e){return function(_0x2f76c1){var _0x3ba955=_0x2f76c1[_0x98bb('0x3a')](_0x98bb('0x3b'))&&_0x2f76c1[_0x98bb('0x3b')];var _0x573bdc=_0x2f76c1[_0x98bb('0x3a')](_0x98bb('0x3c'));if(_0x3ba955||_0x573bdc){var _0x20f0a5=_0x3ba955?'closedinteraction':_0x98bb('0x3c');var _0x305d8d=_0x2f76c1['get']({'plain':!![]});_0x305d8d[_0x98bb('0x20')]=_0x58417e;_0x305d8d[_0x98bb('0x21')]=_0x58417e;_0x305d8d[_0x98bb('0x30')]=_0x3ba955?_0x98bb('0x3b'):'substatus';var _0x1b4349=_0x98bb('0x34')+_0x305d8d[_0x98bb('0x24')];return db[_0x98bb('0x26')]['query'](_0x1b4349,{'type':db[_0x98bb('0x36')]['QueryTypes'][_0x98bb('0x28')],'raw':!![]})[_0x98bb('0x1b')](function(_0x6da0e2){if(_0x6da0e2){_0x305d8d[_0x98bb('0x37')]=_0x6da0e2[0x0];}if(typeof _0x305d8d[_0x98bb('0x29')]===_0x98bb('0x25'))return;return getAgent(_0x305d8d[_0x98bb('0x29')]);})['then'](function(_0xc682ac){if(_0xc682ac){_0x305d8d['interface']=util['format'](_0x98bb('0x2b'),_0xc682ac[_0x98bb('0x39')]);_0x305d8d['agent']=_0xc682ac;}return request({'event':_0x20f0a5,'message':_0x305d8d});})['catch'](function(_0x433dd9){logger[_0x98bb('0x1e')](_0x98bb('0x1c'),_0x98bb('0x3d'),_0x433dd9);});}};}function getAgent(_0x302040){return db['User']['find']({'where':{'id':_0x302040},'attributes':['id',_0x98bb('0x39'),_0x98bb('0x3e'),_0x98bb('0x3f'),_0x98bb('0x40')],'raw':!![]})[_0x98bb('0x1b')](function(_0x59c53e){return _0x59c53e;});}exports[_0x98bb('0x41')]=function(){for(var _0x1a6dff=0x0;_0x1a6dff<triggers[_0x98bb('0x42')];_0x1a6dff+=0x1){if(db[_0x98bb('0x43')](triggers[_0x1a6dff][_0x98bb('0x44')])){db[triggers[_0x1a6dff][_0x98bb('0x44')]][_0x98bb('0x45')](triggers[_0x1a6dff][_0x98bb('0x30')],triggers[_0x1a6dff][_0x98bb('0x46')](triggers[_0x1a6dff][_0x98bb('0x20')][_0x98bb('0x47')](),triggers[_0x1a6dff][_0x98bb('0x48')]));}}};