Built motion from commit (unavailable).|2.5.22
[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 _0x9fd1=['mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./dashboardItem.socket','register','sendStatus','status','end','json','count','offset','set','Content-Range','reject','save','update','then','destroy','error','stack','name','send','show','params','model','keys','DashboardItem','rawAttributes','query','filters','intersection','attributes','fields','length','includeAll','include','merge','find','catch','iframe','attrUrl','attrs','https://','custom','attrPath','value','attrHourFormat','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','multibar-chart','pie-chart','attrSerie1','attrSerie3','attrVoiceQueues','attrReport','type','attrRefresh','widgetAttributes:\x20%s','create','body','html-pdf','rimraf','zip-dir','request-promise','bluebird'];(function(_0x18e875,_0x54fff7){var _0x1643c6=function(_0x5f09ff){while(--_0x5f09ff){_0x18e875['push'](_0x18e875['shift']());}};_0x1643c6(++_0x54fff7);}(_0x9fd1,0x163));var _0x19fd=function(_0x53b0d0,_0x5d0350){_0x53b0d0=_0x53b0d0-0x0;var _0x5993dd=_0x9fd1[_0x53b0d0];return _0x5993dd;};'use strict';var pdf=require(_0x19fd('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x19fd('0x1'));var zipdir=require(_0x19fd('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x19fd('0x3'));var moment=require('moment');var BPromise=require(_0x19fd('0x4'));var Mustache=require(_0x19fd('0x5'));var util=require(_0x19fd('0x6'));var path=require('path');var sox=require(_0x19fd('0x7'));var csv=require(_0x19fd('0x8'));var ejs=require(_0x19fd('0x9'));var fs=require('fs');var _=require(_0x19fd('0xa'));var squel=require(_0x19fd('0xb'));var crypto=require(_0x19fd('0xc'));var jsforce=require(_0x19fd('0xd'));var deskjs=require(_0x19fd('0xe'));var toCsv=require(_0x19fd('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x19fd('0xf'));var authService=require(_0x19fd('0x10'));var qs=require(_0x19fd('0x11'));var as=require(_0x19fd('0x12'));var hardwareService=require(_0x19fd('0x13'));var logger=require('../../config/logger')(_0x19fd('0x14'));var utils=require(_0x19fd('0x15'));var config=require(_0x19fd('0x16'));var licenseUtil=require(_0x19fd('0x17'));var db=require(_0x19fd('0x18'))['db'];config[_0x19fd('0x19')]=_[_0x19fd('0x1a')](config[_0x19fd('0x19')],{'host':_0x19fd('0x1b'),'port':0x18eb});var socket=require(_0x19fd('0x1c'))(new Redis(config[_0x19fd('0x19')]));require(_0x19fd('0x1d'))[_0x19fd('0x1e')](socket);function respondWithStatusCode(_0x562044,_0x359db5){_0x359db5=_0x359db5||0xcc;return function(_0x172e6f){if(_0x172e6f){return _0x562044[_0x19fd('0x1f')](_0x359db5);}return _0x562044[_0x19fd('0x20')](_0x359db5)[_0x19fd('0x21')]();};}function respondWithResult(_0x2fb133,_0x72fac5){_0x72fac5=_0x72fac5||0xc8;return function(_0x2a1672){if(_0x2a1672){return _0x2fb133[_0x19fd('0x20')](_0x72fac5)[_0x19fd('0x22')](_0x2a1672);}};}function respondWithFilteredResult(_0x592eb2,_0x287dda){return function(_0x59f5){if(_0x59f5){var _0xe66d43=_0x59f5[_0x19fd('0x23')],_0x1d50fa=_0x287dda['offset'],_0x175ffd=_0x287dda[_0x19fd('0x24')]+_0x287dda['limit'],_0x1b9fdf;if(_0x175ffd>=_0xe66d43){_0x175ffd=_0xe66d43;_0x1b9fdf=0xc8;}else{_0x1b9fdf=0xce;}_0x592eb2[_0x19fd('0x20')](_0x1b9fdf);return _0x592eb2[_0x19fd('0x25')](_0x19fd('0x26'),_0x1d50fa+'-'+_0x175ffd+'/'+_0xe66d43)['json'](_0x59f5);}return null;};}function patchUpdates(_0x59b4a7){return function(_0x32c147){try{jsonpatch['apply'](_0x32c147,_0x59b4a7,!![]);}catch(_0xbfa047){return BPromise[_0x19fd('0x27')](_0xbfa047);}return _0x32c147[_0x19fd('0x28')]();};}function saveUpdates(_0x2308ae,_0x3c1cb7){return function(_0x1e5fb9){if(_0x1e5fb9){return _0x1e5fb9[_0x19fd('0x29')](_0x2308ae)[_0x19fd('0x2a')](function(_0x3bd39e){return _0x3bd39e;});}return null;};}function removeEntity(_0xe81287,_0x51745a){return function(_0x2bb48b){if(_0x2bb48b){return _0x2bb48b[_0x19fd('0x2b')]()['then'](function(){_0xe81287[_0x19fd('0x20')](0xcc)[_0x19fd('0x21')]();});}};}function handleEntityNotFound(_0x5d5dea,_0x132857){return function(_0x1da227){if(!_0x1da227){_0x5d5dea[_0x19fd('0x1f')](0x194);}return _0x1da227;};}function handleError(_0xa3b9b4,_0x2e06de){_0x2e06de=_0x2e06de||0x1f4;return function(_0x556c30){logger[_0x19fd('0x2c')](_0x556c30[_0x19fd('0x2d')]);if(_0x556c30[_0x19fd('0x2e')]){delete _0x556c30[_0x19fd('0x2e')];}_0xa3b9b4[_0x19fd('0x20')](_0x2e06de)[_0x19fd('0x2f')](_0x556c30);};}exports[_0x19fd('0x30')]=function(_0x50926f,_0x236522){var _0x2bde26={'raw':![],'where':{'id':_0x50926f[_0x19fd('0x31')]['id']}},_0x43af56={};_0x43af56[_0x19fd('0x32')]=_[_0x19fd('0x33')](db[_0x19fd('0x34')][_0x19fd('0x35')]);_0x43af56['query']=_[_0x19fd('0x33')](_0x50926f[_0x19fd('0x36')]);_0x43af56[_0x19fd('0x37')]=_[_0x19fd('0x38')](_0x43af56[_0x19fd('0x32')],_0x43af56[_0x19fd('0x36')]);_0x2bde26[_0x19fd('0x39')]=_['intersection'](_0x43af56[_0x19fd('0x32')],qs[_0x19fd('0x3a')](_0x50926f['query'][_0x19fd('0x3a')]));_0x2bde26[_0x19fd('0x39')]=_0x2bde26[_0x19fd('0x39')][_0x19fd('0x3b')]?_0x2bde26['attributes']:_0x43af56['model'];if(_0x50926f[_0x19fd('0x36')][_0x19fd('0x3c')]){_0x2bde26[_0x19fd('0x3d')]=[{'all':!![]}];}_0x2bde26=_[_0x19fd('0x3e')]({},_0x2bde26,_0x50926f['options']);return db['DashboardItem'][_0x19fd('0x3f')](_0x2bde26)[_0x19fd('0x2a')](handleEntityNotFound(_0x236522,null))['then'](respondWithResult(_0x236522,null))[_0x19fd('0x40')](handleError(_0x236522,null));};exports[_0x19fd('0x2b')]=function(_0x4640ef,_0x1091a5){return db[_0x19fd('0x34')][_0x19fd('0x3f')]({'where':{'id':_0x4640ef['params']['id']}})['then'](handleEntityNotFound(_0x1091a5,null))[_0x19fd('0x2a')](removeEntity(_0x1091a5,null))[_0x19fd('0x40')](handleError(_0x1091a5,null));};function widgetAttributes(_0x504219){try{switch(_0x504219['type']){case _0x19fd('0x41'):return[{'name':_0x19fd('0x42'),'value':_0x504219[_0x19fd('0x42')]||(_0x504219['attrs']&&_0x504219[_0x19fd('0x43')][0x0]?_0x504219[_0x19fd('0x43')][0x0]['value']:undefined)||_0x19fd('0x44')}];case _0x19fd('0x45'):return[{'name':_0x19fd('0x46'),'value':_0x504219[_0x19fd('0x46')]||(_0x504219[_0x19fd('0x43')]&&_0x504219[_0x19fd('0x43')][0x0]?_0x504219[_0x19fd('0x43')][0x0][_0x19fd('0x47')]:undefined)||''}];case'clock':return[{'name':'attrHourFormat','value':_0x504219[_0x19fd('0x48')]||(_0x504219[_0x19fd('0x43')]&&_0x504219[_0x19fd('0x43')][0x0]?_0x504219[_0x19fd('0x43')][0x0]['value']:undefined)||'HH:mm:ss'},{'name':_0x19fd('0x49'),'value':_0x504219[_0x19fd('0x49')]||(_0x504219['attrs']&&_0x504219['attrs'][0x1]?_0x504219[_0x19fd('0x43')][0x1][_0x19fd('0x47')]:undefined)||_0x19fd('0x4a')},{'name':_0x19fd('0x4b'),'value':_0x504219[_0x19fd('0x4b')]||(_0x504219[_0x19fd('0x43')]&&_0x504219[_0x19fd('0x43')][0x2]?_0x504219[_0x19fd('0x43')][0x2][_0x19fd('0x47')]:undefined)||0xc}];case _0x19fd('0x4c'):return[{'name':_0x19fd('0x4d'),'value':_0x504219[_0x19fd('0x4d')]||(_0x504219[_0x19fd('0x43')]&&_0x504219[_0x19fd('0x43')][0x0]?_0x504219['attrs'][0x0]['value']:undefined)||_0x19fd('0x4e')},{'name':'attrVoiceQueues','value':_0x504219['attrVoiceQueues']||(_0x504219[_0x19fd('0x43')]&&_0x504219['attrs'][0x1]?_0x504219['attrs'][0x1][_0x19fd('0x47')]:undefined)||[]},{'name':_0x19fd('0x4b'),'value':_0x504219[_0x19fd('0x4b')]||(_0x504219[_0x19fd('0x43')]&&_0x504219[_0x19fd('0x43')][0x2]?_0x504219[_0x19fd('0x43')][0x2][_0x19fd('0x47')]:undefined)||0x14}];case _0x19fd('0x4f'):case _0x19fd('0x50'):return[{'name':'attrSerie1','value':_0x504219[_0x19fd('0x51')]||(_0x504219[_0x19fd('0x43')]&&_0x504219[_0x19fd('0x43')][0x0]?_0x504219[_0x19fd('0x43')][0x0][_0x19fd('0x47')]:undefined)||'total'},{'name':'attrSerie2','value':_0x504219['attrSerie2']||(_0x504219[_0x19fd('0x43')]&&_0x504219['attrs'][0x1]?_0x504219[_0x19fd('0x43')][0x1][_0x19fd('0x47')]:undefined)||null},{'name':'attrSerie3','value':_0x504219[_0x19fd('0x52')]||(_0x504219['attrs']&&_0x504219[_0x19fd('0x43')][0x2]?_0x504219[_0x19fd('0x43')][0x2][_0x19fd('0x47')]:undefined)||null},{'name':_0x19fd('0x53'),'value':_0x504219['attrVoiceQueues']||(_0x504219[_0x19fd('0x43')]&&_0x504219['attrs'][0x3]?_0x504219[_0x19fd('0x43')][0x3][_0x19fd('0x47')]:undefined)||[]}];case'web-report':return[{'name':_0x19fd('0x54'),'type':_0x504219['reportType']||(_0x504219[_0x19fd('0x43')]&&_0x504219['attrs'][0x0]?_0x504219[_0x19fd('0x43')][0x0][_0x19fd('0x55')]:undefined)||null,'value':_0x504219[_0x19fd('0x54')]||(_0x504219[_0x19fd('0x43')]&&_0x504219[_0x19fd('0x43')][0x0]?_0x504219[_0x19fd('0x43')][0x0][_0x19fd('0x47')]:undefined)||null},{'name':_0x19fd('0x56'),'value':_0x504219[_0x19fd('0x56')]||(_0x504219[_0x19fd('0x43')]&&_0x504219[_0x19fd('0x43')][0x1]?_0x504219[_0x19fd('0x43')][0x1][_0x19fd('0x47')]:undefined)||0x0}];default:return[];}}catch(_0x493104){logger[_0x19fd('0x2c')](_0x19fd('0x57'),JSON['stringify'](_0x493104));return[];}}exports[_0x19fd('0x58')]=function(_0x2499cd,_0x4581d4){if(_0x2499cd[_0x19fd('0x59')]){_0x2499cd[_0x19fd('0x59')][_0x19fd('0x43')]=widgetAttributes(_0x2499cd[_0x19fd('0x59')]);}return db[_0x19fd('0x34')][_0x19fd('0x58')](_0x2499cd[_0x19fd('0x59')],{})['then'](respondWithResult(_0x4581d4,0xc9))[_0x19fd('0x40')](handleError(_0x4581d4,null));};exports['update']=function(_0x2f17b1,_0x18071b){if(_0x2f17b1[_0x19fd('0x59')]['id']){delete _0x2f17b1[_0x19fd('0x59')]['id'];}_0x2f17b1['body'][_0x19fd('0x43')]=widgetAttributes(_0x2f17b1[_0x19fd('0x59')]);return db[_0x19fd('0x34')][_0x19fd('0x3f')]({'where':{'id':_0x2f17b1[_0x19fd('0x31')]['id']}})[_0x19fd('0x2a')](handleEntityNotFound(_0x18071b,null))['then'](saveUpdates(_0x2f17b1[_0x19fd('0x59')],null))[_0x19fd('0x2a')](respondWithResult(_0x18071b,null))[_0x19fd('0x40')](handleError(_0x18071b,null));};