Built motion from commit (unavailable).|2.5.31
[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 _0x67ea=['attrSerie2','attrSerie3','attrReport','reportType','attrRefresh','create','body','catch','update','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./dashboardItem.socket','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','show','model','keys','DashboardItem','query','filters','intersection','attributes','fields','length','includeAll','include','merge','find','params','type','iframe','attrUrl','attrs','value','https://','custom','attrPath','clock','HH:mm:ss','attrTimezone','attrFontSize','counter','attrMetric','total','attrVoiceQueues','multibar-chart','attrSerie1'];(function(_0x2ea2cd,_0x3a14a1){var _0x403a11=function(_0x3e8ba0){while(--_0x3e8ba0){_0x2ea2cd['push'](_0x2ea2cd['shift']());}};_0x403a11(++_0x3a14a1);}(_0x67ea,0x11a));var _0xa67e=function(_0x3f55de,_0x3ae98f){_0x3f55de=_0x3f55de-0x0;var _0x2698de=_0x67ea[_0x3f55de];return _0x2698de;};'use strict';var emlformat=require(_0xa67e('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xa67e('0x1'));var jsonpatch=require(_0xa67e('0x2'));var rp=require(_0xa67e('0x3'));var moment=require(_0xa67e('0x4'));var BPromise=require(_0xa67e('0x5'));var Mustache=require(_0xa67e('0x6'));var util=require(_0xa67e('0x7'));var path=require(_0xa67e('0x8'));var sox=require(_0xa67e('0x9'));var csv=require(_0xa67e('0xa'));var ejs=require(_0xa67e('0xb'));var fs=require('fs');var fs_extra=require(_0xa67e('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xa67e('0xd'));var deskjs=require(_0xa67e('0xe'));var toCsv=require('to-csv');var querystring=require(_0xa67e('0xf'));var Papa=require(_0xa67e('0x10'));var Redis=require(_0xa67e('0x11'));var authService=require(_0xa67e('0x12'));var qs=require(_0xa67e('0x13'));var as=require(_0xa67e('0x14'));var hardwareService=require(_0xa67e('0x15'));var logger=require('../../config/logger')(_0xa67e('0x16'));var utils=require(_0xa67e('0x17'));var config=require(_0xa67e('0x18'));var licenseUtil=require(_0xa67e('0x19'));var db=require('../../mysqldb')['db'];config[_0xa67e('0x1a')]=_[_0xa67e('0x1b')](config[_0xa67e('0x1a')],{'host':_0xa67e('0x1c'),'port':0x18eb});var socket=require(_0xa67e('0x1d'))(new Redis(config[_0xa67e('0x1a')]));require(_0xa67e('0x1e'))['register'](socket);function respondWithStatusCode(_0x338f7f,_0x2d1fbc){_0x2d1fbc=_0x2d1fbc||0xcc;return function(_0x1df7c5){if(_0x1df7c5){return _0x338f7f[_0xa67e('0x1f')](_0x2d1fbc);}return _0x338f7f[_0xa67e('0x20')](_0x2d1fbc)[_0xa67e('0x21')]();};}function respondWithResult(_0x406e93,_0x556b98){_0x556b98=_0x556b98||0xc8;return function(_0x13eae8){if(_0x13eae8){return _0x406e93[_0xa67e('0x20')](_0x556b98)[_0xa67e('0x22')](_0x13eae8);}};}function respondWithFilteredResult(_0x407d5d,_0x29aa91){return function(_0x293384){if(_0x293384){var _0x5a183b=typeof _0x29aa91['offset']===_0xa67e('0x23')&&typeof _0x29aa91[_0xa67e('0x24')]===_0xa67e('0x23');var _0x19c0be=_0x293384[_0xa67e('0x25')];var _0x304245=_0x5a183b?0x0:_0x29aa91[_0xa67e('0x26')];var _0x1b5d3c=_0x5a183b?_0x293384[_0xa67e('0x25')]:_0x29aa91[_0xa67e('0x26')]+_0x29aa91[_0xa67e('0x24')];var _0x5c4cc4;if(_0x1b5d3c>=_0x19c0be){_0x1b5d3c=_0x19c0be;_0x5c4cc4=0xc8;}else{_0x5c4cc4=0xce;}_0x407d5d['status'](_0x5c4cc4);return _0x407d5d['set'](_0xa67e('0x27'),_0x304245+'-'+_0x1b5d3c+'/'+_0x19c0be)['json'](_0x293384);}return null;};}function patchUpdates(_0x1ea5ed){return function(_0x5a4e06){try{jsonpatch[_0xa67e('0x28')](_0x5a4e06,_0x1ea5ed,!![]);}catch(_0x5c01fb){return BPromise[_0xa67e('0x29')](_0x5c01fb);}return _0x5a4e06[_0xa67e('0x2a')]();};}function saveUpdates(_0x1ea48c,_0x38d2ca){return function(_0x58a84e){if(_0x58a84e){return _0x58a84e['update'](_0x1ea48c)[_0xa67e('0x2b')](function(_0x4e3145){return _0x4e3145;});}return null;};}function removeEntity(_0x564d22,_0x34519f){return function(_0x226d41){if(_0x226d41){return _0x226d41[_0xa67e('0x2c')]()[_0xa67e('0x2b')](function(){_0x564d22[_0xa67e('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1d0aff,_0x8e92fb){return function(_0x1a4083){if(!_0x1a4083){_0x1d0aff['sendStatus'](0x194);}return _0x1a4083;};}function handleError(_0x48d174,_0x5d11ee){_0x5d11ee=_0x5d11ee||0x1f4;return function(_0x568c0b){logger[_0xa67e('0x2d')](_0x568c0b[_0xa67e('0x2e')]);if(_0x568c0b[_0xa67e('0x2f')]){delete _0x568c0b[_0xa67e('0x2f')];}_0x48d174['status'](_0x5d11ee)[_0xa67e('0x30')](_0x568c0b);};}exports[_0xa67e('0x31')]=function(_0x1c40c1,_0x273a86){var _0x2b7c45={'raw':![],'where':{'id':_0x1c40c1['params']['id']}},_0x458390={};_0x458390[_0xa67e('0x32')]=_[_0xa67e('0x33')](db[_0xa67e('0x34')]['rawAttributes']);_0x458390[_0xa67e('0x35')]=_[_0xa67e('0x33')](_0x1c40c1[_0xa67e('0x35')]);_0x458390[_0xa67e('0x36')]=_[_0xa67e('0x37')](_0x458390[_0xa67e('0x32')],_0x458390['query']);_0x2b7c45[_0xa67e('0x38')]=_[_0xa67e('0x37')](_0x458390[_0xa67e('0x32')],qs['fields'](_0x1c40c1[_0xa67e('0x35')][_0xa67e('0x39')]));_0x2b7c45[_0xa67e('0x38')]=_0x2b7c45[_0xa67e('0x38')][_0xa67e('0x3a')]?_0x2b7c45['attributes']:_0x458390[_0xa67e('0x32')];if(_0x1c40c1[_0xa67e('0x35')][_0xa67e('0x3b')]){_0x2b7c45[_0xa67e('0x3c')]=[{'all':!![]}];}_0x2b7c45=_[_0xa67e('0x3d')]({},_0x2b7c45,_0x1c40c1['options']);return db[_0xa67e('0x34')][_0xa67e('0x3e')](_0x2b7c45)[_0xa67e('0x2b')](handleEntityNotFound(_0x273a86,null))['then'](respondWithResult(_0x273a86,null))['catch'](handleError(_0x273a86,null));};exports[_0xa67e('0x2c')]=function(_0x2c23fd,_0xdf25a0){return db[_0xa67e('0x34')][_0xa67e('0x3e')]({'where':{'id':_0x2c23fd[_0xa67e('0x3f')]['id']}})[_0xa67e('0x2b')](handleEntityNotFound(_0xdf25a0,null))['then'](removeEntity(_0xdf25a0,null))['catch'](handleError(_0xdf25a0,null));};function widgetAttributes(_0x3dd664){try{switch(_0x3dd664[_0xa67e('0x40')]){case _0xa67e('0x41'):return[{'name':_0xa67e('0x42'),'value':_0x3dd664['attrUrl']||(_0x3dd664[_0xa67e('0x43')]&&_0x3dd664['attrs'][0x0]?_0x3dd664[_0xa67e('0x43')][0x0][_0xa67e('0x44')]:undefined)||_0xa67e('0x45')}];case _0xa67e('0x46'):return[{'name':_0xa67e('0x47'),'value':_0x3dd664[_0xa67e('0x47')]||(_0x3dd664[_0xa67e('0x43')]&&_0x3dd664['attrs'][0x0]?_0x3dd664[_0xa67e('0x43')][0x0][_0xa67e('0x44')]:undefined)||''}];case _0xa67e('0x48'):return[{'name':'attrHourFormat','value':_0x3dd664['attrHourFormat']||(_0x3dd664['attrs']&&_0x3dd664[_0xa67e('0x43')][0x0]?_0x3dd664['attrs'][0x0]['value']:undefined)||_0xa67e('0x49')},{'name':'attrTimezone','value':_0x3dd664[_0xa67e('0x4a')]||(_0x3dd664[_0xa67e('0x43')]&&_0x3dd664['attrs'][0x1]?_0x3dd664['attrs'][0x1][_0xa67e('0x44')]:undefined)||'0.00'},{'name':_0xa67e('0x4b'),'value':_0x3dd664[_0xa67e('0x4b')]||(_0x3dd664[_0xa67e('0x43')]&&_0x3dd664['attrs'][0x2]?_0x3dd664[_0xa67e('0x43')][0x2][_0xa67e('0x44')]:undefined)||0xc}];case _0xa67e('0x4c'):return[{'name':_0xa67e('0x4d'),'value':_0x3dd664[_0xa67e('0x4d')]||(_0x3dd664['attrs']&&_0x3dd664[_0xa67e('0x43')][0x0]?_0x3dd664[_0xa67e('0x43')][0x0][_0xa67e('0x44')]:undefined)||_0xa67e('0x4e')},{'name':_0xa67e('0x4f'),'value':_0x3dd664['attrVoiceQueues']||(_0x3dd664[_0xa67e('0x43')]&&_0x3dd664[_0xa67e('0x43')][0x1]?_0x3dd664[_0xa67e('0x43')][0x1][_0xa67e('0x44')]:undefined)||[]},{'name':_0xa67e('0x4b'),'value':_0x3dd664[_0xa67e('0x4b')]||(_0x3dd664['attrs']&&_0x3dd664[_0xa67e('0x43')][0x2]?_0x3dd664[_0xa67e('0x43')][0x2][_0xa67e('0x44')]:undefined)||0x14}];case _0xa67e('0x50'):case'pie-chart':return[{'name':_0xa67e('0x51'),'value':_0x3dd664['attrSerie1']||(_0x3dd664['attrs']&&_0x3dd664[_0xa67e('0x43')][0x0]?_0x3dd664[_0xa67e('0x43')][0x0][_0xa67e('0x44')]:undefined)||'total'},{'name':'attrSerie2','value':_0x3dd664[_0xa67e('0x52')]||(_0x3dd664[_0xa67e('0x43')]&&_0x3dd664[_0xa67e('0x43')][0x1]?_0x3dd664[_0xa67e('0x43')][0x1][_0xa67e('0x44')]:undefined)||null},{'name':_0xa67e('0x53'),'value':_0x3dd664['attrSerie3']||(_0x3dd664[_0xa67e('0x43')]&&_0x3dd664[_0xa67e('0x43')][0x2]?_0x3dd664['attrs'][0x2][_0xa67e('0x44')]:undefined)||null},{'name':'attrVoiceQueues','value':_0x3dd664[_0xa67e('0x4f')]||(_0x3dd664[_0xa67e('0x43')]&&_0x3dd664[_0xa67e('0x43')][0x3]?_0x3dd664['attrs'][0x3][_0xa67e('0x44')]:undefined)||[]}];case'web-report':return[{'name':_0xa67e('0x54'),'type':_0x3dd664[_0xa67e('0x55')]||(_0x3dd664[_0xa67e('0x43')]&&_0x3dd664[_0xa67e('0x43')][0x0]?_0x3dd664[_0xa67e('0x43')][0x0][_0xa67e('0x40')]:undefined)||null,'value':_0x3dd664[_0xa67e('0x54')]||(_0x3dd664[_0xa67e('0x43')]&&_0x3dd664[_0xa67e('0x43')][0x0]?_0x3dd664[_0xa67e('0x43')][0x0][_0xa67e('0x44')]:undefined)||null},{'name':'attrRefresh','value':_0x3dd664[_0xa67e('0x56')]||(_0x3dd664[_0xa67e('0x43')]&&_0x3dd664['attrs'][0x1]?_0x3dd664[_0xa67e('0x43')][0x1][_0xa67e('0x44')]:undefined)||0x0}];default:return[];}}catch(_0x13a5fe){logger['error']('widgetAttributes:\x20%s',JSON['stringify'](_0x13a5fe));return[];}}exports[_0xa67e('0x57')]=function(_0x4be72e,_0x5cd03f){if(_0x4be72e[_0xa67e('0x58')]){_0x4be72e[_0xa67e('0x58')]['attrs']=widgetAttributes(_0x4be72e[_0xa67e('0x58')]);}return db[_0xa67e('0x34')][_0xa67e('0x57')](_0x4be72e[_0xa67e('0x58')],{})['then'](respondWithResult(_0x5cd03f,0xc9))[_0xa67e('0x59')](handleError(_0x5cd03f,null));};exports[_0xa67e('0x5a')]=function(_0x193b4a,_0x4bd651){if(_0x193b4a['body']['id']){delete _0x193b4a['body']['id'];}_0x193b4a[_0xa67e('0x58')][_0xa67e('0x43')]=widgetAttributes(_0x193b4a[_0xa67e('0x58')]);return db['DashboardItem'][_0xa67e('0x3e')]({'where':{'id':_0x193b4a[_0xa67e('0x3f')]['id']}})[_0xa67e('0x2b')](handleEntityNotFound(_0x4bd651,null))[_0xa67e('0x2b')](saveUpdates(_0x193b4a['body'],null))[_0xa67e('0x2b')](respondWithResult(_0x4bd651,null))[_0xa67e('0x59')](handleError(_0x4bd651,null));};