Built motion from commit d5e4af8c.|2.6.23
[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 _0x9bb8=['attrFaxAccounts','attrSmsAccounts','attrOpenchannelAccounts','attrWhatsappAccounts','pie-chart','total','attrSerie3','attrChatWebsites','web-report','attrReport','reportType','attrRefresh','widgetAttributes:\x20%s','stringify','create','body','catch','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','register','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','send','show','params','model','DashboardItem','rawAttributes','query','keys','intersection','attributes','fields','length','includeAll','include','merge','options','type','iframe','attrUrl','attrs','value','https://','attrPath','clock','attrHourFormat','attrTimezone','0.00','attrFontSize','counter','attrMetric','attrVoiceQueues','attrChannel','voice','attrEmailAccounts'];(function(_0x3bab18,_0x53d735){var _0x12585f=function(_0x6cb5c4){while(--_0x6cb5c4){_0x3bab18['push'](_0x3bab18['shift']());}};_0x12585f(++_0x53d735);}(_0x9bb8,0x1ae));var _0x89bb=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x9bb8[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x89bb('0x0'));var rimraf=require(_0x89bb('0x1'));var zipdir=require(_0x89bb('0x2'));var jsonpatch=require(_0x89bb('0x3'));var rp=require(_0x89bb('0x4'));var moment=require(_0x89bb('0x5'));var BPromise=require(_0x89bb('0x6'));var Mustache=require(_0x89bb('0x7'));var util=require(_0x89bb('0x8'));var path=require(_0x89bb('0x9'));var sox=require(_0x89bb('0xa'));var csv=require(_0x89bb('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x89bb('0xc'));var _=require(_0x89bb('0xd'));var squel=require(_0x89bb('0xe'));var crypto=require(_0x89bb('0xf'));var jsforce=require(_0x89bb('0x10'));var deskjs=require(_0x89bb('0x11'));var toCsv=require('to-csv');var querystring=require(_0x89bb('0x12'));var Papa=require(_0x89bb('0x13'));var Redis=require('ioredis');var authService=require(_0x89bb('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0x89bb('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x89bb('0x16'))('api');var utils=require(_0x89bb('0x17'));var config=require(_0x89bb('0x18'));var licenseUtil=require(_0x89bb('0x19'));var db=require(_0x89bb('0x1a'))['db'];config['redis']=_[_0x89bb('0x1b')](config[_0x89bb('0x1c')],{'host':_0x89bb('0x1d'),'port':0x18eb});var socket=require(_0x89bb('0x1e'))(new Redis(config['redis']));require('./dashboardItem.socket')[_0x89bb('0x1f')](socket);function respondWithStatusCode(_0x2de474,_0x25cbb9){_0x25cbb9=_0x25cbb9||0xcc;return function(_0x228056){if(_0x228056){return _0x2de474[_0x89bb('0x20')](_0x25cbb9);}return _0x2de474[_0x89bb('0x21')](_0x25cbb9)['end']();};}function respondWithResult(_0x8b96d,_0x14def2){_0x14def2=_0x14def2||0xc8;return function(_0x5a45c8){if(_0x5a45c8){return _0x8b96d[_0x89bb('0x21')](_0x14def2)[_0x89bb('0x22')](_0x5a45c8);}};}function respondWithFilteredResult(_0x1ff3b5,_0x39fac5){return function(_0x310e3d){if(_0x310e3d){var _0x58f826=typeof _0x39fac5[_0x89bb('0x23')]===_0x89bb('0x24')&&typeof _0x39fac5[_0x89bb('0x25')]===_0x89bb('0x24');var _0x6dd873=_0x310e3d[_0x89bb('0x26')];var _0x41880f=_0x58f826?0x0:_0x39fac5[_0x89bb('0x23')];var _0x239657=_0x58f826?_0x310e3d[_0x89bb('0x26')]:_0x39fac5['offset']+_0x39fac5[_0x89bb('0x25')];var _0x3b8dc4;if(_0x239657>=_0x6dd873){_0x239657=_0x6dd873;_0x3b8dc4=0xc8;}else{_0x3b8dc4=0xce;}_0x1ff3b5[_0x89bb('0x21')](_0x3b8dc4);return _0x1ff3b5[_0x89bb('0x27')](_0x89bb('0x28'),_0x41880f+'-'+_0x239657+'/'+_0x6dd873)[_0x89bb('0x22')](_0x310e3d);}return null;};}function patchUpdates(_0x4f2f49){return function(_0x38d1f7){try{jsonpatch[_0x89bb('0x29')](_0x38d1f7,_0x4f2f49,!![]);}catch(_0x3e6f3d){return BPromise[_0x89bb('0x2a')](_0x3e6f3d);}return _0x38d1f7[_0x89bb('0x2b')]();};}function saveUpdates(_0x7fec2c,_0x141e70){return function(_0x308726){if(_0x308726){return _0x308726[_0x89bb('0x2c')](_0x7fec2c)[_0x89bb('0x2d')](function(_0x4c25f6){return _0x4c25f6;});}return null;};}function removeEntity(_0x59fac8,_0x22ef81){return function(_0x1597b2){if(_0x1597b2){return _0x1597b2[_0x89bb('0x2e')]()[_0x89bb('0x2d')](function(){_0x59fac8[_0x89bb('0x21')](0xcc)[_0x89bb('0x2f')]();});}};}function handleEntityNotFound(_0x5082af,_0x8ef56d){return function(_0x34b852){if(!_0x34b852){_0x5082af[_0x89bb('0x20')](0x194);}return _0x34b852;};}function handleError(_0x372103,_0x26403f){_0x26403f=_0x26403f||0x1f4;return function(_0x4fc489){logger[_0x89bb('0x30')](_0x4fc489[_0x89bb('0x31')]);if(_0x4fc489[_0x89bb('0x32')]){delete _0x4fc489['name'];}_0x372103[_0x89bb('0x21')](_0x26403f)[_0x89bb('0x33')](_0x4fc489);};}exports[_0x89bb('0x34')]=function(_0x1f2a2e,_0x56284d){var _0x40c0d2={'raw':![],'where':{'id':_0x1f2a2e[_0x89bb('0x35')]['id']}},_0x577515={};_0x577515[_0x89bb('0x36')]=_['keys'](db[_0x89bb('0x37')][_0x89bb('0x38')]);_0x577515[_0x89bb('0x39')]=_[_0x89bb('0x3a')](_0x1f2a2e[_0x89bb('0x39')]);_0x577515['filters']=_[_0x89bb('0x3b')](_0x577515[_0x89bb('0x36')],_0x577515[_0x89bb('0x39')]);_0x40c0d2[_0x89bb('0x3c')]=_['intersection'](_0x577515[_0x89bb('0x36')],qs[_0x89bb('0x3d')](_0x1f2a2e[_0x89bb('0x39')]['fields']));_0x40c0d2[_0x89bb('0x3c')]=_0x40c0d2[_0x89bb('0x3c')][_0x89bb('0x3e')]?_0x40c0d2[_0x89bb('0x3c')]:_0x577515[_0x89bb('0x36')];if(_0x1f2a2e[_0x89bb('0x39')][_0x89bb('0x3f')]){_0x40c0d2[_0x89bb('0x40')]=[{'all':!![]}];}_0x40c0d2=_[_0x89bb('0x41')]({},_0x40c0d2,_0x1f2a2e[_0x89bb('0x42')]);return db[_0x89bb('0x37')]['find'](_0x40c0d2)[_0x89bb('0x2d')](handleEntityNotFound(_0x56284d,null))[_0x89bb('0x2d')](respondWithResult(_0x56284d,null))['catch'](handleError(_0x56284d,null));};exports[_0x89bb('0x2e')]=function(_0x1c6f7f,_0x5761b3){return db['DashboardItem']['find']({'where':{'id':_0x1c6f7f[_0x89bb('0x35')]['id']}})['then'](handleEntityNotFound(_0x5761b3,null))['then'](removeEntity(_0x5761b3,null))['catch'](handleError(_0x5761b3,null));};function widgetAttributes(_0x3a75e1){try{switch(_0x3a75e1[_0x89bb('0x43')]){case _0x89bb('0x44'):return[{'name':'attrUrl','value':_0x3a75e1[_0x89bb('0x45')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x0]?_0x3a75e1[_0x89bb('0x46')][0x0][_0x89bb('0x47')]:undefined)||_0x89bb('0x48')}];case'custom':return[{'name':_0x89bb('0x49'),'value':_0x3a75e1[_0x89bb('0x49')]||(_0x3a75e1['attrs']&&_0x3a75e1[_0x89bb('0x46')][0x0]?_0x3a75e1[_0x89bb('0x46')][0x0][_0x89bb('0x47')]:undefined)||''}];case _0x89bb('0x4a'):return[{'name':_0x89bb('0x4b'),'value':_0x3a75e1[_0x89bb('0x4b')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x0]?_0x3a75e1[_0x89bb('0x46')][0x0]['value']:undefined)||'HH:mm:ss'},{'name':_0x89bb('0x4c'),'value':_0x3a75e1[_0x89bb('0x4c')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x1]?_0x3a75e1[_0x89bb('0x46')][0x1]['value']:undefined)||_0x89bb('0x4d')},{'name':_0x89bb('0x4e'),'value':_0x3a75e1[_0x89bb('0x4e')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x2]?_0x3a75e1['attrs'][0x2]['value']:undefined)||0xc}];case _0x89bb('0x4f'):return[{'name':_0x89bb('0x50'),'value':_0x3a75e1[_0x89bb('0x50')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x0]?_0x3a75e1[_0x89bb('0x46')][0x0][_0x89bb('0x47')]:undefined)||'total'},{'name':_0x89bb('0x51'),'value':_0x3a75e1['attrVoiceQueues']||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x1]?_0x3a75e1[_0x89bb('0x46')][0x1][_0x89bb('0x47')]:undefined)||[]},{'name':_0x89bb('0x4e'),'value':_0x3a75e1[_0x89bb('0x4e')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x2]?_0x3a75e1[_0x89bb('0x46')][0x2]['value']:undefined)||0x14},{'name':_0x89bb('0x52'),'value':_0x3a75e1[_0x89bb('0x52')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x3]?_0x3a75e1['attrs'][0x3]['value']:undefined)||_0x89bb('0x53')},{'name':'attrEmailAccounts','value':_0x3a75e1[_0x89bb('0x54')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x4]?_0x3a75e1[_0x89bb('0x46')][0x4]['value']:undefined)||''},{'name':_0x89bb('0x55'),'value':_0x3a75e1[_0x89bb('0x55')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x5]?_0x3a75e1[_0x89bb('0x46')][0x5][_0x89bb('0x47')]:undefined)||''},{'name':_0x89bb('0x56'),'value':_0x3a75e1[_0x89bb('0x56')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1['attrs'][0x6]?_0x3a75e1[_0x89bb('0x46')][0x6][_0x89bb('0x47')]:undefined)||''},{'name':_0x89bb('0x57'),'value':_0x3a75e1['attrOpenchannelAccounts']||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x7]?_0x3a75e1['attrs'][0x7][_0x89bb('0x47')]:undefined)||''},{'name':_0x89bb('0x58'),'value':_0x3a75e1[_0x89bb('0x58')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x8]?_0x3a75e1[_0x89bb('0x46')][0x8][_0x89bb('0x47')]:undefined)||''},{'name':'attrChatWebsites','value':_0x3a75e1['attrChatWebsites']||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x9]?_0x3a75e1['attrs'][0x9][_0x89bb('0x47')]:undefined)||''}];case'multibar-chart':case _0x89bb('0x59'):return[{'name':'attrSerie1','value':_0x3a75e1['attrSerie1']||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x0]?_0x3a75e1['attrs'][0x0][_0x89bb('0x47')]:undefined)||_0x89bb('0x5a')},{'name':'attrSerie2','value':_0x3a75e1['attrSerie2']||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x1]?_0x3a75e1[_0x89bb('0x46')][0x1]['value']:undefined)||null},{'name':'attrSerie3','value':_0x3a75e1[_0x89bb('0x5b')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x2]?_0x3a75e1[_0x89bb('0x46')][0x2][_0x89bb('0x47')]:undefined)||null},{'name':_0x89bb('0x51'),'value':_0x3a75e1[_0x89bb('0x51')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1['attrs'][0x3]?_0x3a75e1[_0x89bb('0x46')][0x3]['value']:undefined)||[]},{'name':'attrChannel','value':_0x3a75e1[_0x89bb('0x52')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x4]?_0x3a75e1[_0x89bb('0x46')][0x4]['value']:undefined)||'voice'},{'name':_0x89bb('0x54'),'value':_0x3a75e1[_0x89bb('0x54')]||(_0x3a75e1['attrs']&&_0x3a75e1[_0x89bb('0x46')][0x5]?_0x3a75e1[_0x89bb('0x46')][0x5]['value']:undefined)||''},{'name':_0x89bb('0x55'),'value':_0x3a75e1['attrFaxAccounts']||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1[_0x89bb('0x46')][0x6]?_0x3a75e1['attrs'][0x6][_0x89bb('0x47')]:undefined)||''},{'name':_0x89bb('0x56'),'value':_0x3a75e1[_0x89bb('0x56')]||(_0x3a75e1['attrs']&&_0x3a75e1['attrs'][0x7]?_0x3a75e1[_0x89bb('0x46')][0x7]['value']:undefined)||''},{'name':_0x89bb('0x57'),'value':_0x3a75e1[_0x89bb('0x57')]||(_0x3a75e1['attrs']&&_0x3a75e1[_0x89bb('0x46')][0x8]?_0x3a75e1[_0x89bb('0x46')][0x8]['value']:undefined)||''},{'name':_0x89bb('0x58'),'value':_0x3a75e1[_0x89bb('0x58')]||(_0x3a75e1['attrs']&&_0x3a75e1['attrs'][0x9]?_0x3a75e1[_0x89bb('0x46')][0x9][_0x89bb('0x47')]:undefined)||''},{'name':_0x89bb('0x5c'),'value':_0x3a75e1[_0x89bb('0x5c')]||(_0x3a75e1['attrs']&&_0x3a75e1[_0x89bb('0x46')][0xa]?_0x3a75e1[_0x89bb('0x46')][0xa][_0x89bb('0x47')]:undefined)||''}];case _0x89bb('0x5d'):return[{'name':_0x89bb('0x5e'),'type':_0x3a75e1[_0x89bb('0x5f')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1['attrs'][0x0]?_0x3a75e1[_0x89bb('0x46')][0x0][_0x89bb('0x43')]:undefined)||null,'value':_0x3a75e1[_0x89bb('0x5e')]||(_0x3a75e1[_0x89bb('0x46')]&&_0x3a75e1['attrs'][0x0]?_0x3a75e1['attrs'][0x0][_0x89bb('0x47')]:undefined)||null},{'name':'attrRefresh','value':_0x3a75e1[_0x89bb('0x60')]||(_0x3a75e1['attrs']&&_0x3a75e1[_0x89bb('0x46')][0x1]?_0x3a75e1[_0x89bb('0x46')][0x1]['value']:undefined)||0x0}];default:return[];}}catch(_0x1529a8){logger[_0x89bb('0x30')](_0x89bb('0x61'),JSON[_0x89bb('0x62')](_0x1529a8));return[];}}exports[_0x89bb('0x63')]=function(_0x2a186e,_0x110345){if(_0x2a186e[_0x89bb('0x64')]){_0x2a186e[_0x89bb('0x64')][_0x89bb('0x46')]=widgetAttributes(_0x2a186e[_0x89bb('0x64')]);}return db[_0x89bb('0x37')][_0x89bb('0x63')](_0x2a186e[_0x89bb('0x64')],{})[_0x89bb('0x2d')](respondWithResult(_0x110345,0xc9))[_0x89bb('0x65')](handleError(_0x110345,null));};exports['update']=function(_0x2e3373,_0x3a5187){if(_0x2e3373[_0x89bb('0x64')]['id']){delete _0x2e3373[_0x89bb('0x64')]['id'];}_0x2e3373[_0x89bb('0x64')][_0x89bb('0x46')]=widgetAttributes(_0x2e3373[_0x89bb('0x64')]);return db[_0x89bb('0x37')][_0x89bb('0x66')]({'where':{'id':_0x2e3373[_0x89bb('0x35')]['id']}})['then'](handleEntityNotFound(_0x3a5187,null))[_0x89bb('0x2d')](saveUpdates(_0x2e3373[_0x89bb('0x64')],null))[_0x89bb('0x2d')](respondWithResult(_0x3a5187,null))[_0x89bb('0x65')](handleError(_0x3a5187,null));};