Built motion from commit (unavailable).|2.5.8
[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 _0x4cc3=['ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./dashboardItem.socket','register','status','json','offset','limit','Content-Range','apply','save','destroy','then','sendStatus','error','name','send','show','params','model','keys','DashboardItem','rawAttributes','query','intersection','fields','attributes','includeAll','options','catch','find','type','iframe','attrUrl','attrs','value','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','pie-chart','attrSerie1','attrSerie2','attrSerie3','attrReport','attrRefresh','widgetAttributes:\x20%s','body','create','update','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse'];(function(_0x27af45,_0x1b57aa){var _0x18df21=function(_0x4b7679){while(--_0x4b7679){_0x27af45['push'](_0x27af45['shift']());}};_0x18df21(++_0x1b57aa);}(_0x4cc3,0xea));var _0x34cc=function(_0x3adec3,_0x41d84e){_0x3adec3=_0x3adec3-0x0;var _0x5547a8=_0x4cc3[_0x3adec3];return _0x5547a8;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x34cc('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x34cc('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x34cc('0x2'));var moment=require(_0x34cc('0x3'));var BPromise=require(_0x34cc('0x4'));var Mustache=require(_0x34cc('0x5'));var util=require(_0x34cc('0x6'));var path=require(_0x34cc('0x7'));var sox=require('sox');var csv=require(_0x34cc('0x8'));var ejs=require(_0x34cc('0x9'));var fs=require('fs');var _=require(_0x34cc('0xa'));var squel=require(_0x34cc('0xb'));var crypto=require(_0x34cc('0xc'));var jsforce=require(_0x34cc('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x34cc('0x8'));var querystring=require('querystring');var Papa=require(_0x34cc('0xe'));var Redis=require(_0x34cc('0xf'));var authService=require(_0x34cc('0x10'));var qs=require(_0x34cc('0x11'));var as=require(_0x34cc('0x12'));var hardwareService=require(_0x34cc('0x13'));var logger=require(_0x34cc('0x14'))(_0x34cc('0x15'));var utils=require('../../config/utils');var config=require(_0x34cc('0x16'));var licenseUtil=require(_0x34cc('0x17'));var db=require(_0x34cc('0x18'))['db'];config[_0x34cc('0x19')]=_[_0x34cc('0x1a')](config[_0x34cc('0x19')],{'host':_0x34cc('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x34cc('0x19')]));require(_0x34cc('0x1c'))[_0x34cc('0x1d')](socket);function respondWithStatusCode(_0x56f810,_0x4b3205){_0x4b3205=_0x4b3205||0xcc;return function(_0x5084e6){if(_0x5084e6){return _0x56f810['sendStatus'](_0x4b3205);}return _0x56f810[_0x34cc('0x1e')](_0x4b3205)['end']();};}function respondWithResult(_0x53dfbc,_0x23f6ed){_0x23f6ed=_0x23f6ed||0xc8;return function(_0x2a15b9){if(_0x2a15b9){return _0x53dfbc[_0x34cc('0x1e')](_0x23f6ed)[_0x34cc('0x1f')](_0x2a15b9);}};}function respondWithFilteredResult(_0x1c7f3d,_0x1586cc){return function(_0x4ab986){if(_0x4ab986){var _0x1264f6=_0x4ab986['count'],_0x5c2f45=_0x1586cc[_0x34cc('0x20')],_0x267a27=_0x1586cc['offset']+_0x1586cc[_0x34cc('0x21')],_0x1cb6fb;if(_0x267a27>=_0x1264f6){_0x267a27=_0x1264f6;_0x1cb6fb=0xc8;}else{_0x1cb6fb=0xce;}_0x1c7f3d[_0x34cc('0x1e')](_0x1cb6fb);return _0x1c7f3d['set'](_0x34cc('0x22'),_0x5c2f45+'-'+_0x267a27+'/'+_0x1264f6)[_0x34cc('0x1f')](_0x4ab986);}return null;};}function patchUpdates(_0x304ef2){return function(_0x5bf8cd){try{jsonpatch[_0x34cc('0x23')](_0x5bf8cd,_0x304ef2,!![]);}catch(_0x5022d2){return BPromise['reject'](_0x5022d2);}return _0x5bf8cd[_0x34cc('0x24')]();};}function saveUpdates(_0x2eaba1,_0x41c353){return function(_0x4b07e8){if(_0x4b07e8){return _0x4b07e8['update'](_0x2eaba1)['then'](function(_0x19e7a7){return _0x19e7a7;});}return null;};}function removeEntity(_0x15c1f6,_0x5eb55b){return function(_0x335251){if(_0x335251){return _0x335251[_0x34cc('0x25')]()[_0x34cc('0x26')](function(){_0x15c1f6['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5a7ba9,_0x1a2587){return function(_0x15ee0b){if(!_0x15ee0b){_0x5a7ba9[_0x34cc('0x27')](0x194);}return _0x15ee0b;};}function handleError(_0x315755,_0x531ab1){_0x531ab1=_0x531ab1||0x1f4;return function(_0x118e6c){logger[_0x34cc('0x28')](_0x118e6c['stack']);if(_0x118e6c[_0x34cc('0x29')]){delete _0x118e6c[_0x34cc('0x29')];}_0x315755[_0x34cc('0x1e')](_0x531ab1)[_0x34cc('0x2a')](_0x118e6c);};}exports[_0x34cc('0x2b')]=function(_0x3d9234,_0x235bf6){var _0x130fb0={'raw':![],'where':{'id':_0x3d9234[_0x34cc('0x2c')]['id']}},_0x27d873={};_0x27d873[_0x34cc('0x2d')]=_[_0x34cc('0x2e')](db[_0x34cc('0x2f')][_0x34cc('0x30')]);_0x27d873[_0x34cc('0x31')]=_[_0x34cc('0x2e')](_0x3d9234[_0x34cc('0x31')]);_0x27d873['filters']=_[_0x34cc('0x32')](_0x27d873[_0x34cc('0x2d')],_0x27d873[_0x34cc('0x31')]);_0x130fb0['attributes']=_[_0x34cc('0x32')](_0x27d873[_0x34cc('0x2d')],qs[_0x34cc('0x33')](_0x3d9234[_0x34cc('0x31')][_0x34cc('0x33')]));_0x130fb0[_0x34cc('0x34')]=_0x130fb0[_0x34cc('0x34')]['length']?_0x130fb0[_0x34cc('0x34')]:_0x27d873[_0x34cc('0x2d')];if(_0x3d9234[_0x34cc('0x31')][_0x34cc('0x35')]){_0x130fb0['include']=[{'all':!![]}];}_0x130fb0=_['merge']({},_0x130fb0,_0x3d9234[_0x34cc('0x36')]);return db[_0x34cc('0x2f')]['find'](_0x130fb0)[_0x34cc('0x26')](handleEntityNotFound(_0x235bf6,null))['then'](respondWithResult(_0x235bf6,null))[_0x34cc('0x37')](handleError(_0x235bf6,null));};exports[_0x34cc('0x25')]=function(_0x1430fe,_0x4b2d3b){return db[_0x34cc('0x2f')][_0x34cc('0x38')]({'where':{'id':_0x1430fe[_0x34cc('0x2c')]['id']}})[_0x34cc('0x26')](handleEntityNotFound(_0x4b2d3b,null))[_0x34cc('0x26')](removeEntity(_0x4b2d3b,null))[_0x34cc('0x37')](handleError(_0x4b2d3b,null));};function widgetAttributes(_0x54cacf){try{switch(_0x54cacf[_0x34cc('0x39')]){case _0x34cc('0x3a'):return[{'name':_0x34cc('0x3b'),'value':_0x54cacf['attrUrl']||(_0x54cacf[_0x34cc('0x3c')]&&_0x54cacf[_0x34cc('0x3c')][0x0]?_0x54cacf['attrs'][0x0][_0x34cc('0x3d')]:undefined)||'https://'}];case'custom':return[{'name':_0x34cc('0x3e'),'value':_0x54cacf['attrPath']||(_0x54cacf[_0x34cc('0x3c')]&&_0x54cacf[_0x34cc('0x3c')][0x0]?_0x54cacf['attrs'][0x0][_0x34cc('0x3d')]:undefined)||''}];case _0x34cc('0x3f'):return[{'name':_0x34cc('0x40'),'value':_0x54cacf[_0x34cc('0x40')]||(_0x54cacf['attrs']&&_0x54cacf[_0x34cc('0x3c')][0x0]?_0x54cacf[_0x34cc('0x3c')][0x0][_0x34cc('0x3d')]:undefined)||_0x34cc('0x41')},{'name':_0x34cc('0x42'),'value':_0x54cacf[_0x34cc('0x42')]||(_0x54cacf[_0x34cc('0x3c')]&&_0x54cacf[_0x34cc('0x3c')][0x1]?_0x54cacf[_0x34cc('0x3c')][0x1][_0x34cc('0x3d')]:undefined)||_0x34cc('0x43')},{'name':_0x34cc('0x44'),'value':_0x54cacf[_0x34cc('0x44')]||(_0x54cacf[_0x34cc('0x3c')]&&_0x54cacf[_0x34cc('0x3c')][0x2]?_0x54cacf[_0x34cc('0x3c')][0x2][_0x34cc('0x3d')]:undefined)||0xc}];case _0x34cc('0x45'):return[{'name':'attrMetric','value':_0x54cacf[_0x34cc('0x46')]||(_0x54cacf[_0x34cc('0x3c')]&&_0x54cacf['attrs'][0x0]?_0x54cacf[_0x34cc('0x3c')][0x0]['value']:undefined)||_0x34cc('0x47')},{'name':_0x34cc('0x48'),'value':_0x54cacf[_0x34cc('0x48')]||(_0x54cacf['attrs']&&_0x54cacf['attrs'][0x1]?_0x54cacf[_0x34cc('0x3c')][0x1][_0x34cc('0x3d')]:undefined)||[]},{'name':_0x34cc('0x44'),'value':_0x54cacf['attrFontSize']||(_0x54cacf['attrs']&&_0x54cacf[_0x34cc('0x3c')][0x2]?_0x54cacf[_0x34cc('0x3c')][0x2]['value']:undefined)||0x14}];case'multibar-chart':case _0x34cc('0x49'):return[{'name':_0x34cc('0x4a'),'value':_0x54cacf['attrSerie1']||(_0x54cacf[_0x34cc('0x3c')]&&_0x54cacf[_0x34cc('0x3c')][0x0]?_0x54cacf['attrs'][0x0][_0x34cc('0x3d')]:undefined)||'total'},{'name':_0x34cc('0x4b'),'value':_0x54cacf[_0x34cc('0x4b')]||(_0x54cacf['attrs']&&_0x54cacf[_0x34cc('0x3c')][0x1]?_0x54cacf[_0x34cc('0x3c')][0x1][_0x34cc('0x3d')]:undefined)||null},{'name':_0x34cc('0x4c'),'value':_0x54cacf[_0x34cc('0x4c')]||(_0x54cacf[_0x34cc('0x3c')]&&_0x54cacf[_0x34cc('0x3c')][0x2]?_0x54cacf[_0x34cc('0x3c')][0x2][_0x34cc('0x3d')]:undefined)||null},{'name':_0x34cc('0x48'),'value':_0x54cacf[_0x34cc('0x48')]||(_0x54cacf[_0x34cc('0x3c')]&&_0x54cacf['attrs'][0x3]?_0x54cacf[_0x34cc('0x3c')][0x3][_0x34cc('0x3d')]:undefined)||[]}];case'web-report':return[{'name':_0x34cc('0x4d'),'type':_0x54cacf['reportType']||(_0x54cacf[_0x34cc('0x3c')]&&_0x54cacf[_0x34cc('0x3c')][0x0]?_0x54cacf[_0x34cc('0x3c')][0x0]['type']:undefined)||null,'value':_0x54cacf['attrReport']||(_0x54cacf[_0x34cc('0x3c')]&&_0x54cacf[_0x34cc('0x3c')][0x0]?_0x54cacf[_0x34cc('0x3c')][0x0][_0x34cc('0x3d')]:undefined)||null},{'name':_0x34cc('0x4e'),'value':_0x54cacf[_0x34cc('0x4e')]||(_0x54cacf['attrs']&&_0x54cacf[_0x34cc('0x3c')][0x1]?_0x54cacf[_0x34cc('0x3c')][0x1][_0x34cc('0x3d')]:undefined)||0x0}];default:return[];}}catch(_0xd541b4){logger['error'](_0x34cc('0x4f'),JSON['stringify'](_0xd541b4));return[];}}exports['create']=function(_0x3a4d3f,_0x42dcf4){if(_0x3a4d3f[_0x34cc('0x50')]){_0x3a4d3f[_0x34cc('0x50')][_0x34cc('0x3c')]=widgetAttributes(_0x3a4d3f[_0x34cc('0x50')]);}return db[_0x34cc('0x2f')][_0x34cc('0x51')](_0x3a4d3f[_0x34cc('0x50')],{})['then'](respondWithResult(_0x42dcf4,0xc9))[_0x34cc('0x37')](handleError(_0x42dcf4,null));};exports[_0x34cc('0x52')]=function(_0x4cdc62,_0x83151e){if(_0x4cdc62[_0x34cc('0x50')]['id']){delete _0x4cdc62['body']['id'];}_0x4cdc62[_0x34cc('0x50')]['attrs']=widgetAttributes(_0x4cdc62[_0x34cc('0x50')]);return db[_0x34cc('0x2f')]['find']({'where':{'id':_0x4cdc62[_0x34cc('0x2c')]['id']}})[_0x34cc('0x26')](handleEntityNotFound(_0x83151e,null))[_0x34cc('0x26')](saveUpdates(_0x4cdc62[_0x34cc('0x50')],null))['then'](respondWithResult(_0x83151e,null))[_0x34cc('0x37')](handleError(_0x83151e,null));};