Built motion from commit b0a9a629.|2.6.33
[motion2.git] / server / api / dashboardItem / dashboardItem.controller.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 _0x304b=['then','error','stack','name','send','params','model','keys','rawAttributes','query','filters','intersection','fields','attributes','length','includeAll','include','merge','options','DashboardItem','find','catch','destroy','attrUrl','attrs','value','https://','custom','attrPath','clock','attrTimezone','0.00','attrFontSize','attrMetric','total','attrVoiceQueues','attrChannel','voice','attrEmailAccounts','attrFaxAccounts','attrSmsAccounts','attrOpenchannelAccounts','attrWhatsappAccounts','attrChatWebsites','pie-chart','attrSerie1','attrSerie2','attrSerie3','web-report','attrReport','reportType','type','attrRefresh','widgetAttributes:\x20%s','create','body','update','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./dashboardItem.socket','register','sendStatus','status','end','json','offset','undefined','limit','set','apply'];(function(_0x564f9d,_0x119788){var _0x33859a=function(_0x3aeff1){while(--_0x3aeff1){_0x564f9d['push'](_0x564f9d['shift']());}};_0x33859a(++_0x119788);}(_0x304b,0xfb));var _0xb304=function(_0x1cc4c7,_0x21b48b){_0x1cc4c7=_0x1cc4c7-0x0;var _0x46b3c8=_0x304b[_0x1cc4c7];return _0x46b3c8;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb304('0x0'));var zipdir=require(_0xb304('0x1'));var jsonpatch=require(_0xb304('0x2'));var rp=require(_0xb304('0x3'));var moment=require(_0xb304('0x4'));var BPromise=require(_0xb304('0x5'));var Mustache=require(_0xb304('0x6'));var util=require(_0xb304('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xb304('0x8'));var ejs=require(_0xb304('0x9'));var fs=require('fs');var fs_extra=require(_0xb304('0xa'));var _=require(_0xb304('0xb'));var squel=require(_0xb304('0xc'));var crypto=require(_0xb304('0xd'));var jsforce=require(_0xb304('0xe'));var deskjs=require(_0xb304('0xf'));var toCsv=require(_0xb304('0x8'));var querystring=require('querystring');var Papa=require(_0xb304('0x10'));var Redis=require(_0xb304('0x11'));var authService=require(_0xb304('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xb304('0x13'));var hardwareService=require(_0xb304('0x14'));var logger=require(_0xb304('0x15'))(_0xb304('0x16'));var utils=require(_0xb304('0x17'));var config=require(_0xb304('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xb304('0x19'))['db'];config[_0xb304('0x1a')]=_[_0xb304('0x1b')](config[_0xb304('0x1a')],{'host':'localhost','port':0x18eb});var socket=require(_0xb304('0x1c'))(new Redis(config[_0xb304('0x1a')]));require(_0xb304('0x1d'))[_0xb304('0x1e')](socket);function respondWithStatusCode(_0x1ba608,_0x40e646){_0x40e646=_0x40e646||0xcc;return function(_0x116b86){if(_0x116b86){return _0x1ba608[_0xb304('0x1f')](_0x40e646);}return _0x1ba608[_0xb304('0x20')](_0x40e646)[_0xb304('0x21')]();};}function respondWithResult(_0x3d20b5,_0x3be8cb){_0x3be8cb=_0x3be8cb||0xc8;return function(_0x1252cb){if(_0x1252cb){return _0x3d20b5['status'](_0x3be8cb)[_0xb304('0x22')](_0x1252cb);}};}function respondWithFilteredResult(_0x5166c5,_0x522fca){return function(_0x79ca93){if(_0x79ca93){var _0x197bc7=typeof _0x522fca[_0xb304('0x23')]===_0xb304('0x24')&&typeof _0x522fca[_0xb304('0x25')]==='undefined';var _0x272b37=_0x79ca93['count'];var _0x4318b3=_0x197bc7?0x0:_0x522fca[_0xb304('0x23')];var _0x482850=_0x197bc7?_0x79ca93['count']:_0x522fca['offset']+_0x522fca[_0xb304('0x25')];var _0x1dab9e;if(_0x482850>=_0x272b37){_0x482850=_0x272b37;_0x1dab9e=0xc8;}else{_0x1dab9e=0xce;}_0x5166c5[_0xb304('0x20')](_0x1dab9e);return _0x5166c5[_0xb304('0x26')]('Content-Range',_0x4318b3+'-'+_0x482850+'/'+_0x272b37)[_0xb304('0x22')](_0x79ca93);}return null;};}function patchUpdates(_0x3694c4){return function(_0x3f5226){try{jsonpatch[_0xb304('0x27')](_0x3f5226,_0x3694c4,!![]);}catch(_0x4f10ab){return BPromise['reject'](_0x4f10ab);}return _0x3f5226['save']();};}function saveUpdates(_0x2fd41b,_0x4a16eb){return function(_0x40c7d7){if(_0x40c7d7){return _0x40c7d7['update'](_0x2fd41b)[_0xb304('0x28')](function(_0x148f48){return _0x148f48;});}return null;};}function removeEntity(_0x2b5271,_0x4de541){return function(_0x13b9fa){if(_0x13b9fa){return _0x13b9fa['destroy']()[_0xb304('0x28')](function(){_0x2b5271['status'](0xcc)[_0xb304('0x21')]();});}};}function handleEntityNotFound(_0x2e3d0d,_0x58971a){return function(_0x57d706){if(!_0x57d706){_0x2e3d0d[_0xb304('0x1f')](0x194);}return _0x57d706;};}function handleError(_0x25e77b,_0x2af69a){_0x2af69a=_0x2af69a||0x1f4;return function(_0xdfe560){logger[_0xb304('0x29')](_0xdfe560[_0xb304('0x2a')]);if(_0xdfe560[_0xb304('0x2b')]){delete _0xdfe560[_0xb304('0x2b')];}_0x25e77b[_0xb304('0x20')](_0x2af69a)[_0xb304('0x2c')](_0xdfe560);};}exports['show']=function(_0x2d6b13,_0xeba658){var _0x530c78={'raw':![],'where':{'id':_0x2d6b13[_0xb304('0x2d')]['id']}},_0x4d7241={};_0x4d7241[_0xb304('0x2e')]=_[_0xb304('0x2f')](db['DashboardItem'][_0xb304('0x30')]);_0x4d7241[_0xb304('0x31')]=_['keys'](_0x2d6b13[_0xb304('0x31')]);_0x4d7241[_0xb304('0x32')]=_[_0xb304('0x33')](_0x4d7241[_0xb304('0x2e')],_0x4d7241[_0xb304('0x31')]);_0x530c78['attributes']=_[_0xb304('0x33')](_0x4d7241[_0xb304('0x2e')],qs[_0xb304('0x34')](_0x2d6b13[_0xb304('0x31')][_0xb304('0x34')]));_0x530c78[_0xb304('0x35')]=_0x530c78[_0xb304('0x35')][_0xb304('0x36')]?_0x530c78[_0xb304('0x35')]:_0x4d7241[_0xb304('0x2e')];if(_0x2d6b13[_0xb304('0x31')][_0xb304('0x37')]){_0x530c78[_0xb304('0x38')]=[{'all':!![]}];}_0x530c78=_[_0xb304('0x39')]({},_0x530c78,_0x2d6b13[_0xb304('0x3a')]);return db[_0xb304('0x3b')][_0xb304('0x3c')](_0x530c78)[_0xb304('0x28')](handleEntityNotFound(_0xeba658,null))['then'](respondWithResult(_0xeba658,null))[_0xb304('0x3d')](handleError(_0xeba658,null));};exports[_0xb304('0x3e')]=function(_0x48715b,_0x3c81ec){return db['DashboardItem'][_0xb304('0x3c')]({'where':{'id':_0x48715b[_0xb304('0x2d')]['id']}})[_0xb304('0x28')](handleEntityNotFound(_0x3c81ec,null))[_0xb304('0x28')](removeEntity(_0x3c81ec,null))['catch'](handleError(_0x3c81ec,null));};function widgetAttributes(_0x2757a9){try{switch(_0x2757a9['type']){case'iframe':return[{'name':_0xb304('0x3f'),'value':_0x2757a9[_0xb304('0x3f')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9['attrs'][0x0]?_0x2757a9['attrs'][0x0][_0xb304('0x41')]:undefined)||_0xb304('0x42')}];case _0xb304('0x43'):return[{'name':_0xb304('0x44'),'value':_0x2757a9[_0xb304('0x44')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9['attrs'][0x0]?_0x2757a9[_0xb304('0x40')][0x0][_0xb304('0x41')]:undefined)||''}];case _0xb304('0x45'):return[{'name':'attrHourFormat','value':_0x2757a9['attrHourFormat']||(_0x2757a9['attrs']&&_0x2757a9['attrs'][0x0]?_0x2757a9[_0xb304('0x40')][0x0][_0xb304('0x41')]:undefined)||'HH:mm:ss'},{'name':_0xb304('0x46'),'value':_0x2757a9[_0xb304('0x46')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x1]?_0x2757a9[_0xb304('0x40')][0x1][_0xb304('0x41')]:undefined)||_0xb304('0x47')},{'name':_0xb304('0x48'),'value':_0x2757a9[_0xb304('0x48')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x2]?_0x2757a9[_0xb304('0x40')][0x2][_0xb304('0x41')]:undefined)||0xc}];case'counter':return[{'name':_0xb304('0x49'),'value':_0x2757a9[_0xb304('0x49')]||(_0x2757a9['attrs']&&_0x2757a9[_0xb304('0x40')][0x0]?_0x2757a9['attrs'][0x0]['value']:undefined)||_0xb304('0x4a')},{'name':'attrVoiceQueues','value':_0x2757a9[_0xb304('0x4b')]||(_0x2757a9['attrs']&&_0x2757a9[_0xb304('0x40')][0x1]?_0x2757a9[_0xb304('0x40')][0x1][_0xb304('0x41')]:undefined)||[]},{'name':_0xb304('0x48'),'value':_0x2757a9['attrFontSize']||(_0x2757a9['attrs']&&_0x2757a9[_0xb304('0x40')][0x2]?_0x2757a9[_0xb304('0x40')][0x2]['value']:undefined)||0x14},{'name':_0xb304('0x4c'),'value':_0x2757a9['attrChannel']||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x3]?_0x2757a9[_0xb304('0x40')][0x3][_0xb304('0x41')]:undefined)||_0xb304('0x4d')},{'name':_0xb304('0x4e'),'value':_0x2757a9[_0xb304('0x4e')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9['attrs'][0x4]?_0x2757a9[_0xb304('0x40')][0x4][_0xb304('0x41')]:undefined)||''},{'name':_0xb304('0x4f'),'value':_0x2757a9[_0xb304('0x4f')]||(_0x2757a9['attrs']&&_0x2757a9[_0xb304('0x40')][0x5]?_0x2757a9[_0xb304('0x40')][0x5][_0xb304('0x41')]:undefined)||''},{'name':_0xb304('0x50'),'value':_0x2757a9[_0xb304('0x50')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x6]?_0x2757a9[_0xb304('0x40')][0x6][_0xb304('0x41')]:undefined)||''},{'name':_0xb304('0x51'),'value':_0x2757a9[_0xb304('0x51')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x7]?_0x2757a9[_0xb304('0x40')][0x7][_0xb304('0x41')]:undefined)||''},{'name':_0xb304('0x52'),'value':_0x2757a9[_0xb304('0x52')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x8]?_0x2757a9[_0xb304('0x40')][0x8][_0xb304('0x41')]:undefined)||''},{'name':_0xb304('0x53'),'value':_0x2757a9[_0xb304('0x53')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x9]?_0x2757a9['attrs'][0x9][_0xb304('0x41')]:undefined)||''}];case'multibar-chart':case _0xb304('0x54'):return[{'name':_0xb304('0x55'),'value':_0x2757a9['attrSerie1']||(_0x2757a9['attrs']&&_0x2757a9['attrs'][0x0]?_0x2757a9[_0xb304('0x40')][0x0][_0xb304('0x41')]:undefined)||_0xb304('0x4a')},{'name':_0xb304('0x56'),'value':_0x2757a9['attrSerie2']||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x1]?_0x2757a9['attrs'][0x1][_0xb304('0x41')]:undefined)||null},{'name':_0xb304('0x57'),'value':_0x2757a9['attrSerie3']||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x2]?_0x2757a9[_0xb304('0x40')][0x2][_0xb304('0x41')]:undefined)||null},{'name':'attrVoiceQueues','value':_0x2757a9[_0xb304('0x4b')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x3]?_0x2757a9[_0xb304('0x40')][0x3][_0xb304('0x41')]:undefined)||[]},{'name':_0xb304('0x4c'),'value':_0x2757a9[_0xb304('0x4c')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x4]?_0x2757a9[_0xb304('0x40')][0x4][_0xb304('0x41')]:undefined)||'voice'},{'name':_0xb304('0x4e'),'value':_0x2757a9[_0xb304('0x4e')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x5]?_0x2757a9[_0xb304('0x40')][0x5]['value']:undefined)||''},{'name':_0xb304('0x4f'),'value':_0x2757a9[_0xb304('0x4f')]||(_0x2757a9['attrs']&&_0x2757a9['attrs'][0x6]?_0x2757a9['attrs'][0x6]['value']:undefined)||''},{'name':_0xb304('0x50'),'value':_0x2757a9['attrSmsAccounts']||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x7]?_0x2757a9['attrs'][0x7][_0xb304('0x41')]:undefined)||''},{'name':_0xb304('0x51'),'value':_0x2757a9[_0xb304('0x51')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x8]?_0x2757a9[_0xb304('0x40')][0x8][_0xb304('0x41')]:undefined)||''},{'name':'attrWhatsappAccounts','value':_0x2757a9[_0xb304('0x52')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x9]?_0x2757a9['attrs'][0x9][_0xb304('0x41')]:undefined)||''},{'name':_0xb304('0x53'),'value':_0x2757a9[_0xb304('0x53')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0xa]?_0x2757a9[_0xb304('0x40')][0xa]['value']:undefined)||''}];case _0xb304('0x58'):return[{'name':_0xb304('0x59'),'type':_0x2757a9[_0xb304('0x5a')]||(_0x2757a9['attrs']&&_0x2757a9['attrs'][0x0]?_0x2757a9[_0xb304('0x40')][0x0][_0xb304('0x5b')]:undefined)||null,'value':_0x2757a9[_0xb304('0x59')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9[_0xb304('0x40')][0x0]?_0x2757a9[_0xb304('0x40')][0x0][_0xb304('0x41')]:undefined)||null},{'name':_0xb304('0x5c'),'value':_0x2757a9[_0xb304('0x5c')]||(_0x2757a9[_0xb304('0x40')]&&_0x2757a9['attrs'][0x1]?_0x2757a9[_0xb304('0x40')][0x1]['value']:undefined)||0x0}];default:return[];}}catch(_0x11b47b){logger[_0xb304('0x29')](_0xb304('0x5d'),JSON['stringify'](_0x11b47b));return[];}}exports[_0xb304('0x5e')]=function(_0x304408,_0x2afb42){if(_0x304408[_0xb304('0x5f')]){_0x304408[_0xb304('0x5f')][_0xb304('0x40')]=widgetAttributes(_0x304408[_0xb304('0x5f')]);}return db['DashboardItem'][_0xb304('0x5e')](_0x304408[_0xb304('0x5f')],{})[_0xb304('0x28')](respondWithResult(_0x2afb42,0xc9))['catch'](handleError(_0x2afb42,null));};exports[_0xb304('0x60')]=function(_0x4d8091,_0x779162){if(_0x4d8091[_0xb304('0x5f')]['id']){delete _0x4d8091[_0xb304('0x5f')]['id'];}_0x4d8091[_0xb304('0x5f')]['attrs']=widgetAttributes(_0x4d8091['body']);return db[_0xb304('0x3b')]['find']({'where':{'id':_0x4d8091[_0xb304('0x2d')]['id']}})[_0xb304('0x28')](handleEntityNotFound(_0x779162,null))[_0xb304('0x28')](saveUpdates(_0x4d8091[_0xb304('0x5f')],null))[_0xb304('0x28')](respondWithResult(_0x779162,null))[_0xb304('0x3d')](handleError(_0x779162,null));};