Built motion from commit (unavailable).|2.5.24
[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 _0x8faf=['find','catch','DashboardItem','iframe','attrUrl','attrs','value','https://','attrPath','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','multibar-chart','pie-chart','attrSerie1','attrSerie2','attrSerie3','web-report','attrReport','reportType','attrRefresh','stringify','create','body','update','html-pdf','zip-dir','fast-json-patch','request-promise','moment','util','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','localhost','socket.io-emitter','register','status','end','json','count','offset','apply','reject','save','then','error','name','send','show','params','keys','rawAttributes','query','filters','intersection','model','attributes','fields','includeAll','include','merge'];(function(_0x51266b,_0x327853){var _0x54d7f7=function(_0x51ed0b){while(--_0x51ed0b){_0x51266b['push'](_0x51266b['shift']());}};_0x54d7f7(++_0x327853);}(_0x8faf,0x1b4));var _0xf8fa=function(_0xefd519,_0xc62635){_0xefd519=_0xefd519-0x0;var _0x4bb882=_0x8faf[_0xefd519];return _0x4bb882;};'use strict';var pdf=require(_0xf8fa('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xf8fa('0x1'));var jsonpatch=require(_0xf8fa('0x2'));var rp=require(_0xf8fa('0x3'));var moment=require(_0xf8fa('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xf8fa('0x5'));var path=require(_0xf8fa('0x6'));var sox=require('sox');var csv=require(_0xf8fa('0x7'));var ejs=require(_0xf8fa('0x8'));var fs=require('fs');var _=require(_0xf8fa('0x9'));var squel=require('squel');var crypto=require(_0xf8fa('0xa'));var jsforce=require(_0xf8fa('0xb'));var deskjs=require(_0xf8fa('0xc'));var toCsv=require(_0xf8fa('0x7'));var querystring=require('querystring');var Papa=require(_0xf8fa('0xd'));var Redis=require(_0xf8fa('0xe'));var authService=require(_0xf8fa('0xf'));var qs=require(_0xf8fa('0x10'));var as=require(_0xf8fa('0x11'));var hardwareService=require(_0xf8fa('0x12'));var logger=require('../../config/logger')(_0xf8fa('0x13'));var utils=require('../../config/utils');var config=require(_0xf8fa('0x14'));var licenseUtil=require(_0xf8fa('0x15'));var db=require('../../mysqldb')['db'];config['redis']=_['defaults'](config['redis'],{'host':_0xf8fa('0x16'),'port':0x18eb});var socket=require(_0xf8fa('0x17'))(new Redis(config['redis']));require('./dashboardItem.socket')[_0xf8fa('0x18')](socket);function respondWithStatusCode(_0x3ff952,_0x1e818c){_0x1e818c=_0x1e818c||0xcc;return function(_0x329260){if(_0x329260){return _0x3ff952['sendStatus'](_0x1e818c);}return _0x3ff952[_0xf8fa('0x19')](_0x1e818c)[_0xf8fa('0x1a')]();};}function respondWithResult(_0x1b9859,_0x374162){_0x374162=_0x374162||0xc8;return function(_0x492754){if(_0x492754){return _0x1b9859['status'](_0x374162)[_0xf8fa('0x1b')](_0x492754);}};}function respondWithFilteredResult(_0x52f0e5,_0x59885b){return function(_0x2ae944){if(_0x2ae944){var _0x117b6d=_0x2ae944[_0xf8fa('0x1c')],_0x32bd57=_0x59885b[_0xf8fa('0x1d')],_0x37d2e8=_0x59885b['offset']+_0x59885b['limit'],_0x28d168;if(_0x37d2e8>=_0x117b6d){_0x37d2e8=_0x117b6d;_0x28d168=0xc8;}else{_0x28d168=0xce;}_0x52f0e5[_0xf8fa('0x19')](_0x28d168);return _0x52f0e5['set']('Content-Range',_0x32bd57+'-'+_0x37d2e8+'/'+_0x117b6d)['json'](_0x2ae944);}return null;};}function patchUpdates(_0x4ef698){return function(_0x21c9c7){try{jsonpatch[_0xf8fa('0x1e')](_0x21c9c7,_0x4ef698,!![]);}catch(_0x3b1325){return BPromise[_0xf8fa('0x1f')](_0x3b1325);}return _0x21c9c7[_0xf8fa('0x20')]();};}function saveUpdates(_0x60c69,_0x17d970){return function(_0x2c6f8c){if(_0x2c6f8c){return _0x2c6f8c['update'](_0x60c69)[_0xf8fa('0x21')](function(_0xd914ae){return _0xd914ae;});}return null;};}function removeEntity(_0x1ec0f5,_0x38e28b){return function(_0x118294){if(_0x118294){return _0x118294['destroy']()[_0xf8fa('0x21')](function(){_0x1ec0f5[_0xf8fa('0x19')](0xcc)[_0xf8fa('0x1a')]();});}};}function handleEntityNotFound(_0x6f556,_0x1a6cc7){return function(_0x12e602){if(!_0x12e602){_0x6f556['sendStatus'](0x194);}return _0x12e602;};}function handleError(_0xd1cdf0,_0x4b32a7){_0x4b32a7=_0x4b32a7||0x1f4;return function(_0xe6d8b1){logger[_0xf8fa('0x22')](_0xe6d8b1['stack']);if(_0xe6d8b1[_0xf8fa('0x23')]){delete _0xe6d8b1[_0xf8fa('0x23')];}_0xd1cdf0[_0xf8fa('0x19')](_0x4b32a7)[_0xf8fa('0x24')](_0xe6d8b1);};}exports[_0xf8fa('0x25')]=function(_0xb24679,_0x132b6d){var _0x106436={'raw':![],'where':{'id':_0xb24679[_0xf8fa('0x26')]['id']}},_0x24ffed={};_0x24ffed['model']=_[_0xf8fa('0x27')](db['DashboardItem'][_0xf8fa('0x28')]);_0x24ffed[_0xf8fa('0x29')]=_[_0xf8fa('0x27')](_0xb24679['query']);_0x24ffed[_0xf8fa('0x2a')]=_[_0xf8fa('0x2b')](_0x24ffed[_0xf8fa('0x2c')],_0x24ffed['query']);_0x106436[_0xf8fa('0x2d')]=_[_0xf8fa('0x2b')](_0x24ffed[_0xf8fa('0x2c')],qs[_0xf8fa('0x2e')](_0xb24679[_0xf8fa('0x29')][_0xf8fa('0x2e')]));_0x106436[_0xf8fa('0x2d')]=_0x106436['attributes']['length']?_0x106436[_0xf8fa('0x2d')]:_0x24ffed[_0xf8fa('0x2c')];if(_0xb24679[_0xf8fa('0x29')][_0xf8fa('0x2f')]){_0x106436[_0xf8fa('0x30')]=[{'all':!![]}];}_0x106436=_[_0xf8fa('0x31')]({},_0x106436,_0xb24679['options']);return db['DashboardItem'][_0xf8fa('0x32')](_0x106436)[_0xf8fa('0x21')](handleEntityNotFound(_0x132b6d,null))[_0xf8fa('0x21')](respondWithResult(_0x132b6d,null))[_0xf8fa('0x33')](handleError(_0x132b6d,null));};exports['destroy']=function(_0x7491a2,_0x47911e){return db[_0xf8fa('0x34')]['find']({'where':{'id':_0x7491a2[_0xf8fa('0x26')]['id']}})[_0xf8fa('0x21')](handleEntityNotFound(_0x47911e,null))[_0xf8fa('0x21')](removeEntity(_0x47911e,null))[_0xf8fa('0x33')](handleError(_0x47911e,null));};function widgetAttributes(_0x1054e0){try{switch(_0x1054e0['type']){case _0xf8fa('0x35'):return[{'name':_0xf8fa('0x36'),'value':_0x1054e0[_0xf8fa('0x36')]||(_0x1054e0[_0xf8fa('0x37')]&&_0x1054e0[_0xf8fa('0x37')][0x0]?_0x1054e0[_0xf8fa('0x37')][0x0][_0xf8fa('0x38')]:undefined)||_0xf8fa('0x39')}];case'custom':return[{'name':_0xf8fa('0x3a'),'value':_0x1054e0[_0xf8fa('0x3a')]||(_0x1054e0[_0xf8fa('0x37')]&&_0x1054e0[_0xf8fa('0x37')][0x0]?_0x1054e0['attrs'][0x0]['value']:undefined)||''}];case'clock':return[{'name':_0xf8fa('0x3b'),'value':_0x1054e0[_0xf8fa('0x3b')]||(_0x1054e0['attrs']&&_0x1054e0['attrs'][0x0]?_0x1054e0[_0xf8fa('0x37')][0x0][_0xf8fa('0x38')]:undefined)||_0xf8fa('0x3c')},{'name':_0xf8fa('0x3d'),'value':_0x1054e0[_0xf8fa('0x3d')]||(_0x1054e0[_0xf8fa('0x37')]&&_0x1054e0['attrs'][0x1]?_0x1054e0[_0xf8fa('0x37')][0x1][_0xf8fa('0x38')]:undefined)||_0xf8fa('0x3e')},{'name':_0xf8fa('0x3f'),'value':_0x1054e0[_0xf8fa('0x3f')]||(_0x1054e0[_0xf8fa('0x37')]&&_0x1054e0[_0xf8fa('0x37')][0x2]?_0x1054e0[_0xf8fa('0x37')][0x2]['value']:undefined)||0xc}];case _0xf8fa('0x40'):return[{'name':_0xf8fa('0x41'),'value':_0x1054e0['attrMetric']||(_0x1054e0['attrs']&&_0x1054e0[_0xf8fa('0x37')][0x0]?_0x1054e0[_0xf8fa('0x37')][0x0]['value']:undefined)||_0xf8fa('0x42')},{'name':_0xf8fa('0x43'),'value':_0x1054e0['attrVoiceQueues']||(_0x1054e0[_0xf8fa('0x37')]&&_0x1054e0[_0xf8fa('0x37')][0x1]?_0x1054e0['attrs'][0x1][_0xf8fa('0x38')]:undefined)||[]},{'name':_0xf8fa('0x3f'),'value':_0x1054e0[_0xf8fa('0x3f')]||(_0x1054e0[_0xf8fa('0x37')]&&_0x1054e0[_0xf8fa('0x37')][0x2]?_0x1054e0[_0xf8fa('0x37')][0x2][_0xf8fa('0x38')]:undefined)||0x14}];case _0xf8fa('0x44'):case _0xf8fa('0x45'):return[{'name':_0xf8fa('0x46'),'value':_0x1054e0[_0xf8fa('0x46')]||(_0x1054e0[_0xf8fa('0x37')]&&_0x1054e0[_0xf8fa('0x37')][0x0]?_0x1054e0[_0xf8fa('0x37')][0x0][_0xf8fa('0x38')]:undefined)||'total'},{'name':_0xf8fa('0x47'),'value':_0x1054e0[_0xf8fa('0x47')]||(_0x1054e0[_0xf8fa('0x37')]&&_0x1054e0['attrs'][0x1]?_0x1054e0[_0xf8fa('0x37')][0x1][_0xf8fa('0x38')]:undefined)||null},{'name':_0xf8fa('0x48'),'value':_0x1054e0[_0xf8fa('0x48')]||(_0x1054e0['attrs']&&_0x1054e0[_0xf8fa('0x37')][0x2]?_0x1054e0['attrs'][0x2][_0xf8fa('0x38')]:undefined)||null},{'name':_0xf8fa('0x43'),'value':_0x1054e0[_0xf8fa('0x43')]||(_0x1054e0[_0xf8fa('0x37')]&&_0x1054e0[_0xf8fa('0x37')][0x3]?_0x1054e0[_0xf8fa('0x37')][0x3][_0xf8fa('0x38')]:undefined)||[]}];case _0xf8fa('0x49'):return[{'name':_0xf8fa('0x4a'),'type':_0x1054e0[_0xf8fa('0x4b')]||(_0x1054e0[_0xf8fa('0x37')]&&_0x1054e0[_0xf8fa('0x37')][0x0]?_0x1054e0[_0xf8fa('0x37')][0x0]['type']:undefined)||null,'value':_0x1054e0['attrReport']||(_0x1054e0[_0xf8fa('0x37')]&&_0x1054e0[_0xf8fa('0x37')][0x0]?_0x1054e0['attrs'][0x0][_0xf8fa('0x38')]:undefined)||null},{'name':'attrRefresh','value':_0x1054e0[_0xf8fa('0x4c')]||(_0x1054e0[_0xf8fa('0x37')]&&_0x1054e0[_0xf8fa('0x37')][0x1]?_0x1054e0[_0xf8fa('0x37')][0x1][_0xf8fa('0x38')]:undefined)||0x0}];default:return[];}}catch(_0x5f3e9d){logger[_0xf8fa('0x22')]('widgetAttributes:\x20%s',JSON[_0xf8fa('0x4d')](_0x5f3e9d));return[];}}exports[_0xf8fa('0x4e')]=function(_0x2a0085,_0x39f444){if(_0x2a0085[_0xf8fa('0x4f')]){_0x2a0085[_0xf8fa('0x4f')]['attrs']=widgetAttributes(_0x2a0085[_0xf8fa('0x4f')]);}return db['DashboardItem'][_0xf8fa('0x4e')](_0x2a0085[_0xf8fa('0x4f')],{})[_0xf8fa('0x21')](respondWithResult(_0x39f444,0xc9))[_0xf8fa('0x33')](handleError(_0x39f444,null));};exports[_0xf8fa('0x50')]=function(_0x283b2c,_0xfc8f22){if(_0x283b2c[_0xf8fa('0x4f')]['id']){delete _0x283b2c[_0xf8fa('0x4f')]['id'];}_0x283b2c['body']['attrs']=widgetAttributes(_0x283b2c[_0xf8fa('0x4f')]);return db[_0xf8fa('0x34')]['find']({'where':{'id':_0x283b2c[_0xf8fa('0x26')]['id']}})[_0xf8fa('0x21')](handleEntityNotFound(_0xfc8f22,null))[_0xf8fa('0x21')](saveUpdates(_0x283b2c[_0xf8fa('0x4f')],null))['then'](respondWithResult(_0xfc8f22,null))[_0xf8fa('0x33')](handleError(_0xfc8f22,null));};