Built motion from commit (unavailable).|2.5.13
[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 _0x5c4f=['socket.io-emitter','./dashboardItem.socket','register','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','stack','name','show','params','DashboardItem','rawAttributes','keys','query','filters','intersection','model','attributes','fields','includeAll','merge','then','destroy','catch','attrUrl','attrs','custom','attrPath','value','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','pie-chart','attrSerie1','web-report','attrReport','reportType','type','attrRefresh','widgetAttributes:\x20%s','stringify','create','body','find','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','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'];(function(_0x1da527,_0x2dc953){var _0x40fc7c=function(_0x9949f5){while(--_0x9949f5){_0x1da527['push'](_0x1da527['shift']());}};_0x40fc7c(++_0x2dc953);}(_0x5c4f,0x1a8));var _0xf5c4=function(_0x36863c,_0xa5a118){_0x36863c=_0x36863c-0x0;var _0x562176=_0x5c4f[_0x36863c];return _0x562176;};'use strict';var pdf=require(_0xf5c4('0x0'));var emlformat=require(_0xf5c4('0x1'));var rimraf=require(_0xf5c4('0x2'));var zipdir=require(_0xf5c4('0x3'));var jsonpatch=require(_0xf5c4('0x4'));var rp=require(_0xf5c4('0x5'));var moment=require('moment');var BPromise=require(_0xf5c4('0x6'));var Mustache=require(_0xf5c4('0x7'));var util=require(_0xf5c4('0x8'));var path=require(_0xf5c4('0x9'));var sox=require(_0xf5c4('0xa'));var csv=require(_0xf5c4('0xb'));var ejs=require(_0xf5c4('0xc'));var fs=require('fs');var _=require(_0xf5c4('0xd'));var squel=require(_0xf5c4('0xe'));var crypto=require(_0xf5c4('0xf'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xf5c4('0xb'));var querystring=require(_0xf5c4('0x10'));var Papa=require(_0xf5c4('0x11'));var Redis=require(_0xf5c4('0x12'));var authService=require(_0xf5c4('0x13'));var qs=require(_0xf5c4('0x14'));var as=require(_0xf5c4('0x15'));var hardwareService=require(_0xf5c4('0x16'));var logger=require('../../config/logger')(_0xf5c4('0x17'));var utils=require(_0xf5c4('0x18'));var config=require(_0xf5c4('0x19'));var licenseUtil=require(_0xf5c4('0x1a'));var db=require(_0xf5c4('0x1b'))['db'];config[_0xf5c4('0x1c')]=_[_0xf5c4('0x1d')](config[_0xf5c4('0x1c')],{'host':_0xf5c4('0x1e'),'port':0x18eb});var socket=require(_0xf5c4('0x1f'))(new Redis(config['redis']));require(_0xf5c4('0x20'))[_0xf5c4('0x21')](socket);function respondWithStatusCode(_0x5298e1,_0x4c58b0){_0x4c58b0=_0x4c58b0||0xcc;return function(_0x102c3b){if(_0x102c3b){return _0x5298e1[_0xf5c4('0x22')](_0x4c58b0);}return _0x5298e1['status'](_0x4c58b0)[_0xf5c4('0x23')]();};}function respondWithResult(_0x70d610,_0x8f6ae0){_0x8f6ae0=_0x8f6ae0||0xc8;return function(_0x1480ba){if(_0x1480ba){return _0x70d610[_0xf5c4('0x24')](_0x8f6ae0)[_0xf5c4('0x25')](_0x1480ba);}};}function respondWithFilteredResult(_0x3105e2,_0x3d9c4d){return function(_0x503169){if(_0x503169){var _0x551b49=_0x503169[_0xf5c4('0x26')],_0x2aa735=_0x3d9c4d['offset'],_0x275013=_0x3d9c4d[_0xf5c4('0x27')]+_0x3d9c4d[_0xf5c4('0x28')],_0x4d5144;if(_0x275013>=_0x551b49){_0x275013=_0x551b49;_0x4d5144=0xc8;}else{_0x4d5144=0xce;}_0x3105e2['status'](_0x4d5144);return _0x3105e2[_0xf5c4('0x29')](_0xf5c4('0x2a'),_0x2aa735+'-'+_0x275013+'/'+_0x551b49)[_0xf5c4('0x25')](_0x503169);}return null;};}function patchUpdates(_0x540505){return function(_0x1a94ce){try{jsonpatch[_0xf5c4('0x2b')](_0x1a94ce,_0x540505,!![]);}catch(_0x2bbf7c){return BPromise[_0xf5c4('0x2c')](_0x2bbf7c);}return _0x1a94ce[_0xf5c4('0x2d')]();};}function saveUpdates(_0x2d659f,_0x2212b5){return function(_0x54c9d3){if(_0x54c9d3){return _0x54c9d3[_0xf5c4('0x2e')](_0x2d659f)['then'](function(_0x2ffcf8){return _0x2ffcf8;});}return null;};}function removeEntity(_0x4f2b62,_0x355d58){return function(_0x4711ca){if(_0x4711ca){return _0x4711ca['destroy']()['then'](function(){_0x4f2b62[_0xf5c4('0x24')](0xcc)[_0xf5c4('0x23')]();});}};}function handleEntityNotFound(_0x3414b4,_0x3f4908){return function(_0x1a5466){if(!_0x1a5466){_0x3414b4[_0xf5c4('0x22')](0x194);}return _0x1a5466;};}function handleError(_0xecc89f,_0x12fc17){_0x12fc17=_0x12fc17||0x1f4;return function(_0x6500bc){logger['error'](_0x6500bc[_0xf5c4('0x2f')]);if(_0x6500bc[_0xf5c4('0x30')]){delete _0x6500bc[_0xf5c4('0x30')];}_0xecc89f[_0xf5c4('0x24')](_0x12fc17)['send'](_0x6500bc);};}exports[_0xf5c4('0x31')]=function(_0x3bc298,_0x26faad){var _0xf4a6cf={'raw':![],'where':{'id':_0x3bc298[_0xf5c4('0x32')]['id']}},_0x431f3e={};_0x431f3e['model']=_['keys'](db[_0xf5c4('0x33')][_0xf5c4('0x34')]);_0x431f3e['query']=_[_0xf5c4('0x35')](_0x3bc298[_0xf5c4('0x36')]);_0x431f3e[_0xf5c4('0x37')]=_[_0xf5c4('0x38')](_0x431f3e[_0xf5c4('0x39')],_0x431f3e[_0xf5c4('0x36')]);_0xf4a6cf[_0xf5c4('0x3a')]=_['intersection'](_0x431f3e['model'],qs[_0xf5c4('0x3b')](_0x3bc298['query'][_0xf5c4('0x3b')]));_0xf4a6cf['attributes']=_0xf4a6cf[_0xf5c4('0x3a')]['length']?_0xf4a6cf[_0xf5c4('0x3a')]:_0x431f3e[_0xf5c4('0x39')];if(_0x3bc298['query'][_0xf5c4('0x3c')]){_0xf4a6cf['include']=[{'all':!![]}];}_0xf4a6cf=_[_0xf5c4('0x3d')]({},_0xf4a6cf,_0x3bc298['options']);return db[_0xf5c4('0x33')]['find'](_0xf4a6cf)['then'](handleEntityNotFound(_0x26faad,null))[_0xf5c4('0x3e')](respondWithResult(_0x26faad,null))['catch'](handleError(_0x26faad,null));};exports[_0xf5c4('0x3f')]=function(_0x518fa5,_0x3ebc54){return db['DashboardItem']['find']({'where':{'id':_0x518fa5[_0xf5c4('0x32')]['id']}})[_0xf5c4('0x3e')](handleEntityNotFound(_0x3ebc54,null))[_0xf5c4('0x3e')](removeEntity(_0x3ebc54,null))[_0xf5c4('0x40')](handleError(_0x3ebc54,null));};function widgetAttributes(_0x1dad18){try{switch(_0x1dad18['type']){case'iframe':return[{'name':_0xf5c4('0x41'),'value':_0x1dad18['attrUrl']||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18['attrs'][0x0]?_0x1dad18['attrs'][0x0]['value']:undefined)||'https://'}];case _0xf5c4('0x43'):return[{'name':_0xf5c4('0x44'),'value':_0x1dad18[_0xf5c4('0x44')]||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18[_0xf5c4('0x42')][0x0]?_0x1dad18[_0xf5c4('0x42')][0x0][_0xf5c4('0x45')]:undefined)||''}];case'clock':return[{'name':_0xf5c4('0x46'),'value':_0x1dad18['attrHourFormat']||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18[_0xf5c4('0x42')][0x0]?_0x1dad18['attrs'][0x0][_0xf5c4('0x45')]:undefined)||_0xf5c4('0x47')},{'name':_0xf5c4('0x48'),'value':_0x1dad18['attrTimezone']||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18[_0xf5c4('0x42')][0x1]?_0x1dad18[_0xf5c4('0x42')][0x1][_0xf5c4('0x45')]:undefined)||_0xf5c4('0x49')},{'name':_0xf5c4('0x4a'),'value':_0x1dad18[_0xf5c4('0x4a')]||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18['attrs'][0x2]?_0x1dad18['attrs'][0x2][_0xf5c4('0x45')]:undefined)||0xc}];case _0xf5c4('0x4b'):return[{'name':_0xf5c4('0x4c'),'value':_0x1dad18['attrMetric']||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18[_0xf5c4('0x42')][0x0]?_0x1dad18[_0xf5c4('0x42')][0x0][_0xf5c4('0x45')]:undefined)||_0xf5c4('0x4d')},{'name':_0xf5c4('0x4e'),'value':_0x1dad18['attrVoiceQueues']||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18['attrs'][0x1]?_0x1dad18[_0xf5c4('0x42')][0x1]['value']:undefined)||[]},{'name':_0xf5c4('0x4a'),'value':_0x1dad18['attrFontSize']||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18['attrs'][0x2]?_0x1dad18['attrs'][0x2][_0xf5c4('0x45')]:undefined)||0x14}];case'multibar-chart':case _0xf5c4('0x4f'):return[{'name':_0xf5c4('0x50'),'value':_0x1dad18[_0xf5c4('0x50')]||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18[_0xf5c4('0x42')][0x0]?_0x1dad18[_0xf5c4('0x42')][0x0]['value']:undefined)||_0xf5c4('0x4d')},{'name':'attrSerie2','value':_0x1dad18['attrSerie2']||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18['attrs'][0x1]?_0x1dad18['attrs'][0x1][_0xf5c4('0x45')]:undefined)||null},{'name':'attrSerie3','value':_0x1dad18['attrSerie3']||(_0x1dad18['attrs']&&_0x1dad18['attrs'][0x2]?_0x1dad18[_0xf5c4('0x42')][0x2][_0xf5c4('0x45')]:undefined)||null},{'name':_0xf5c4('0x4e'),'value':_0x1dad18[_0xf5c4('0x4e')]||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18[_0xf5c4('0x42')][0x3]?_0x1dad18[_0xf5c4('0x42')][0x3][_0xf5c4('0x45')]:undefined)||[]}];case _0xf5c4('0x51'):return[{'name':_0xf5c4('0x52'),'type':_0x1dad18[_0xf5c4('0x53')]||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18[_0xf5c4('0x42')][0x0]?_0x1dad18['attrs'][0x0][_0xf5c4('0x54')]:undefined)||null,'value':_0x1dad18[_0xf5c4('0x52')]||(_0x1dad18[_0xf5c4('0x42')]&&_0x1dad18['attrs'][0x0]?_0x1dad18[_0xf5c4('0x42')][0x0]['value']:undefined)||null},{'name':_0xf5c4('0x55'),'value':_0x1dad18[_0xf5c4('0x55')]||(_0x1dad18['attrs']&&_0x1dad18[_0xf5c4('0x42')][0x1]?_0x1dad18[_0xf5c4('0x42')][0x1][_0xf5c4('0x45')]:undefined)||0x0}];default:return[];}}catch(_0x4d88ca){logger['error'](_0xf5c4('0x56'),JSON[_0xf5c4('0x57')](_0x4d88ca));return[];}}exports[_0xf5c4('0x58')]=function(_0x4c2cea,_0x55911c){if(_0x4c2cea['body']){_0x4c2cea['body']['attrs']=widgetAttributes(_0x4c2cea['body']);}return db[_0xf5c4('0x33')][_0xf5c4('0x58')](_0x4c2cea[_0xf5c4('0x59')],{})['then'](respondWithResult(_0x55911c,0xc9))[_0xf5c4('0x40')](handleError(_0x55911c,null));};exports[_0xf5c4('0x2e')]=function(_0x372690,_0x5116a7){if(_0x372690['body']['id']){delete _0x372690[_0xf5c4('0x59')]['id'];}_0x372690[_0xf5c4('0x59')][_0xf5c4('0x42')]=widgetAttributes(_0x372690[_0xf5c4('0x59')]);return db['DashboardItem'][_0xf5c4('0x5a')]({'where':{'id':_0x372690[_0xf5c4('0x32')]['id']}})[_0xf5c4('0x3e')](handleEntityNotFound(_0x5116a7,null))[_0xf5c4('0x3e')](saveUpdates(_0x372690['body'],null))[_0xf5c4('0x3e')](respondWithResult(_0x5116a7,null))[_0xf5c4('0x40')](handleError(_0x5116a7,null));};