Built motion from commit 9d1906d1.|2.5.40
[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 _0xcaaf=['attrSerie3','voice','attrReport','reportType','attrRefresh','error','widgetAttributes:\x20%s','stringify','create','body','eml-format','zip-dir','moment','bluebird','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./dashboardItem.socket','register','sendStatus','status','json','undefined','limit','count','offset','set','Content-Range','apply','save','update','destroy','then','end','stack','name','model','keys','rawAttributes','query','filters','intersection','attributes','length','includeAll','include','options','DashboardItem','find','catch','params','type','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','attrFontSize','attrMetric','total','attrVoiceQueues','attrChannel','attrEmailAccounts','attrFaxAccounts','attrSmsAccounts','attrOpenchannelAccounts','attrWhatsappAccounts','attrChatWebsites','pie-chart','attrSerie1','attrSerie2'];(function(_0x16ea87,_0x378d8b){var _0x6e7b1c=function(_0x26306e){while(--_0x26306e){_0x16ea87['push'](_0x16ea87['shift']());}};_0x6e7b1c(++_0x378d8b);}(_0xcaaf,0x66));var _0xfcaa=function(_0x43cf11,_0x36e2df){_0x43cf11=_0x43cf11-0x0;var _0x21a34d=_0xcaaf[_0x43cf11];return _0x21a34d;};'use strict';var emlformat=require(_0xfcaa('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xfcaa('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xfcaa('0x2'));var BPromise=require(_0xfcaa('0x3'));var Mustache=require('mustache');var util=require(_0xfcaa('0x4'));var path=require('path');var sox=require('sox');var csv=require(_0xfcaa('0x5'));var ejs=require(_0xfcaa('0x6'));var fs=require('fs');var fs_extra=require(_0xfcaa('0x7'));var _=require(_0xfcaa('0x8'));var squel=require(_0xfcaa('0x9'));var crypto=require(_0xfcaa('0xa'));var jsforce=require(_0xfcaa('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xfcaa('0x5'));var querystring=require('querystring');var Papa=require(_0xfcaa('0xc'));var Redis=require('ioredis');var authService=require(_0xfcaa('0xd'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfcaa('0xe'));var logger=require('../../config/logger')(_0xfcaa('0xf'));var utils=require(_0xfcaa('0x10'));var config=require(_0xfcaa('0x11'));var licenseUtil=require(_0xfcaa('0x12'));var db=require(_0xfcaa('0x13'))['db'];config[_0xfcaa('0x14')]=_[_0xfcaa('0x15')](config[_0xfcaa('0x14')],{'host':'localhost','port':0x18eb});var socket=require(_0xfcaa('0x16'))(new Redis(config[_0xfcaa('0x14')]));require(_0xfcaa('0x17'))[_0xfcaa('0x18')](socket);function respondWithStatusCode(_0x521fff,_0x2810d5){_0x2810d5=_0x2810d5||0xcc;return function(_0x26328d){if(_0x26328d){return _0x521fff[_0xfcaa('0x19')](_0x2810d5);}return _0x521fff[_0xfcaa('0x1a')](_0x2810d5)['end']();};}function respondWithResult(_0x10e7e7,_0x2dbc14){_0x2dbc14=_0x2dbc14||0xc8;return function(_0x218c64){if(_0x218c64){return _0x10e7e7['status'](_0x2dbc14)[_0xfcaa('0x1b')](_0x218c64);}};}function respondWithFilteredResult(_0x13517d,_0x5c0705){return function(_0x4202dc){if(_0x4202dc){var _0x5c0277=typeof _0x5c0705['offset']===_0xfcaa('0x1c')&&typeof _0x5c0705[_0xfcaa('0x1d')]===_0xfcaa('0x1c');var _0xa4df1=_0x4202dc[_0xfcaa('0x1e')];var _0x4566e1=_0x5c0277?0x0:_0x5c0705[_0xfcaa('0x1f')];var _0x1d5a9e=_0x5c0277?_0x4202dc[_0xfcaa('0x1e')]:_0x5c0705[_0xfcaa('0x1f')]+_0x5c0705['limit'];var _0x36791f;if(_0x1d5a9e>=_0xa4df1){_0x1d5a9e=_0xa4df1;_0x36791f=0xc8;}else{_0x36791f=0xce;}_0x13517d[_0xfcaa('0x1a')](_0x36791f);return _0x13517d[_0xfcaa('0x20')](_0xfcaa('0x21'),_0x4566e1+'-'+_0x1d5a9e+'/'+_0xa4df1)[_0xfcaa('0x1b')](_0x4202dc);}return null;};}function patchUpdates(_0x4416ed){return function(_0xf59b30){try{jsonpatch[_0xfcaa('0x22')](_0xf59b30,_0x4416ed,!![]);}catch(_0x653ca8){return BPromise['reject'](_0x653ca8);}return _0xf59b30[_0xfcaa('0x23')]();};}function saveUpdates(_0x1526d9,_0x43da7f){return function(_0x592858){if(_0x592858){return _0x592858[_0xfcaa('0x24')](_0x1526d9)['then'](function(_0x4642bb){return _0x4642bb;});}return null;};}function removeEntity(_0x2209d8,_0x3dc1d4){return function(_0x2c868a){if(_0x2c868a){return _0x2c868a[_0xfcaa('0x25')]()[_0xfcaa('0x26')](function(){_0x2209d8[_0xfcaa('0x1a')](0xcc)[_0xfcaa('0x27')]();});}};}function handleEntityNotFound(_0x3ba17e,_0x55e09a){return function(_0x55f9c9){if(!_0x55f9c9){_0x3ba17e['sendStatus'](0x194);}return _0x55f9c9;};}function handleError(_0x489390,_0x51171d){_0x51171d=_0x51171d||0x1f4;return function(_0x31bd3a){logger['error'](_0x31bd3a[_0xfcaa('0x28')]);if(_0x31bd3a[_0xfcaa('0x29')]){delete _0x31bd3a['name'];}_0x489390[_0xfcaa('0x1a')](_0x51171d)['send'](_0x31bd3a);};}exports['show']=function(_0x137877,_0x33a478){var _0x37bc0f={'raw':![],'where':{'id':_0x137877['params']['id']}},_0x1c538f={};_0x1c538f[_0xfcaa('0x2a')]=_[_0xfcaa('0x2b')](db['DashboardItem'][_0xfcaa('0x2c')]);_0x1c538f[_0xfcaa('0x2d')]=_[_0xfcaa('0x2b')](_0x137877[_0xfcaa('0x2d')]);_0x1c538f[_0xfcaa('0x2e')]=_[_0xfcaa('0x2f')](_0x1c538f['model'],_0x1c538f[_0xfcaa('0x2d')]);_0x37bc0f[_0xfcaa('0x30')]=_[_0xfcaa('0x2f')](_0x1c538f[_0xfcaa('0x2a')],qs['fields'](_0x137877[_0xfcaa('0x2d')]['fields']));_0x37bc0f[_0xfcaa('0x30')]=_0x37bc0f['attributes'][_0xfcaa('0x31')]?_0x37bc0f[_0xfcaa('0x30')]:_0x1c538f[_0xfcaa('0x2a')];if(_0x137877[_0xfcaa('0x2d')][_0xfcaa('0x32')]){_0x37bc0f[_0xfcaa('0x33')]=[{'all':!![]}];}_0x37bc0f=_['merge']({},_0x37bc0f,_0x137877[_0xfcaa('0x34')]);return db[_0xfcaa('0x35')][_0xfcaa('0x36')](_0x37bc0f)[_0xfcaa('0x26')](handleEntityNotFound(_0x33a478,null))[_0xfcaa('0x26')](respondWithResult(_0x33a478,null))[_0xfcaa('0x37')](handleError(_0x33a478,null));};exports[_0xfcaa('0x25')]=function(_0x1ff1f3,_0xa35d43){return db[_0xfcaa('0x35')][_0xfcaa('0x36')]({'where':{'id':_0x1ff1f3[_0xfcaa('0x38')]['id']}})[_0xfcaa('0x26')](handleEntityNotFound(_0xa35d43,null))[_0xfcaa('0x26')](removeEntity(_0xa35d43,null))['catch'](handleError(_0xa35d43,null));};function widgetAttributes(_0x515255){try{switch(_0x515255[_0xfcaa('0x39')]){case'iframe':return[{'name':_0xfcaa('0x3a'),'value':_0x515255['attrUrl']||(_0x515255[_0xfcaa('0x3b')]&&_0x515255['attrs'][0x0]?_0x515255[_0xfcaa('0x3b')][0x0][_0xfcaa('0x3c')]:undefined)||_0xfcaa('0x3d')}];case _0xfcaa('0x3e'):return[{'name':_0xfcaa('0x3f'),'value':_0x515255[_0xfcaa('0x3f')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0x0]?_0x515255['attrs'][0x0][_0xfcaa('0x3c')]:undefined)||''}];case _0xfcaa('0x40'):return[{'name':_0xfcaa('0x41'),'value':_0x515255['attrHourFormat']||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0x0]?_0x515255[_0xfcaa('0x3b')][0x0][_0xfcaa('0x3c')]:undefined)||_0xfcaa('0x42')},{'name':'attrTimezone','value':_0x515255[_0xfcaa('0x43')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0x1]?_0x515255[_0xfcaa('0x3b')][0x1][_0xfcaa('0x3c')]:undefined)||'0.00'},{'name':'attrFontSize','value':_0x515255[_0xfcaa('0x44')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255['attrs'][0x2]?_0x515255[_0xfcaa('0x3b')][0x2][_0xfcaa('0x3c')]:undefined)||0xc}];case'counter':return[{'name':_0xfcaa('0x45'),'value':_0x515255[_0xfcaa('0x45')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0x0]?_0x515255['attrs'][0x0][_0xfcaa('0x3c')]:undefined)||_0xfcaa('0x46')},{'name':'attrVoiceQueues','value':_0x515255[_0xfcaa('0x47')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0x1]?_0x515255[_0xfcaa('0x3b')][0x1][_0xfcaa('0x3c')]:undefined)||[]},{'name':'attrFontSize','value':_0x515255[_0xfcaa('0x44')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0x2]?_0x515255[_0xfcaa('0x3b')][0x2][_0xfcaa('0x3c')]:undefined)||0x14},{'name':_0xfcaa('0x48'),'value':_0x515255[_0xfcaa('0x48')]||(_0x515255['attrs']&&_0x515255[_0xfcaa('0x3b')][0x3]?_0x515255['attrs'][0x3][_0xfcaa('0x3c')]:undefined)||'voice'},{'name':_0xfcaa('0x49'),'value':_0x515255['attrEmailAccounts']||(_0x515255[_0xfcaa('0x3b')]&&_0x515255['attrs'][0x4]?_0x515255[_0xfcaa('0x3b')][0x4][_0xfcaa('0x3c')]:undefined)||''},{'name':'attrFaxAccounts','value':_0x515255[_0xfcaa('0x4a')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0x5]?_0x515255[_0xfcaa('0x3b')][0x5][_0xfcaa('0x3c')]:undefined)||''},{'name':'attrSmsAccounts','value':_0x515255[_0xfcaa('0x4b')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0x6]?_0x515255[_0xfcaa('0x3b')][0x6][_0xfcaa('0x3c')]:undefined)||''},{'name':_0xfcaa('0x4c'),'value':_0x515255[_0xfcaa('0x4c')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255['attrs'][0x7]?_0x515255['attrs'][0x7]['value']:undefined)||''},{'name':_0xfcaa('0x4d'),'value':_0x515255['attrWhatsappAccounts']||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0x8]?_0x515255[_0xfcaa('0x3b')][0x8][_0xfcaa('0x3c')]:undefined)||''},{'name':_0xfcaa('0x4e'),'value':_0x515255[_0xfcaa('0x4e')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0x9]?_0x515255['attrs'][0x9][_0xfcaa('0x3c')]:undefined)||''}];case'multibar-chart':case _0xfcaa('0x4f'):return[{'name':_0xfcaa('0x50'),'value':_0x515255[_0xfcaa('0x50')]||(_0x515255['attrs']&&_0x515255[_0xfcaa('0x3b')][0x0]?_0x515255[_0xfcaa('0x3b')][0x0][_0xfcaa('0x3c')]:undefined)||'total'},{'name':_0xfcaa('0x51'),'value':_0x515255['attrSerie2']||(_0x515255[_0xfcaa('0x3b')]&&_0x515255['attrs'][0x1]?_0x515255[_0xfcaa('0x3b')][0x1][_0xfcaa('0x3c')]:undefined)||null},{'name':_0xfcaa('0x52'),'value':_0x515255[_0xfcaa('0x52')]||(_0x515255['attrs']&&_0x515255[_0xfcaa('0x3b')][0x2]?_0x515255[_0xfcaa('0x3b')][0x2]['value']:undefined)||null},{'name':_0xfcaa('0x47'),'value':_0x515255[_0xfcaa('0x47')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0x3]?_0x515255['attrs'][0x3][_0xfcaa('0x3c')]:undefined)||[]},{'name':_0xfcaa('0x48'),'value':_0x515255[_0xfcaa('0x48')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255['attrs'][0x4]?_0x515255[_0xfcaa('0x3b')][0x4]['value']:undefined)||_0xfcaa('0x53')},{'name':_0xfcaa('0x49'),'value':_0x515255['attrEmailAccounts']||(_0x515255[_0xfcaa('0x3b')]&&_0x515255['attrs'][0x5]?_0x515255['attrs'][0x5][_0xfcaa('0x3c')]:undefined)||''},{'name':_0xfcaa('0x4a'),'value':_0x515255[_0xfcaa('0x4a')]||(_0x515255['attrs']&&_0x515255['attrs'][0x6]?_0x515255[_0xfcaa('0x3b')][0x6][_0xfcaa('0x3c')]:undefined)||''},{'name':_0xfcaa('0x4b'),'value':_0x515255['attrSmsAccounts']||(_0x515255['attrs']&&_0x515255[_0xfcaa('0x3b')][0x7]?_0x515255[_0xfcaa('0x3b')][0x7][_0xfcaa('0x3c')]:undefined)||''},{'name':_0xfcaa('0x4c'),'value':_0x515255[_0xfcaa('0x4c')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255['attrs'][0x8]?_0x515255['attrs'][0x8][_0xfcaa('0x3c')]:undefined)||''},{'name':_0xfcaa('0x4d'),'value':_0x515255[_0xfcaa('0x4d')]||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0x9]?_0x515255[_0xfcaa('0x3b')][0x9][_0xfcaa('0x3c')]:undefined)||''},{'name':'attrChatWebsites','value':_0x515255['attrChatWebsites']||(_0x515255[_0xfcaa('0x3b')]&&_0x515255[_0xfcaa('0x3b')][0xa]?_0x515255['attrs'][0xa][_0xfcaa('0x3c')]:undefined)||''}];case'web-report':return[{'name':_0xfcaa('0x54'),'type':_0x515255[_0xfcaa('0x55')]||(_0x515255['attrs']&&_0x515255[_0xfcaa('0x3b')][0x0]?_0x515255[_0xfcaa('0x3b')][0x0]['type']:undefined)||null,'value':_0x515255[_0xfcaa('0x54')]||(_0x515255['attrs']&&_0x515255[_0xfcaa('0x3b')][0x0]?_0x515255[_0xfcaa('0x3b')][0x0]['value']:undefined)||null},{'name':_0xfcaa('0x56'),'value':_0x515255[_0xfcaa('0x56')]||(_0x515255['attrs']&&_0x515255[_0xfcaa('0x3b')][0x1]?_0x515255[_0xfcaa('0x3b')][0x1][_0xfcaa('0x3c')]:undefined)||0x0}];default:return[];}}catch(_0x368557){logger[_0xfcaa('0x57')](_0xfcaa('0x58'),JSON[_0xfcaa('0x59')](_0x368557));return[];}}exports[_0xfcaa('0x5a')]=function(_0x66ee82,_0x3372e0){if(_0x66ee82['body']){_0x66ee82[_0xfcaa('0x5b')][_0xfcaa('0x3b')]=widgetAttributes(_0x66ee82[_0xfcaa('0x5b')]);}return db[_0xfcaa('0x35')][_0xfcaa('0x5a')](_0x66ee82[_0xfcaa('0x5b')],{})[_0xfcaa('0x26')](respondWithResult(_0x3372e0,0xc9))[_0xfcaa('0x37')](handleError(_0x3372e0,null));};exports[_0xfcaa('0x24')]=function(_0x29ce85,_0x4eb1b5){if(_0x29ce85[_0xfcaa('0x5b')]['id']){delete _0x29ce85[_0xfcaa('0x5b')]['id'];}_0x29ce85[_0xfcaa('0x5b')][_0xfcaa('0x3b')]=widgetAttributes(_0x29ce85[_0xfcaa('0x5b')]);return db[_0xfcaa('0x35')][_0xfcaa('0x36')]({'where':{'id':_0x29ce85[_0xfcaa('0x38')]['id']}})[_0xfcaa('0x26')](handleEntityNotFound(_0x4eb1b5,null))[_0xfcaa('0x26')](saveUpdates(_0x29ce85[_0xfcaa('0x5b')],null))['then'](respondWithResult(_0x4eb1b5,null))['catch'](handleError(_0x4eb1b5,null));};