Built motion from commit 3e059bc2.|2.5.32
[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 _0x787e=['querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./dashboardItem.socket','register','sendStatus','status','end','json','undefined','limit','count','offset','set','apply','reject','save','update','then','destroy','error','stack','name','send','params','model','keys','DashboardItem','rawAttributes','query','intersection','attributes','fields','includeAll','include','merge','options','catch','type','iframe','attrUrl','attrs','https://','custom','attrPath','value','clock','attrHourFormat','attrTimezone','0.00','counter','attrMetric','attrVoiceQueues','multibar-chart','pie-chart','attrSerie1','total','attrSerie3','web-report','attrReport','reportType','attrRefresh','widgetAttributes:\x20%s','create','body','find','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js'];(function(_0x466cd0,_0x5c1ea1){var _0x3b18d2=function(_0x3b89b7){while(--_0x3b89b7){_0x466cd0['push'](_0x466cd0['shift']());}};_0x3b18d2(++_0x5c1ea1);}(_0x787e,0x1be));var _0xe787=function(_0x1d6d55,_0x161c45){_0x1d6d55=_0x1d6d55-0x0;var _0x46df91=_0x787e[_0x1d6d55];return _0x46df91;};'use strict';var emlformat=require(_0xe787('0x0'));var rimraf=require(_0xe787('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe787('0x2'));var rp=require(_0xe787('0x3'));var moment=require(_0xe787('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xe787('0x5'));var util=require('util');var path=require('path');var sox=require(_0xe787('0x6'));var csv=require(_0xe787('0x7'));var ejs=require(_0xe787('0x8'));var fs=require('fs');var fs_extra=require(_0xe787('0x9'));var _=require(_0xe787('0xa'));var squel=require('squel');var crypto=require(_0xe787('0xb'));var jsforce=require(_0xe787('0xc'));var deskjs=require(_0xe787('0xd'));var toCsv=require(_0xe787('0x7'));var querystring=require(_0xe787('0xe'));var Papa=require(_0xe787('0xf'));var Redis=require(_0xe787('0x10'));var authService=require(_0xe787('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe787('0x12'));var logger=require(_0xe787('0x13'))(_0xe787('0x14'));var utils=require(_0xe787('0x15'));var config=require(_0xe787('0x16'));var licenseUtil=require(_0xe787('0x17'));var db=require(_0xe787('0x18'))['db'];config['redis']=_[_0xe787('0x19')](config[_0xe787('0x1a')],{'host':_0xe787('0x1b'),'port':0x18eb});var socket=require(_0xe787('0x1c'))(new Redis(config[_0xe787('0x1a')]));require(_0xe787('0x1d'))[_0xe787('0x1e')](socket);function respondWithStatusCode(_0x4b070,_0x21a88d){_0x21a88d=_0x21a88d||0xcc;return function(_0x23bbaa){if(_0x23bbaa){return _0x4b070[_0xe787('0x1f')](_0x21a88d);}return _0x4b070[_0xe787('0x20')](_0x21a88d)[_0xe787('0x21')]();};}function respondWithResult(_0x19fccc,_0x261f68){_0x261f68=_0x261f68||0xc8;return function(_0x1b2056){if(_0x1b2056){return _0x19fccc[_0xe787('0x20')](_0x261f68)[_0xe787('0x22')](_0x1b2056);}};}function respondWithFilteredResult(_0x412568,_0xdf593a){return function(_0xc7109e){if(_0xc7109e){var _0x4b40c4=typeof _0xdf593a['offset']===_0xe787('0x23')&&typeof _0xdf593a[_0xe787('0x24')]===_0xe787('0x23');var _0x36eaf2=_0xc7109e['count'];var _0x32b13b=_0x4b40c4?0x0:_0xdf593a['offset'];var _0x1b0420=_0x4b40c4?_0xc7109e[_0xe787('0x25')]:_0xdf593a[_0xe787('0x26')]+_0xdf593a['limit'];var _0x401e0d;if(_0x1b0420>=_0x36eaf2){_0x1b0420=_0x36eaf2;_0x401e0d=0xc8;}else{_0x401e0d=0xce;}_0x412568['status'](_0x401e0d);return _0x412568[_0xe787('0x27')]('Content-Range',_0x32b13b+'-'+_0x1b0420+'/'+_0x36eaf2)[_0xe787('0x22')](_0xc7109e);}return null;};}function patchUpdates(_0x2fb170){return function(_0x2005dd){try{jsonpatch[_0xe787('0x28')](_0x2005dd,_0x2fb170,!![]);}catch(_0x3c6e1a){return BPromise[_0xe787('0x29')](_0x3c6e1a);}return _0x2005dd[_0xe787('0x2a')]();};}function saveUpdates(_0x3f6895,_0x56d2cd){return function(_0x364970){if(_0x364970){return _0x364970[_0xe787('0x2b')](_0x3f6895)[_0xe787('0x2c')](function(_0x3f297c){return _0x3f297c;});}return null;};}function removeEntity(_0x20877b,_0x1da01b){return function(_0x2f23d4){if(_0x2f23d4){return _0x2f23d4[_0xe787('0x2d')]()[_0xe787('0x2c')](function(){_0x20877b[_0xe787('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x54003d,_0x3e2ee3){return function(_0x2ebd1b){if(!_0x2ebd1b){_0x54003d['sendStatus'](0x194);}return _0x2ebd1b;};}function handleError(_0x39048d,_0x1b4172){_0x1b4172=_0x1b4172||0x1f4;return function(_0x5179ea){logger[_0xe787('0x2e')](_0x5179ea[_0xe787('0x2f')]);if(_0x5179ea[_0xe787('0x30')]){delete _0x5179ea[_0xe787('0x30')];}_0x39048d[_0xe787('0x20')](_0x1b4172)[_0xe787('0x31')](_0x5179ea);};}exports['show']=function(_0x2231d4,_0x8d1f10){var _0x580375={'raw':![],'where':{'id':_0x2231d4[_0xe787('0x32')]['id']}},_0xc0b16e={};_0xc0b16e[_0xe787('0x33')]=_[_0xe787('0x34')](db[_0xe787('0x35')][_0xe787('0x36')]);_0xc0b16e['query']=_[_0xe787('0x34')](_0x2231d4[_0xe787('0x37')]);_0xc0b16e['filters']=_[_0xe787('0x38')](_0xc0b16e[_0xe787('0x33')],_0xc0b16e[_0xe787('0x37')]);_0x580375[_0xe787('0x39')]=_['intersection'](_0xc0b16e[_0xe787('0x33')],qs[_0xe787('0x3a')](_0x2231d4[_0xe787('0x37')][_0xe787('0x3a')]));_0x580375['attributes']=_0x580375[_0xe787('0x39')]['length']?_0x580375[_0xe787('0x39')]:_0xc0b16e['model'];if(_0x2231d4[_0xe787('0x37')][_0xe787('0x3b')]){_0x580375[_0xe787('0x3c')]=[{'all':!![]}];}_0x580375=_[_0xe787('0x3d')]({},_0x580375,_0x2231d4[_0xe787('0x3e')]);return db[_0xe787('0x35')]['find'](_0x580375)['then'](handleEntityNotFound(_0x8d1f10,null))[_0xe787('0x2c')](respondWithResult(_0x8d1f10,null))[_0xe787('0x3f')](handleError(_0x8d1f10,null));};exports[_0xe787('0x2d')]=function(_0x30f2dd,_0x3a4e7d){return db[_0xe787('0x35')]['find']({'where':{'id':_0x30f2dd[_0xe787('0x32')]['id']}})[_0xe787('0x2c')](handleEntityNotFound(_0x3a4e7d,null))['then'](removeEntity(_0x3a4e7d,null))['catch'](handleError(_0x3a4e7d,null));};function widgetAttributes(_0x18a6ae){try{switch(_0x18a6ae[_0xe787('0x40')]){case _0xe787('0x41'):return[{'name':_0xe787('0x42'),'value':_0x18a6ae[_0xe787('0x42')]||(_0x18a6ae['attrs']&&_0x18a6ae[_0xe787('0x43')][0x0]?_0x18a6ae[_0xe787('0x43')][0x0]['value']:undefined)||_0xe787('0x44')}];case _0xe787('0x45'):return[{'name':_0xe787('0x46'),'value':_0x18a6ae[_0xe787('0x46')]||(_0x18a6ae['attrs']&&_0x18a6ae[_0xe787('0x43')][0x0]?_0x18a6ae[_0xe787('0x43')][0x0][_0xe787('0x47')]:undefined)||''}];case _0xe787('0x48'):return[{'name':_0xe787('0x49'),'value':_0x18a6ae[_0xe787('0x49')]||(_0x18a6ae['attrs']&&_0x18a6ae['attrs'][0x0]?_0x18a6ae['attrs'][0x0]['value']:undefined)||'HH:mm:ss'},{'name':_0xe787('0x4a'),'value':_0x18a6ae['attrTimezone']||(_0x18a6ae[_0xe787('0x43')]&&_0x18a6ae[_0xe787('0x43')][0x1]?_0x18a6ae[_0xe787('0x43')][0x1][_0xe787('0x47')]:undefined)||_0xe787('0x4b')},{'name':'attrFontSize','value':_0x18a6ae['attrFontSize']||(_0x18a6ae[_0xe787('0x43')]&&_0x18a6ae['attrs'][0x2]?_0x18a6ae['attrs'][0x2][_0xe787('0x47')]:undefined)||0xc}];case _0xe787('0x4c'):return[{'name':_0xe787('0x4d'),'value':_0x18a6ae[_0xe787('0x4d')]||(_0x18a6ae['attrs']&&_0x18a6ae[_0xe787('0x43')][0x0]?_0x18a6ae[_0xe787('0x43')][0x0][_0xe787('0x47')]:undefined)||'total'},{'name':_0xe787('0x4e'),'value':_0x18a6ae['attrVoiceQueues']||(_0x18a6ae[_0xe787('0x43')]&&_0x18a6ae[_0xe787('0x43')][0x1]?_0x18a6ae[_0xe787('0x43')][0x1][_0xe787('0x47')]:undefined)||[]},{'name':'attrFontSize','value':_0x18a6ae['attrFontSize']||(_0x18a6ae['attrs']&&_0x18a6ae[_0xe787('0x43')][0x2]?_0x18a6ae[_0xe787('0x43')][0x2][_0xe787('0x47')]:undefined)||0x14}];case _0xe787('0x4f'):case _0xe787('0x50'):return[{'name':_0xe787('0x51'),'value':_0x18a6ae[_0xe787('0x51')]||(_0x18a6ae[_0xe787('0x43')]&&_0x18a6ae[_0xe787('0x43')][0x0]?_0x18a6ae[_0xe787('0x43')][0x0]['value']:undefined)||_0xe787('0x52')},{'name':'attrSerie2','value':_0x18a6ae['attrSerie2']||(_0x18a6ae['attrs']&&_0x18a6ae['attrs'][0x1]?_0x18a6ae[_0xe787('0x43')][0x1][_0xe787('0x47')]:undefined)||null},{'name':_0xe787('0x53'),'value':_0x18a6ae['attrSerie3']||(_0x18a6ae['attrs']&&_0x18a6ae[_0xe787('0x43')][0x2]?_0x18a6ae[_0xe787('0x43')][0x2][_0xe787('0x47')]:undefined)||null},{'name':'attrVoiceQueues','value':_0x18a6ae['attrVoiceQueues']||(_0x18a6ae[_0xe787('0x43')]&&_0x18a6ae[_0xe787('0x43')][0x3]?_0x18a6ae[_0xe787('0x43')][0x3]['value']:undefined)||[]}];case _0xe787('0x54'):return[{'name':_0xe787('0x55'),'type':_0x18a6ae[_0xe787('0x56')]||(_0x18a6ae[_0xe787('0x43')]&&_0x18a6ae['attrs'][0x0]?_0x18a6ae['attrs'][0x0][_0xe787('0x40')]:undefined)||null,'value':_0x18a6ae[_0xe787('0x55')]||(_0x18a6ae[_0xe787('0x43')]&&_0x18a6ae[_0xe787('0x43')][0x0]?_0x18a6ae[_0xe787('0x43')][0x0][_0xe787('0x47')]:undefined)||null},{'name':'attrRefresh','value':_0x18a6ae[_0xe787('0x57')]||(_0x18a6ae[_0xe787('0x43')]&&_0x18a6ae['attrs'][0x1]?_0x18a6ae['attrs'][0x1][_0xe787('0x47')]:undefined)||0x0}];default:return[];}}catch(_0x1fc9ab){logger[_0xe787('0x2e')](_0xe787('0x58'),JSON['stringify'](_0x1fc9ab));return[];}}exports[_0xe787('0x59')]=function(_0x58ad3e,_0x10777c){if(_0x58ad3e[_0xe787('0x5a')]){_0x58ad3e['body'][_0xe787('0x43')]=widgetAttributes(_0x58ad3e['body']);}return db[_0xe787('0x35')]['create'](_0x58ad3e[_0xe787('0x5a')],{})[_0xe787('0x2c')](respondWithResult(_0x10777c,0xc9))[_0xe787('0x3f')](handleError(_0x10777c,null));};exports[_0xe787('0x2b')]=function(_0x43309f,_0x2c21cb){if(_0x43309f['body']['id']){delete _0x43309f['body']['id'];}_0x43309f[_0xe787('0x5a')]['attrs']=widgetAttributes(_0x43309f[_0xe787('0x5a')]);return db[_0xe787('0x35')][_0xe787('0x5b')]({'where':{'id':_0x43309f[_0xe787('0x32')]['id']}})[_0xe787('0x2c')](handleEntityNotFound(_0x2c21cb,null))['then'](saveUpdates(_0x43309f['body'],null))['then'](respondWithResult(_0x2c21cb,null))['catch'](handleError(_0x2c21cb,null));};