Built motion from commit ffdca78c.|2.6.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 _0x5e0c=['attrPath','value','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','counter','attrMetric','attrVoiceQueues','attrFontSize','attrChannel','voice','attrEmailAccounts','attrFaxAccounts','attrSmsAccounts','attrOpenchannelAccounts','attrWhatsappAccounts','pie-chart','attrSerie1','total','attrSerie2','attrSerie3','attrChatWebsites','web-report','reportType','attrReport','attrRefresh','widgetAttributes:\x20%s','create','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','squel','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','sendStatus','status','end','json','offset','undefined','count','Content-Range','apply','reject','update','destroy','then','error','name','send','params','model','keys','DashboardItem','rawAttributes','query','filters','intersection','fields','attributes','length','includeAll','include','merge','find','catch','type','iframe','attrUrl','attrs','https://','custom'];(function(_0x19e35c,_0x29cd1e){var _0x3e1fe8=function(_0x17258b){while(--_0x17258b){_0x19e35c['push'](_0x19e35c['shift']());}};_0x3e1fe8(++_0x29cd1e);}(_0x5e0c,0x19f));var _0xc5e0=function(_0x5025f4,_0x4c575c){_0x5025f4=_0x5025f4-0x0;var _0x5b540e=_0x5e0c[_0x5025f4];return _0x5b540e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc5e0('0x0'));var zipdir=require(_0xc5e0('0x1'));var jsonpatch=require(_0xc5e0('0x2'));var rp=require(_0xc5e0('0x3'));var moment=require(_0xc5e0('0x4'));var BPromise=require(_0xc5e0('0x5'));var Mustache=require('mustache');var util=require(_0xc5e0('0x6'));var path=require(_0xc5e0('0x7'));var sox=require(_0xc5e0('0x8'));var csv=require(_0xc5e0('0x9'));var ejs=require(_0xc5e0('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xc5e0('0xb'));var crypto=require('crypto');var jsforce=require(_0xc5e0('0xc'));var deskjs=require(_0xc5e0('0xd'));var toCsv=require(_0xc5e0('0x9'));var querystring=require(_0xc5e0('0xe'));var Papa=require('papaparse');var Redis=require(_0xc5e0('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xc5e0('0x10'));var as=require(_0xc5e0('0x11'));var hardwareService=require(_0xc5e0('0x12'));var logger=require(_0xc5e0('0x13'))(_0xc5e0('0x14'));var utils=require(_0xc5e0('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xc5e0('0x16'));var db=require(_0xc5e0('0x17'))['db'];config[_0xc5e0('0x18')]=_[_0xc5e0('0x19')](config[_0xc5e0('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0xc5e0('0x1a'))(new Redis(config[_0xc5e0('0x18')]));require('./dashboardItem.socket')['register'](socket);function respondWithStatusCode(_0x2fa026,_0x481453){_0x481453=_0x481453||0xcc;return function(_0x4a1630){if(_0x4a1630){return _0x2fa026[_0xc5e0('0x1b')](_0x481453);}return _0x2fa026[_0xc5e0('0x1c')](_0x481453)[_0xc5e0('0x1d')]();};}function respondWithResult(_0x24700e,_0xa9545c){_0xa9545c=_0xa9545c||0xc8;return function(_0x247138){if(_0x247138){return _0x24700e[_0xc5e0('0x1c')](_0xa9545c)[_0xc5e0('0x1e')](_0x247138);}};}function respondWithFilteredResult(_0x21bb3e,_0x1baf22){return function(_0x217c62){if(_0x217c62){var _0x21cf18=typeof _0x1baf22[_0xc5e0('0x1f')]===_0xc5e0('0x20')&&typeof _0x1baf22['limit']==='undefined';var _0x23e802=_0x217c62[_0xc5e0('0x21')];var _0x3d7981=_0x21cf18?0x0:_0x1baf22[_0xc5e0('0x1f')];var _0x4214b0=_0x21cf18?_0x217c62[_0xc5e0('0x21')]:_0x1baf22['offset']+_0x1baf22['limit'];var _0x499fea;if(_0x4214b0>=_0x23e802){_0x4214b0=_0x23e802;_0x499fea=0xc8;}else{_0x499fea=0xce;}_0x21bb3e[_0xc5e0('0x1c')](_0x499fea);return _0x21bb3e['set'](_0xc5e0('0x22'),_0x3d7981+'-'+_0x4214b0+'/'+_0x23e802)[_0xc5e0('0x1e')](_0x217c62);}return null;};}function patchUpdates(_0x3b938e){return function(_0x3c6916){try{jsonpatch[_0xc5e0('0x23')](_0x3c6916,_0x3b938e,!![]);}catch(_0x119bfc){return BPromise[_0xc5e0('0x24')](_0x119bfc);}return _0x3c6916['save']();};}function saveUpdates(_0x10039c,_0x58e164){return function(_0x399400){if(_0x399400){return _0x399400[_0xc5e0('0x25')](_0x10039c)['then'](function(_0x554452){return _0x554452;});}return null;};}function removeEntity(_0x4a5541,_0x30f734){return function(_0x571ea6){if(_0x571ea6){return _0x571ea6[_0xc5e0('0x26')]()[_0xc5e0('0x27')](function(){_0x4a5541['status'](0xcc)[_0xc5e0('0x1d')]();});}};}function handleEntityNotFound(_0x331e07,_0x326479){return function(_0x31b8bd){if(!_0x31b8bd){_0x331e07['sendStatus'](0x194);}return _0x31b8bd;};}function handleError(_0x4a1321,_0x4b22dd){_0x4b22dd=_0x4b22dd||0x1f4;return function(_0x4b30d9){logger[_0xc5e0('0x28')](_0x4b30d9['stack']);if(_0x4b30d9[_0xc5e0('0x29')]){delete _0x4b30d9[_0xc5e0('0x29')];}_0x4a1321[_0xc5e0('0x1c')](_0x4b22dd)[_0xc5e0('0x2a')](_0x4b30d9);};}exports['show']=function(_0x1d3932,_0x44cd97){var _0x578e6a={'raw':![],'where':{'id':_0x1d3932[_0xc5e0('0x2b')]['id']}},_0x40b717={};_0x40b717[_0xc5e0('0x2c')]=_[_0xc5e0('0x2d')](db[_0xc5e0('0x2e')][_0xc5e0('0x2f')]);_0x40b717[_0xc5e0('0x30')]=_[_0xc5e0('0x2d')](_0x1d3932[_0xc5e0('0x30')]);_0x40b717[_0xc5e0('0x31')]=_[_0xc5e0('0x32')](_0x40b717[_0xc5e0('0x2c')],_0x40b717['query']);_0x578e6a['attributes']=_[_0xc5e0('0x32')](_0x40b717['model'],qs[_0xc5e0('0x33')](_0x1d3932[_0xc5e0('0x30')][_0xc5e0('0x33')]));_0x578e6a[_0xc5e0('0x34')]=_0x578e6a[_0xc5e0('0x34')][_0xc5e0('0x35')]?_0x578e6a['attributes']:_0x40b717[_0xc5e0('0x2c')];if(_0x1d3932[_0xc5e0('0x30')][_0xc5e0('0x36')]){_0x578e6a[_0xc5e0('0x37')]=[{'all':!![]}];}_0x578e6a=_[_0xc5e0('0x38')]({},_0x578e6a,_0x1d3932['options']);return db[_0xc5e0('0x2e')][_0xc5e0('0x39')](_0x578e6a)['then'](handleEntityNotFound(_0x44cd97,null))[_0xc5e0('0x27')](respondWithResult(_0x44cd97,null))[_0xc5e0('0x3a')](handleError(_0x44cd97,null));};exports[_0xc5e0('0x26')]=function(_0x30127e,_0x12a94f){return db[_0xc5e0('0x2e')][_0xc5e0('0x39')]({'where':{'id':_0x30127e[_0xc5e0('0x2b')]['id']}})[_0xc5e0('0x27')](handleEntityNotFound(_0x12a94f,null))[_0xc5e0('0x27')](removeEntity(_0x12a94f,null))[_0xc5e0('0x3a')](handleError(_0x12a94f,null));};function widgetAttributes(_0x3e838b){try{switch(_0x3e838b[_0xc5e0('0x3b')]){case _0xc5e0('0x3c'):return[{'name':_0xc5e0('0x3d'),'value':_0x3e838b[_0xc5e0('0x3d')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x0]?_0x3e838b[_0xc5e0('0x3e')][0x0]['value']:undefined)||_0xc5e0('0x3f')}];case _0xc5e0('0x40'):return[{'name':_0xc5e0('0x41'),'value':_0x3e838b[_0xc5e0('0x41')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b['attrs'][0x0]?_0x3e838b[_0xc5e0('0x3e')][0x0][_0xc5e0('0x42')]:undefined)||''}];case _0xc5e0('0x43'):return[{'name':_0xc5e0('0x44'),'value':_0x3e838b[_0xc5e0('0x44')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b['attrs'][0x0]?_0x3e838b[_0xc5e0('0x3e')][0x0]['value']:undefined)||_0xc5e0('0x45')},{'name':'attrTimezone','value':_0x3e838b[_0xc5e0('0x46')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b['attrs'][0x1]?_0x3e838b['attrs'][0x1][_0xc5e0('0x42')]:undefined)||_0xc5e0('0x47')},{'name':'attrFontSize','value':_0x3e838b['attrFontSize']||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x2]?_0x3e838b[_0xc5e0('0x3e')][0x2][_0xc5e0('0x42')]:undefined)||0xc}];case _0xc5e0('0x48'):return[{'name':_0xc5e0('0x49'),'value':_0x3e838b['attrMetric']||(_0x3e838b['attrs']&&_0x3e838b[_0xc5e0('0x3e')][0x0]?_0x3e838b['attrs'][0x0][_0xc5e0('0x42')]:undefined)||'total'},{'name':_0xc5e0('0x4a'),'value':_0x3e838b[_0xc5e0('0x4a')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x1]?_0x3e838b[_0xc5e0('0x3e')][0x1]['value']:undefined)||[]},{'name':_0xc5e0('0x4b'),'value':_0x3e838b[_0xc5e0('0x4b')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x2]?_0x3e838b['attrs'][0x2][_0xc5e0('0x42')]:undefined)||0x14},{'name':_0xc5e0('0x4c'),'value':_0x3e838b['attrChannel']||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x3]?_0x3e838b[_0xc5e0('0x3e')][0x3]['value']:undefined)||_0xc5e0('0x4d')},{'name':'attrEmailAccounts','value':_0x3e838b[_0xc5e0('0x4e')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x4]?_0x3e838b[_0xc5e0('0x3e')][0x4][_0xc5e0('0x42')]:undefined)||''},{'name':_0xc5e0('0x4f'),'value':_0x3e838b[_0xc5e0('0x4f')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x5]?_0x3e838b['attrs'][0x5][_0xc5e0('0x42')]:undefined)||''},{'name':'attrSmsAccounts','value':_0x3e838b[_0xc5e0('0x50')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x6]?_0x3e838b['attrs'][0x6][_0xc5e0('0x42')]:undefined)||''},{'name':_0xc5e0('0x51'),'value':_0x3e838b[_0xc5e0('0x51')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x7]?_0x3e838b[_0xc5e0('0x3e')][0x7]['value']:undefined)||''},{'name':_0xc5e0('0x52'),'value':_0x3e838b[_0xc5e0('0x52')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x8]?_0x3e838b[_0xc5e0('0x3e')][0x8][_0xc5e0('0x42')]:undefined)||''},{'name':'attrChatWebsites','value':_0x3e838b['attrChatWebsites']||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x9]?_0x3e838b[_0xc5e0('0x3e')][0x9]['value']:undefined)||''}];case'multibar-chart':case _0xc5e0('0x53'):return[{'name':_0xc5e0('0x54'),'value':_0x3e838b[_0xc5e0('0x54')]||(_0x3e838b['attrs']&&_0x3e838b['attrs'][0x0]?_0x3e838b[_0xc5e0('0x3e')][0x0][_0xc5e0('0x42')]:undefined)||_0xc5e0('0x55')},{'name':_0xc5e0('0x56'),'value':_0x3e838b[_0xc5e0('0x56')]||(_0x3e838b['attrs']&&_0x3e838b[_0xc5e0('0x3e')][0x1]?_0x3e838b[_0xc5e0('0x3e')][0x1][_0xc5e0('0x42')]:undefined)||null},{'name':'attrSerie3','value':_0x3e838b[_0xc5e0('0x57')]||(_0x3e838b['attrs']&&_0x3e838b[_0xc5e0('0x3e')][0x2]?_0x3e838b[_0xc5e0('0x3e')][0x2][_0xc5e0('0x42')]:undefined)||null},{'name':_0xc5e0('0x4a'),'value':_0x3e838b[_0xc5e0('0x4a')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x3]?_0x3e838b[_0xc5e0('0x3e')][0x3][_0xc5e0('0x42')]:undefined)||[]},{'name':_0xc5e0('0x4c'),'value':_0x3e838b[_0xc5e0('0x4c')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x4]?_0x3e838b[_0xc5e0('0x3e')][0x4][_0xc5e0('0x42')]:undefined)||_0xc5e0('0x4d')},{'name':_0xc5e0('0x4e'),'value':_0x3e838b['attrEmailAccounts']||(_0x3e838b['attrs']&&_0x3e838b[_0xc5e0('0x3e')][0x5]?_0x3e838b[_0xc5e0('0x3e')][0x5]['value']:undefined)||''},{'name':_0xc5e0('0x4f'),'value':_0x3e838b['attrFaxAccounts']||(_0x3e838b['attrs']&&_0x3e838b[_0xc5e0('0x3e')][0x6]?_0x3e838b[_0xc5e0('0x3e')][0x6][_0xc5e0('0x42')]:undefined)||''},{'name':_0xc5e0('0x50'),'value':_0x3e838b[_0xc5e0('0x50')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x7]?_0x3e838b[_0xc5e0('0x3e')][0x7]['value']:undefined)||''},{'name':_0xc5e0('0x51'),'value':_0x3e838b['attrOpenchannelAccounts']||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x8]?_0x3e838b['attrs'][0x8][_0xc5e0('0x42')]:undefined)||''},{'name':'attrWhatsappAccounts','value':_0x3e838b[_0xc5e0('0x52')]||(_0x3e838b['attrs']&&_0x3e838b[_0xc5e0('0x3e')][0x9]?_0x3e838b[_0xc5e0('0x3e')][0x9]['value']:undefined)||''},{'name':_0xc5e0('0x58'),'value':_0x3e838b['attrChatWebsites']||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b['attrs'][0xa]?_0x3e838b[_0xc5e0('0x3e')][0xa]['value']:undefined)||''}];case _0xc5e0('0x59'):return[{'name':'attrReport','type':_0x3e838b[_0xc5e0('0x5a')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x0]?_0x3e838b['attrs'][0x0]['type']:undefined)||null,'value':_0x3e838b[_0xc5e0('0x5b')]||(_0x3e838b['attrs']&&_0x3e838b[_0xc5e0('0x3e')][0x0]?_0x3e838b[_0xc5e0('0x3e')][0x0][_0xc5e0('0x42')]:undefined)||null},{'name':'attrRefresh','value':_0x3e838b[_0xc5e0('0x5c')]||(_0x3e838b[_0xc5e0('0x3e')]&&_0x3e838b[_0xc5e0('0x3e')][0x1]?_0x3e838b['attrs'][0x1][_0xc5e0('0x42')]:undefined)||0x0}];default:return[];}}catch(_0x23e989){logger['error'](_0xc5e0('0x5d'),JSON['stringify'](_0x23e989));return[];}}exports[_0xc5e0('0x5e')]=function(_0x5e5939,_0x147e7e){if(_0x5e5939[_0xc5e0('0x5f')]){_0x5e5939[_0xc5e0('0x5f')][_0xc5e0('0x3e')]=widgetAttributes(_0x5e5939['body']);}return db[_0xc5e0('0x2e')][_0xc5e0('0x5e')](_0x5e5939[_0xc5e0('0x5f')],{})[_0xc5e0('0x27')](respondWithResult(_0x147e7e,0xc9))['catch'](handleError(_0x147e7e,null));};exports['update']=function(_0x522eb0,_0x3ed859){if(_0x522eb0[_0xc5e0('0x5f')]['id']){delete _0x522eb0[_0xc5e0('0x5f')]['id'];}_0x522eb0[_0xc5e0('0x5f')]['attrs']=widgetAttributes(_0x522eb0[_0xc5e0('0x5f')]);return db[_0xc5e0('0x2e')][_0xc5e0('0x39')]({'where':{'id':_0x522eb0['params']['id']}})['then'](handleEntityNotFound(_0x3ed859,null))[_0xc5e0('0x27')](saveUpdates(_0x522eb0[_0xc5e0('0x5f')],null))[_0xc5e0('0x27')](respondWithResult(_0x3ed859,null))[_0xc5e0('0x3a')](handleError(_0x3ed859,null));};