Built motion from commit (unavailable).|2.5.12
[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 _0xae4f=['intersection','model','fields','attributes','length','includeAll','include','options','find','then','catch','destroy','iframe','attrUrl','attrs','value','https://','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','attrMetric','attrVoiceQueues','multibar-chart','pie-chart','attrSerie1','total','attrSerie2','attrSerie3','web-report','attrReport','reportType','attrRefresh','widgetAttributes:\x20%s','create','body','eml-format','rimraf','zip-dir','request-promise','moment','mustache','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','socket.io-emitter','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','error','stack','show','params','keys','DashboardItem','query','filters'];(function(_0x18883e,_0x262de6){var _0x19a4e8=function(_0x2d26a2){while(--_0x2d26a2){_0x18883e['push'](_0x18883e['shift']());}};_0x19a4e8(++_0x262de6);}(_0xae4f,0x190));var _0xfae4=function(_0x3c96d9,_0x460c28){_0x3c96d9=_0x3c96d9-0x0;var _0x250fcf=_0xae4f[_0x3c96d9];return _0x250fcf;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xfae4('0x0'));var rimraf=require(_0xfae4('0x1'));var zipdir=require(_0xfae4('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfae4('0x3'));var moment=require(_0xfae4('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xfae4('0x5'));var util=require('util');var path=require(_0xfae4('0x6'));var sox=require(_0xfae4('0x7'));var csv=require(_0xfae4('0x8'));var ejs=require(_0xfae4('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xfae4('0xa'));var crypto=require(_0xfae4('0xb'));var jsforce=require(_0xfae4('0xc'));var deskjs=require(_0xfae4('0xd'));var toCsv=require('to-csv');var querystring=require(_0xfae4('0xe'));var Papa=require(_0xfae4('0xf'));var Redis=require(_0xfae4('0x10'));var authService=require(_0xfae4('0x11'));var qs=require(_0xfae4('0x12'));var as=require(_0xfae4('0x13'));var hardwareService=require(_0xfae4('0x14'));var logger=require(_0xfae4('0x15'))('api');var utils=require(_0xfae4('0x16'));var config=require(_0xfae4('0x17'));var licenseUtil=require(_0xfae4('0x18'));var db=require(_0xfae4('0x19'))['db'];config['redis']=_['defaults'](config[_0xfae4('0x1a')],{'host':'localhost','port':0x18eb});var socket=require(_0xfae4('0x1b'))(new Redis(config['redis']));require('./dashboardItem.socket')[_0xfae4('0x1c')](socket);function respondWithStatusCode(_0x1ca5ad,_0x48271e){_0x48271e=_0x48271e||0xcc;return function(_0x335fa3){if(_0x335fa3){return _0x1ca5ad[_0xfae4('0x1d')](_0x48271e);}return _0x1ca5ad[_0xfae4('0x1e')](_0x48271e)[_0xfae4('0x1f')]();};}function respondWithResult(_0x4e08f6,_0x30a916){_0x30a916=_0x30a916||0xc8;return function(_0x117c1a){if(_0x117c1a){return _0x4e08f6[_0xfae4('0x1e')](_0x30a916)[_0xfae4('0x20')](_0x117c1a);}};}function respondWithFilteredResult(_0x4b06b6,_0x173c19){return function(_0x1e9cce){if(_0x1e9cce){var _0x3335c4=_0x1e9cce[_0xfae4('0x21')],_0x4ec981=_0x173c19[_0xfae4('0x22')],_0x529052=_0x173c19[_0xfae4('0x22')]+_0x173c19[_0xfae4('0x23')],_0x158536;if(_0x529052>=_0x3335c4){_0x529052=_0x3335c4;_0x158536=0xc8;}else{_0x158536=0xce;}_0x4b06b6[_0xfae4('0x1e')](_0x158536);return _0x4b06b6[_0xfae4('0x24')](_0xfae4('0x25'),_0x4ec981+'-'+_0x529052+'/'+_0x3335c4)['json'](_0x1e9cce);}return null;};}function patchUpdates(_0x568187){return function(_0x5e9c1d){try{jsonpatch[_0xfae4('0x26')](_0x5e9c1d,_0x568187,!![]);}catch(_0x58d559){return BPromise[_0xfae4('0x27')](_0x58d559);}return _0x5e9c1d[_0xfae4('0x28')]();};}function saveUpdates(_0x261461,_0x2bc67c){return function(_0x120391){if(_0x120391){return _0x120391[_0xfae4('0x29')](_0x261461)['then'](function(_0x650f40){return _0x650f40;});}return null;};}function removeEntity(_0x2946f5,_0x15f9ef){return function(_0x24bd7e){if(_0x24bd7e){return _0x24bd7e['destroy']()['then'](function(){_0x2946f5[_0xfae4('0x1e')](0xcc)[_0xfae4('0x1f')]();});}};}function handleEntityNotFound(_0x40649f,_0x2b6906){return function(_0x1312fc){if(!_0x1312fc){_0x40649f[_0xfae4('0x1d')](0x194);}return _0x1312fc;};}function handleError(_0x54acb7,_0x405320){_0x405320=_0x405320||0x1f4;return function(_0xb3073c){logger[_0xfae4('0x2a')](_0xb3073c[_0xfae4('0x2b')]);if(_0xb3073c['name']){delete _0xb3073c['name'];}_0x54acb7['status'](_0x405320)['send'](_0xb3073c);};}exports[_0xfae4('0x2c')]=function(_0x1bf4f8,_0xa8d68a){var _0x50c519={'raw':![],'where':{'id':_0x1bf4f8[_0xfae4('0x2d')]['id']}},_0x387087={};_0x387087['model']=_[_0xfae4('0x2e')](db[_0xfae4('0x2f')]['rawAttributes']);_0x387087[_0xfae4('0x30')]=_['keys'](_0x1bf4f8[_0xfae4('0x30')]);_0x387087[_0xfae4('0x31')]=_[_0xfae4('0x32')](_0x387087[_0xfae4('0x33')],_0x387087[_0xfae4('0x30')]);_0x50c519['attributes']=_[_0xfae4('0x32')](_0x387087[_0xfae4('0x33')],qs['fields'](_0x1bf4f8[_0xfae4('0x30')][_0xfae4('0x34')]));_0x50c519[_0xfae4('0x35')]=_0x50c519['attributes'][_0xfae4('0x36')]?_0x50c519[_0xfae4('0x35')]:_0x387087[_0xfae4('0x33')];if(_0x1bf4f8[_0xfae4('0x30')][_0xfae4('0x37')]){_0x50c519[_0xfae4('0x38')]=[{'all':!![]}];}_0x50c519=_['merge']({},_0x50c519,_0x1bf4f8[_0xfae4('0x39')]);return db[_0xfae4('0x2f')][_0xfae4('0x3a')](_0x50c519)['then'](handleEntityNotFound(_0xa8d68a,null))[_0xfae4('0x3b')](respondWithResult(_0xa8d68a,null))[_0xfae4('0x3c')](handleError(_0xa8d68a,null));};exports[_0xfae4('0x3d')]=function(_0x244972,_0x3daf84){return db[_0xfae4('0x2f')][_0xfae4('0x3a')]({'where':{'id':_0x244972['params']['id']}})[_0xfae4('0x3b')](handleEntityNotFound(_0x3daf84,null))[_0xfae4('0x3b')](removeEntity(_0x3daf84,null))[_0xfae4('0x3c')](handleError(_0x3daf84,null));};function widgetAttributes(_0x10450a){try{switch(_0x10450a['type']){case _0xfae4('0x3e'):return[{'name':'attrUrl','value':_0x10450a[_0xfae4('0x3f')]||(_0x10450a[_0xfae4('0x40')]&&_0x10450a['attrs'][0x0]?_0x10450a[_0xfae4('0x40')][0x0][_0xfae4('0x41')]:undefined)||_0xfae4('0x42')}];case'custom':return[{'name':_0xfae4('0x43'),'value':_0x10450a[_0xfae4('0x43')]||(_0x10450a[_0xfae4('0x40')]&&_0x10450a[_0xfae4('0x40')][0x0]?_0x10450a['attrs'][0x0][_0xfae4('0x41')]:undefined)||''}];case _0xfae4('0x44'):return[{'name':_0xfae4('0x45'),'value':_0x10450a[_0xfae4('0x45')]||(_0x10450a['attrs']&&_0x10450a['attrs'][0x0]?_0x10450a[_0xfae4('0x40')][0x0][_0xfae4('0x41')]:undefined)||_0xfae4('0x46')},{'name':'attrTimezone','value':_0x10450a[_0xfae4('0x47')]||(_0x10450a[_0xfae4('0x40')]&&_0x10450a[_0xfae4('0x40')][0x1]?_0x10450a['attrs'][0x1][_0xfae4('0x41')]:undefined)||_0xfae4('0x48')},{'name':_0xfae4('0x49'),'value':_0x10450a[_0xfae4('0x49')]||(_0x10450a['attrs']&&_0x10450a['attrs'][0x2]?_0x10450a[_0xfae4('0x40')][0x2][_0xfae4('0x41')]:undefined)||0xc}];case _0xfae4('0x4a'):return[{'name':_0xfae4('0x4b'),'value':_0x10450a['attrMetric']||(_0x10450a[_0xfae4('0x40')]&&_0x10450a['attrs'][0x0]?_0x10450a[_0xfae4('0x40')][0x0]['value']:undefined)||'total'},{'name':'attrVoiceQueues','value':_0x10450a[_0xfae4('0x4c')]||(_0x10450a[_0xfae4('0x40')]&&_0x10450a['attrs'][0x1]?_0x10450a['attrs'][0x1][_0xfae4('0x41')]:undefined)||[]},{'name':_0xfae4('0x49'),'value':_0x10450a[_0xfae4('0x49')]||(_0x10450a[_0xfae4('0x40')]&&_0x10450a[_0xfae4('0x40')][0x2]?_0x10450a[_0xfae4('0x40')][0x2][_0xfae4('0x41')]:undefined)||0x14}];case _0xfae4('0x4d'):case _0xfae4('0x4e'):return[{'name':_0xfae4('0x4f'),'value':_0x10450a[_0xfae4('0x4f')]||(_0x10450a[_0xfae4('0x40')]&&_0x10450a[_0xfae4('0x40')][0x0]?_0x10450a[_0xfae4('0x40')][0x0][_0xfae4('0x41')]:undefined)||_0xfae4('0x50')},{'name':_0xfae4('0x51'),'value':_0x10450a[_0xfae4('0x51')]||(_0x10450a[_0xfae4('0x40')]&&_0x10450a[_0xfae4('0x40')][0x1]?_0x10450a['attrs'][0x1]['value']:undefined)||null},{'name':'attrSerie3','value':_0x10450a[_0xfae4('0x52')]||(_0x10450a[_0xfae4('0x40')]&&_0x10450a['attrs'][0x2]?_0x10450a[_0xfae4('0x40')][0x2][_0xfae4('0x41')]:undefined)||null},{'name':_0xfae4('0x4c'),'value':_0x10450a['attrVoiceQueues']||(_0x10450a[_0xfae4('0x40')]&&_0x10450a[_0xfae4('0x40')][0x3]?_0x10450a[_0xfae4('0x40')][0x3][_0xfae4('0x41')]:undefined)||[]}];case _0xfae4('0x53'):return[{'name':_0xfae4('0x54'),'type':_0x10450a[_0xfae4('0x55')]||(_0x10450a[_0xfae4('0x40')]&&_0x10450a[_0xfae4('0x40')][0x0]?_0x10450a['attrs'][0x0]['type']:undefined)||null,'value':_0x10450a['attrReport']||(_0x10450a['attrs']&&_0x10450a['attrs'][0x0]?_0x10450a[_0xfae4('0x40')][0x0][_0xfae4('0x41')]:undefined)||null},{'name':_0xfae4('0x56'),'value':_0x10450a[_0xfae4('0x56')]||(_0x10450a[_0xfae4('0x40')]&&_0x10450a['attrs'][0x1]?_0x10450a['attrs'][0x1][_0xfae4('0x41')]:undefined)||0x0}];default:return[];}}catch(_0x296512){logger[_0xfae4('0x2a')](_0xfae4('0x57'),JSON['stringify'](_0x296512));return[];}}exports[_0xfae4('0x58')]=function(_0x5e2657,_0x43a6eb){if(_0x5e2657[_0xfae4('0x59')]){_0x5e2657['body']['attrs']=widgetAttributes(_0x5e2657['body']);}return db['DashboardItem']['create'](_0x5e2657[_0xfae4('0x59')],{})[_0xfae4('0x3b')](respondWithResult(_0x43a6eb,0xc9))[_0xfae4('0x3c')](handleError(_0x43a6eb,null));};exports[_0xfae4('0x29')]=function(_0x3a0643,_0xf5a80){if(_0x3a0643[_0xfae4('0x59')]['id']){delete _0x3a0643[_0xfae4('0x59')]['id'];}_0x3a0643[_0xfae4('0x59')][_0xfae4('0x40')]=widgetAttributes(_0x3a0643['body']);return db[_0xfae4('0x2f')][_0xfae4('0x3a')]({'where':{'id':_0x3a0643[_0xfae4('0x2d')]['id']}})[_0xfae4('0x3b')](handleEntityNotFound(_0xf5a80,null))[_0xfae4('0x3b')](saveUpdates(_0x3a0643[_0xfae4('0x59')],null))['then'](respondWithResult(_0xf5a80,null))['catch'](handleError(_0xf5a80,null));};