Built motion from commit (unavailable).|2.5.14
[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 _0x94a4=['to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./dashboardItem.socket','status','end','offset','limit','set','Content-Range','json','reject','save','then','destroy','sendStatus','error','name','send','params','model','keys','DashboardItem','rawAttributes','query','filters','intersection','attributes','fields','length','includeAll','options','find','catch','type','iframe','attrUrl','attrs','value','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','multibar-chart','attrSerie1','attrSerie2','attrSerie3','attrReport','attrRefresh','widgetAttributes:\x20%s','create','body','update','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','ejs','lodash','squel','crypto','jsforce'];(function(_0x1e003e,_0x43482a){var _0x7eb25=function(_0x2bbc67){while(--_0x2bbc67){_0x1e003e['push'](_0x1e003e['shift']());}};_0x7eb25(++_0x43482a);}(_0x94a4,0xee));var _0x494a=function(_0x4ae6ef,_0xc2af80){_0x4ae6ef=_0x4ae6ef-0x0;var _0x3cbb4e=_0x94a4[_0x4ae6ef];return _0x3cbb4e;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x494a('0x0'));var jsonpatch=require(_0x494a('0x1'));var rp=require(_0x494a('0x2'));var moment=require(_0x494a('0x3'));var BPromise=require(_0x494a('0x4'));var Mustache=require('mustache');var util=require(_0x494a('0x5'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x494a('0x6'));var fs=require('fs');var _=require(_0x494a('0x7'));var squel=require(_0x494a('0x8'));var crypto=require(_0x494a('0x9'));var jsforce=require(_0x494a('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x494a('0xb'));var querystring=require(_0x494a('0xc'));var Papa=require(_0x494a('0xd'));var Redis=require(_0x494a('0xe'));var authService=require(_0x494a('0xf'));var qs=require(_0x494a('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x494a('0x11'));var logger=require(_0x494a('0x12'))('api');var utils=require(_0x494a('0x13'));var config=require(_0x494a('0x14'));var licenseUtil=require(_0x494a('0x15'));var db=require(_0x494a('0x16'))['db'];config[_0x494a('0x17')]=_[_0x494a('0x18')](config['redis'],{'host':_0x494a('0x19'),'port':0x18eb});var socket=require(_0x494a('0x1a'))(new Redis(config['redis']));require(_0x494a('0x1b'))['register'](socket);function respondWithStatusCode(_0x365c26,_0x55864c){_0x55864c=_0x55864c||0xcc;return function(_0x552c20){if(_0x552c20){return _0x365c26['sendStatus'](_0x55864c);}return _0x365c26[_0x494a('0x1c')](_0x55864c)[_0x494a('0x1d')]();};}function respondWithResult(_0x2cc14f,_0x1fbbf4){_0x1fbbf4=_0x1fbbf4||0xc8;return function(_0x294a6d){if(_0x294a6d){return _0x2cc14f[_0x494a('0x1c')](_0x1fbbf4)['json'](_0x294a6d);}};}function respondWithFilteredResult(_0x586845,_0x40fa8b){return function(_0x1ac691){if(_0x1ac691){var _0x1b50d7=_0x1ac691['count'],_0x381703=_0x40fa8b[_0x494a('0x1e')],_0x45d0c7=_0x40fa8b[_0x494a('0x1e')]+_0x40fa8b[_0x494a('0x1f')],_0x56fa97;if(_0x45d0c7>=_0x1b50d7){_0x45d0c7=_0x1b50d7;_0x56fa97=0xc8;}else{_0x56fa97=0xce;}_0x586845[_0x494a('0x1c')](_0x56fa97);return _0x586845[_0x494a('0x20')](_0x494a('0x21'),_0x381703+'-'+_0x45d0c7+'/'+_0x1b50d7)[_0x494a('0x22')](_0x1ac691);}return null;};}function patchUpdates(_0x3ffdfc){return function(_0x2f4e1c){try{jsonpatch['apply'](_0x2f4e1c,_0x3ffdfc,!![]);}catch(_0x12a057){return BPromise[_0x494a('0x23')](_0x12a057);}return _0x2f4e1c[_0x494a('0x24')]();};}function saveUpdates(_0x4fb5c3,_0x106579){return function(_0x5d3ad0){if(_0x5d3ad0){return _0x5d3ad0['update'](_0x4fb5c3)[_0x494a('0x25')](function(_0x286c3f){return _0x286c3f;});}return null;};}function removeEntity(_0x559ab1,_0x408ea6){return function(_0x123b32){if(_0x123b32){return _0x123b32[_0x494a('0x26')]()['then'](function(){_0x559ab1[_0x494a('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3f372e,_0x56812f){return function(_0x879ae6){if(!_0x879ae6){_0x3f372e[_0x494a('0x27')](0x194);}return _0x879ae6;};}function handleError(_0x23a836,_0x5e5001){_0x5e5001=_0x5e5001||0x1f4;return function(_0x1a4249){logger[_0x494a('0x28')](_0x1a4249['stack']);if(_0x1a4249[_0x494a('0x29')]){delete _0x1a4249[_0x494a('0x29')];}_0x23a836[_0x494a('0x1c')](_0x5e5001)[_0x494a('0x2a')](_0x1a4249);};}exports['show']=function(_0xbbb8e2,_0x317a87){var _0x5ba8db={'raw':![],'where':{'id':_0xbbb8e2[_0x494a('0x2b')]['id']}},_0x42d934={};_0x42d934[_0x494a('0x2c')]=_[_0x494a('0x2d')](db[_0x494a('0x2e')][_0x494a('0x2f')]);_0x42d934[_0x494a('0x30')]=_[_0x494a('0x2d')](_0xbbb8e2[_0x494a('0x30')]);_0x42d934[_0x494a('0x31')]=_[_0x494a('0x32')](_0x42d934['model'],_0x42d934['query']);_0x5ba8db[_0x494a('0x33')]=_[_0x494a('0x32')](_0x42d934[_0x494a('0x2c')],qs[_0x494a('0x34')](_0xbbb8e2[_0x494a('0x30')][_0x494a('0x34')]));_0x5ba8db[_0x494a('0x33')]=_0x5ba8db['attributes'][_0x494a('0x35')]?_0x5ba8db['attributes']:_0x42d934['model'];if(_0xbbb8e2[_0x494a('0x30')][_0x494a('0x36')]){_0x5ba8db['include']=[{'all':!![]}];}_0x5ba8db=_['merge']({},_0x5ba8db,_0xbbb8e2[_0x494a('0x37')]);return db[_0x494a('0x2e')][_0x494a('0x38')](_0x5ba8db)[_0x494a('0x25')](handleEntityNotFound(_0x317a87,null))[_0x494a('0x25')](respondWithResult(_0x317a87,null))[_0x494a('0x39')](handleError(_0x317a87,null));};exports[_0x494a('0x26')]=function(_0x4f1052,_0x4cc9fb){return db[_0x494a('0x2e')][_0x494a('0x38')]({'where':{'id':_0x4f1052[_0x494a('0x2b')]['id']}})[_0x494a('0x25')](handleEntityNotFound(_0x4cc9fb,null))[_0x494a('0x25')](removeEntity(_0x4cc9fb,null))['catch'](handleError(_0x4cc9fb,null));};function widgetAttributes(_0x4f0cae){try{switch(_0x4f0cae[_0x494a('0x3a')]){case _0x494a('0x3b'):return[{'name':_0x494a('0x3c'),'value':_0x4f0cae[_0x494a('0x3c')]||(_0x4f0cae[_0x494a('0x3d')]&&_0x4f0cae[_0x494a('0x3d')][0x0]?_0x4f0cae['attrs'][0x0][_0x494a('0x3e')]:undefined)||'https://'}];case'custom':return[{'name':'attrPath','value':_0x4f0cae['attrPath']||(_0x4f0cae[_0x494a('0x3d')]&&_0x4f0cae[_0x494a('0x3d')][0x0]?_0x4f0cae['attrs'][0x0][_0x494a('0x3e')]:undefined)||''}];case _0x494a('0x3f'):return[{'name':'attrHourFormat','value':_0x4f0cae[_0x494a('0x40')]||(_0x4f0cae[_0x494a('0x3d')]&&_0x4f0cae[_0x494a('0x3d')][0x0]?_0x4f0cae['attrs'][0x0]['value']:undefined)||_0x494a('0x41')},{'name':_0x494a('0x42'),'value':_0x4f0cae[_0x494a('0x42')]||(_0x4f0cae[_0x494a('0x3d')]&&_0x4f0cae[_0x494a('0x3d')][0x1]?_0x4f0cae[_0x494a('0x3d')][0x1][_0x494a('0x3e')]:undefined)||_0x494a('0x43')},{'name':'attrFontSize','value':_0x4f0cae[_0x494a('0x44')]||(_0x4f0cae[_0x494a('0x3d')]&&_0x4f0cae[_0x494a('0x3d')][0x2]?_0x4f0cae[_0x494a('0x3d')][0x2][_0x494a('0x3e')]:undefined)||0xc}];case _0x494a('0x45'):return[{'name':_0x494a('0x46'),'value':_0x4f0cae[_0x494a('0x46')]||(_0x4f0cae[_0x494a('0x3d')]&&_0x4f0cae[_0x494a('0x3d')][0x0]?_0x4f0cae[_0x494a('0x3d')][0x0][_0x494a('0x3e')]:undefined)||_0x494a('0x47')},{'name':'attrVoiceQueues','value':_0x4f0cae[_0x494a('0x48')]||(_0x4f0cae['attrs']&&_0x4f0cae[_0x494a('0x3d')][0x1]?_0x4f0cae['attrs'][0x1][_0x494a('0x3e')]:undefined)||[]},{'name':_0x494a('0x44'),'value':_0x4f0cae['attrFontSize']||(_0x4f0cae[_0x494a('0x3d')]&&_0x4f0cae[_0x494a('0x3d')][0x2]?_0x4f0cae[_0x494a('0x3d')][0x2][_0x494a('0x3e')]:undefined)||0x14}];case _0x494a('0x49'):case'pie-chart':return[{'name':_0x494a('0x4a'),'value':_0x4f0cae[_0x494a('0x4a')]||(_0x4f0cae[_0x494a('0x3d')]&&_0x4f0cae[_0x494a('0x3d')][0x0]?_0x4f0cae[_0x494a('0x3d')][0x0][_0x494a('0x3e')]:undefined)||'total'},{'name':_0x494a('0x4b'),'value':_0x4f0cae[_0x494a('0x4b')]||(_0x4f0cae['attrs']&&_0x4f0cae[_0x494a('0x3d')][0x1]?_0x4f0cae[_0x494a('0x3d')][0x1]['value']:undefined)||null},{'name':_0x494a('0x4c'),'value':_0x4f0cae[_0x494a('0x4c')]||(_0x4f0cae['attrs']&&_0x4f0cae[_0x494a('0x3d')][0x2]?_0x4f0cae[_0x494a('0x3d')][0x2]['value']:undefined)||null},{'name':_0x494a('0x48'),'value':_0x4f0cae[_0x494a('0x48')]||(_0x4f0cae[_0x494a('0x3d')]&&_0x4f0cae['attrs'][0x3]?_0x4f0cae[_0x494a('0x3d')][0x3][_0x494a('0x3e')]:undefined)||[]}];case'web-report':return[{'name':_0x494a('0x4d'),'type':_0x4f0cae['reportType']||(_0x4f0cae[_0x494a('0x3d')]&&_0x4f0cae[_0x494a('0x3d')][0x0]?_0x4f0cae[_0x494a('0x3d')][0x0][_0x494a('0x3a')]:undefined)||null,'value':_0x4f0cae[_0x494a('0x4d')]||(_0x4f0cae[_0x494a('0x3d')]&&_0x4f0cae['attrs'][0x0]?_0x4f0cae[_0x494a('0x3d')][0x0][_0x494a('0x3e')]:undefined)||null},{'name':_0x494a('0x4e'),'value':_0x4f0cae[_0x494a('0x4e')]||(_0x4f0cae[_0x494a('0x3d')]&&_0x4f0cae[_0x494a('0x3d')][0x1]?_0x4f0cae[_0x494a('0x3d')][0x1][_0x494a('0x3e')]:undefined)||0x0}];default:return[];}}catch(_0x1fd4c8){logger[_0x494a('0x28')](_0x494a('0x4f'),JSON['stringify'](_0x1fd4c8));return[];}}exports[_0x494a('0x50')]=function(_0x514a1a,_0x5c78dc){if(_0x514a1a[_0x494a('0x51')]){_0x514a1a['body'][_0x494a('0x3d')]=widgetAttributes(_0x514a1a[_0x494a('0x51')]);}return db[_0x494a('0x2e')][_0x494a('0x50')](_0x514a1a['body'],{})[_0x494a('0x25')](respondWithResult(_0x5c78dc,0xc9))['catch'](handleError(_0x5c78dc,null));};exports[_0x494a('0x52')]=function(_0x51c665,_0x207215){if(_0x51c665[_0x494a('0x51')]['id']){delete _0x51c665[_0x494a('0x51')]['id'];}_0x51c665['body']['attrs']=widgetAttributes(_0x51c665[_0x494a('0x51')]);return db[_0x494a('0x2e')][_0x494a('0x38')]({'where':{'id':_0x51c665['params']['id']}})[_0x494a('0x25')](handleEntityNotFound(_0x207215,null))['then'](saveUpdates(_0x51c665[_0x494a('0x51')],null))[_0x494a('0x25')](respondWithResult(_0x207215,null))[_0x494a('0x39')](handleError(_0x207215,null));};