Built motion from commit 838c2833.|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 _0x9a6b=['attrVoiceQueues','attrChannel','voice','attrEmailAccounts','attrSmsAccounts','attrOpenchannelAccounts','attrWhatsappAccounts','attrChatWebsites','attrSerie1','attrSerie2','attrSerie3','attrFaxAccounts','web-report','attrReport','reportType','attrRefresh','error','widgetAttributes:\x20%s','stringify','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./dashboardItem.socket','register','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','reject','save','update','then','destroy','stack','name','show','params','model','DashboardItem','rawAttributes','query','keys','filters','intersection','attributes','fields','include','options','find','catch','type','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','attrMetric','total'];(function(_0x29e9de,_0x24fe28){var _0x4892fb=function(_0x159880){while(--_0x159880){_0x29e9de['push'](_0x29e9de['shift']());}};_0x4892fb(++_0x24fe28);}(_0x9a6b,0x77));var _0xb9a6=function(_0x5e1050,_0x241993){_0x5e1050=_0x5e1050-0x0;var _0x49d16b=_0x9a6b[_0x5e1050];return _0x49d16b;};'use strict';var emlformat=require(_0xb9a6('0x0'));var rimraf=require(_0xb9a6('0x1'));var zipdir=require(_0xb9a6('0x2'));var jsonpatch=require(_0xb9a6('0x3'));var rp=require(_0xb9a6('0x4'));var moment=require(_0xb9a6('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xb9a6('0x6'));var util=require('util');var path=require(_0xb9a6('0x7'));var sox=require(_0xb9a6('0x8'));var csv=require(_0xb9a6('0x9'));var ejs=require(_0xb9a6('0xa'));var fs=require('fs');var fs_extra=require(_0xb9a6('0xb'));var _=require(_0xb9a6('0xc'));var squel=require(_0xb9a6('0xd'));var crypto=require(_0xb9a6('0xe'));var jsforce=require(_0xb9a6('0xf'));var deskjs=require(_0xb9a6('0x10'));var toCsv=require('to-csv');var querystring=require(_0xb9a6('0x11'));var Papa=require(_0xb9a6('0x12'));var Redis=require('ioredis');var authService=require(_0xb9a6('0x13'));var qs=require(_0xb9a6('0x14'));var as=require(_0xb9a6('0x15'));var hardwareService=require(_0xb9a6('0x16'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0xb9a6('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xb9a6('0x18'))['db'];config['redis']=_[_0xb9a6('0x19')](config[_0xb9a6('0x1a')],{'host':_0xb9a6('0x1b'),'port':0x18eb});var socket=require(_0xb9a6('0x1c'))(new Redis(config[_0xb9a6('0x1a')]));require(_0xb9a6('0x1d'))[_0xb9a6('0x1e')](socket);function respondWithStatusCode(_0x158d6c,_0x243086){_0x243086=_0x243086||0xcc;return function(_0x5575ff){if(_0x5575ff){return _0x158d6c[_0xb9a6('0x1f')](_0x243086);}return _0x158d6c[_0xb9a6('0x20')](_0x243086)[_0xb9a6('0x21')]();};}function respondWithResult(_0x3342d2,_0x59fa94){_0x59fa94=_0x59fa94||0xc8;return function(_0x10761b){if(_0x10761b){return _0x3342d2[_0xb9a6('0x20')](_0x59fa94)[_0xb9a6('0x22')](_0x10761b);}};}function respondWithFilteredResult(_0x5b3395,_0xf47260){return function(_0x3b9a3b){if(_0x3b9a3b){var _0x3ff45f=typeof _0xf47260[_0xb9a6('0x23')]===_0xb9a6('0x24')&&typeof _0xf47260['limit']===_0xb9a6('0x24');var _0x28e01a=_0x3b9a3b[_0xb9a6('0x25')];var _0x45e6c8=_0x3ff45f?0x0:_0xf47260['offset'];var _0x5d2374=_0x3ff45f?_0x3b9a3b[_0xb9a6('0x25')]:_0xf47260[_0xb9a6('0x23')]+_0xf47260[_0xb9a6('0x26')];var _0x49c74b;if(_0x5d2374>=_0x28e01a){_0x5d2374=_0x28e01a;_0x49c74b=0xc8;}else{_0x49c74b=0xce;}_0x5b3395[_0xb9a6('0x20')](_0x49c74b);return _0x5b3395['set'](_0xb9a6('0x27'),_0x45e6c8+'-'+_0x5d2374+'/'+_0x28e01a)[_0xb9a6('0x22')](_0x3b9a3b);}return null;};}function patchUpdates(_0x50d3d4){return function(_0x224b4a){try{jsonpatch['apply'](_0x224b4a,_0x50d3d4,!![]);}catch(_0x526721){return BPromise[_0xb9a6('0x28')](_0x526721);}return _0x224b4a[_0xb9a6('0x29')]();};}function saveUpdates(_0x73dee3,_0x2122d7){return function(_0x518ade){if(_0x518ade){return _0x518ade[_0xb9a6('0x2a')](_0x73dee3)[_0xb9a6('0x2b')](function(_0x373f62){return _0x373f62;});}return null;};}function removeEntity(_0x1d36e3,_0x4b0be8){return function(_0x1f0bfa){if(_0x1f0bfa){return _0x1f0bfa[_0xb9a6('0x2c')]()[_0xb9a6('0x2b')](function(){_0x1d36e3[_0xb9a6('0x20')](0xcc)[_0xb9a6('0x21')]();});}};}function handleEntityNotFound(_0x27e677,_0xce91fb){return function(_0x484216){if(!_0x484216){_0x27e677[_0xb9a6('0x1f')](0x194);}return _0x484216;};}function handleError(_0x4273bc,_0x4dd977){_0x4dd977=_0x4dd977||0x1f4;return function(_0x429830){logger['error'](_0x429830[_0xb9a6('0x2d')]);if(_0x429830['name']){delete _0x429830[_0xb9a6('0x2e')];}_0x4273bc[_0xb9a6('0x20')](_0x4dd977)['send'](_0x429830);};}exports[_0xb9a6('0x2f')]=function(_0x3a237d,_0x2ffb7b){var _0xb48254={'raw':![],'where':{'id':_0x3a237d[_0xb9a6('0x30')]['id']}},_0x33f33a={};_0x33f33a[_0xb9a6('0x31')]=_['keys'](db[_0xb9a6('0x32')][_0xb9a6('0x33')]);_0x33f33a[_0xb9a6('0x34')]=_[_0xb9a6('0x35')](_0x3a237d['query']);_0x33f33a[_0xb9a6('0x36')]=_[_0xb9a6('0x37')](_0x33f33a['model'],_0x33f33a[_0xb9a6('0x34')]);_0xb48254[_0xb9a6('0x38')]=_[_0xb9a6('0x37')](_0x33f33a[_0xb9a6('0x31')],qs[_0xb9a6('0x39')](_0x3a237d[_0xb9a6('0x34')][_0xb9a6('0x39')]));_0xb48254['attributes']=_0xb48254['attributes']['length']?_0xb48254['attributes']:_0x33f33a['model'];if(_0x3a237d[_0xb9a6('0x34')]['includeAll']){_0xb48254[_0xb9a6('0x3a')]=[{'all':!![]}];}_0xb48254=_['merge']({},_0xb48254,_0x3a237d[_0xb9a6('0x3b')]);return db[_0xb9a6('0x32')][_0xb9a6('0x3c')](_0xb48254)[_0xb9a6('0x2b')](handleEntityNotFound(_0x2ffb7b,null))[_0xb9a6('0x2b')](respondWithResult(_0x2ffb7b,null))[_0xb9a6('0x3d')](handleError(_0x2ffb7b,null));};exports[_0xb9a6('0x2c')]=function(_0xc96b8,_0x1e2835){return db[_0xb9a6('0x32')][_0xb9a6('0x3c')]({'where':{'id':_0xc96b8[_0xb9a6('0x30')]['id']}})[_0xb9a6('0x2b')](handleEntityNotFound(_0x1e2835,null))[_0xb9a6('0x2b')](removeEntity(_0x1e2835,null))[_0xb9a6('0x3d')](handleError(_0x1e2835,null));};function widgetAttributes(_0x178838){try{switch(_0x178838[_0xb9a6('0x3e')]){case'iframe':return[{'name':_0xb9a6('0x3f'),'value':_0x178838[_0xb9a6('0x3f')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838['attrs'][0x0]?_0x178838[_0xb9a6('0x40')][0x0][_0xb9a6('0x41')]:undefined)||_0xb9a6('0x42')}];case _0xb9a6('0x43'):return[{'name':_0xb9a6('0x44'),'value':_0x178838[_0xb9a6('0x44')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x0]?_0x178838[_0xb9a6('0x40')][0x0][_0xb9a6('0x41')]:undefined)||''}];case _0xb9a6('0x45'):return[{'name':_0xb9a6('0x46'),'value':_0x178838[_0xb9a6('0x46')]||(_0x178838['attrs']&&_0x178838[_0xb9a6('0x40')][0x0]?_0x178838['attrs'][0x0][_0xb9a6('0x41')]:undefined)||_0xb9a6('0x47')},{'name':_0xb9a6('0x48'),'value':_0x178838[_0xb9a6('0x48')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838['attrs'][0x1]?_0x178838[_0xb9a6('0x40')][0x1][_0xb9a6('0x41')]:undefined)||_0xb9a6('0x49')},{'name':_0xb9a6('0x4a'),'value':_0x178838['attrFontSize']||(_0x178838['attrs']&&_0x178838[_0xb9a6('0x40')][0x2]?_0x178838['attrs'][0x2]['value']:undefined)||0xc}];case'counter':return[{'name':_0xb9a6('0x4b'),'value':_0x178838[_0xb9a6('0x4b')]||(_0x178838['attrs']&&_0x178838[_0xb9a6('0x40')][0x0]?_0x178838[_0xb9a6('0x40')][0x0][_0xb9a6('0x41')]:undefined)||_0xb9a6('0x4c')},{'name':_0xb9a6('0x4d'),'value':_0x178838[_0xb9a6('0x4d')]||(_0x178838['attrs']&&_0x178838['attrs'][0x1]?_0x178838[_0xb9a6('0x40')][0x1][_0xb9a6('0x41')]:undefined)||[]},{'name':_0xb9a6('0x4a'),'value':_0x178838[_0xb9a6('0x4a')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x2]?_0x178838[_0xb9a6('0x40')][0x2][_0xb9a6('0x41')]:undefined)||0x14},{'name':'attrChannel','value':_0x178838[_0xb9a6('0x4e')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x3]?_0x178838[_0xb9a6('0x40')][0x3]['value']:undefined)||_0xb9a6('0x4f')},{'name':_0xb9a6('0x50'),'value':_0x178838['attrEmailAccounts']||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x4]?_0x178838[_0xb9a6('0x40')][0x4][_0xb9a6('0x41')]:undefined)||''},{'name':'attrFaxAccounts','value':_0x178838['attrFaxAccounts']||(_0x178838['attrs']&&_0x178838['attrs'][0x5]?_0x178838[_0xb9a6('0x40')][0x5]['value']:undefined)||''},{'name':_0xb9a6('0x51'),'value':_0x178838[_0xb9a6('0x51')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x6]?_0x178838[_0xb9a6('0x40')][0x6]['value']:undefined)||''},{'name':'attrOpenchannelAccounts','value':_0x178838[_0xb9a6('0x52')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x7]?_0x178838['attrs'][0x7][_0xb9a6('0x41')]:undefined)||''},{'name':_0xb9a6('0x53'),'value':_0x178838['attrWhatsappAccounts']||(_0x178838[_0xb9a6('0x40')]&&_0x178838['attrs'][0x8]?_0x178838[_0xb9a6('0x40')][0x8][_0xb9a6('0x41')]:undefined)||''},{'name':_0xb9a6('0x54'),'value':_0x178838[_0xb9a6('0x54')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x9]?_0x178838[_0xb9a6('0x40')][0x9][_0xb9a6('0x41')]:undefined)||''}];case'multibar-chart':case'pie-chart':return[{'name':_0xb9a6('0x55'),'value':_0x178838['attrSerie1']||(_0x178838['attrs']&&_0x178838[_0xb9a6('0x40')][0x0]?_0x178838[_0xb9a6('0x40')][0x0][_0xb9a6('0x41')]:undefined)||_0xb9a6('0x4c')},{'name':_0xb9a6('0x56'),'value':_0x178838[_0xb9a6('0x56')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x1]?_0x178838[_0xb9a6('0x40')][0x1][_0xb9a6('0x41')]:undefined)||null},{'name':_0xb9a6('0x57'),'value':_0x178838[_0xb9a6('0x57')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x2]?_0x178838[_0xb9a6('0x40')][0x2][_0xb9a6('0x41')]:undefined)||null},{'name':_0xb9a6('0x4d'),'value':_0x178838['attrVoiceQueues']||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x3]?_0x178838['attrs'][0x3][_0xb9a6('0x41')]:undefined)||[]},{'name':_0xb9a6('0x4e'),'value':_0x178838[_0xb9a6('0x4e')]||(_0x178838['attrs']&&_0x178838['attrs'][0x4]?_0x178838[_0xb9a6('0x40')][0x4][_0xb9a6('0x41')]:undefined)||'voice'},{'name':_0xb9a6('0x50'),'value':_0x178838[_0xb9a6('0x50')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838['attrs'][0x5]?_0x178838[_0xb9a6('0x40')][0x5]['value']:undefined)||''},{'name':_0xb9a6('0x58'),'value':_0x178838[_0xb9a6('0x58')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x6]?_0x178838['attrs'][0x6][_0xb9a6('0x41')]:undefined)||''},{'name':_0xb9a6('0x51'),'value':_0x178838['attrSmsAccounts']||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x7]?_0x178838['attrs'][0x7]['value']:undefined)||''},{'name':_0xb9a6('0x52'),'value':_0x178838[_0xb9a6('0x52')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x8]?_0x178838[_0xb9a6('0x40')][0x8]['value']:undefined)||''},{'name':_0xb9a6('0x53'),'value':_0x178838[_0xb9a6('0x53')]||(_0x178838['attrs']&&_0x178838['attrs'][0x9]?_0x178838[_0xb9a6('0x40')][0x9][_0xb9a6('0x41')]:undefined)||''},{'name':_0xb9a6('0x54'),'value':_0x178838[_0xb9a6('0x54')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838['attrs'][0xa]?_0x178838[_0xb9a6('0x40')][0xa][_0xb9a6('0x41')]:undefined)||''}];case _0xb9a6('0x59'):return[{'name':_0xb9a6('0x5a'),'type':_0x178838[_0xb9a6('0x5b')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838[_0xb9a6('0x40')][0x0]?_0x178838[_0xb9a6('0x40')][0x0][_0xb9a6('0x3e')]:undefined)||null,'value':_0x178838[_0xb9a6('0x5a')]||(_0x178838[_0xb9a6('0x40')]&&_0x178838['attrs'][0x0]?_0x178838[_0xb9a6('0x40')][0x0]['value']:undefined)||null},{'name':_0xb9a6('0x5c'),'value':_0x178838['attrRefresh']||(_0x178838[_0xb9a6('0x40')]&&_0x178838['attrs'][0x1]?_0x178838[_0xb9a6('0x40')][0x1][_0xb9a6('0x41')]:undefined)||0x0}];default:return[];}}catch(_0x50f24a){logger[_0xb9a6('0x5d')](_0xb9a6('0x5e'),JSON[_0xb9a6('0x5f')](_0x50f24a));return[];}}exports[_0xb9a6('0x60')]=function(_0x5085fa,_0x1ee1a8){if(_0x5085fa[_0xb9a6('0x61')]){_0x5085fa['body']['attrs']=widgetAttributes(_0x5085fa[_0xb9a6('0x61')]);}return db['DashboardItem'][_0xb9a6('0x60')](_0x5085fa[_0xb9a6('0x61')],{})['then'](respondWithResult(_0x1ee1a8,0xc9))[_0xb9a6('0x3d')](handleError(_0x1ee1a8,null));};exports[_0xb9a6('0x2a')]=function(_0x694c03,_0x13c9df){if(_0x694c03[_0xb9a6('0x61')]['id']){delete _0x694c03[_0xb9a6('0x61')]['id'];}_0x694c03['body'][_0xb9a6('0x40')]=widgetAttributes(_0x694c03[_0xb9a6('0x61')]);return db[_0xb9a6('0x32')][_0xb9a6('0x3c')]({'where':{'id':_0x694c03['params']['id']}})[_0xb9a6('0x2b')](handleEntityNotFound(_0x13c9df,null))['then'](saveUpdates(_0x694c03[_0xb9a6('0x61')],null))[_0xb9a6('0x2b')](respondWithResult(_0x13c9df,null))['catch'](handleError(_0x13c9df,null));};