Built motion from commit (unavailable).|2.5.18
[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 _0xeefd=['https://','custom','attrPath','clock','attrHourFormat','attrTimezone','0.00','attrFontSize','attrMetric','total','attrVoiceQueues','multibar-chart','pie-chart','attrSerie1','attrSerie2','attrSerie3','web-report','reportType','attrReport','attrRefresh','widgetAttributes:\x20%s','stringify','create','body','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','redis','localhost','socket.io-emitter','./dashboardItem.socket','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','error','stack','name','send','params','model','keys','DashboardItem','rawAttributes','query','intersection','fields','attributes','includeAll','include','merge','options','then','catch','iframe','attrUrl','attrs','value'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xeefd,0x120));var _0xdeef=function(_0x114670,_0x5aa610){_0x114670=_0x114670-0x0;var _0x63b805=_0xeefd[_0x114670];return _0x63b805;};'use strict';var pdf=require(_0xdeef('0x0'));var emlformat=require(_0xdeef('0x1'));var rimraf=require(_0xdeef('0x2'));var zipdir=require(_0xdeef('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xdeef('0x4'));var moment=require(_0xdeef('0x5'));var BPromise=require(_0xdeef('0x6'));var Mustache=require('mustache');var util=require(_0xdeef('0x7'));var path=require(_0xdeef('0x8'));var sox=require(_0xdeef('0x9'));var csv=require(_0xdeef('0xa'));var ejs=require(_0xdeef('0xb'));var fs=require('fs');var _=require(_0xdeef('0xc'));var squel=require(_0xdeef('0xd'));var crypto=require(_0xdeef('0xe'));var jsforce=require(_0xdeef('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xdeef('0xa'));var querystring=require(_0xdeef('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xdeef('0x11'));var logger=require(_0xdeef('0x12'))(_0xdeef('0x13'));var utils=require(_0xdeef('0x14'));var config=require(_0xdeef('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0xdeef('0x16')]=_['defaults'](config['redis'],{'host':_0xdeef('0x17'),'port':0x18eb});var socket=require(_0xdeef('0x18'))(new Redis(config[_0xdeef('0x16')]));require(_0xdeef('0x19'))[_0xdeef('0x1a')](socket);function respondWithStatusCode(_0x5681fb,_0x5b41a0){_0x5b41a0=_0x5b41a0||0xcc;return function(_0xd16753){if(_0xd16753){return _0x5681fb[_0xdeef('0x1b')](_0x5b41a0);}return _0x5681fb[_0xdeef('0x1c')](_0x5b41a0)[_0xdeef('0x1d')]();};}function respondWithResult(_0x5b9455,_0x2fe558){_0x2fe558=_0x2fe558||0xc8;return function(_0x4da174){if(_0x4da174){return _0x5b9455[_0xdeef('0x1c')](_0x2fe558)[_0xdeef('0x1e')](_0x4da174);}};}function respondWithFilteredResult(_0x224e2b,_0x149081){return function(_0x29bb47){if(_0x29bb47){var _0x1a5103=_0x29bb47[_0xdeef('0x1f')],_0x442e83=_0x149081[_0xdeef('0x20')],_0x346cbb=_0x149081[_0xdeef('0x20')]+_0x149081[_0xdeef('0x21')],_0x10c402;if(_0x346cbb>=_0x1a5103){_0x346cbb=_0x1a5103;_0x10c402=0xc8;}else{_0x10c402=0xce;}_0x224e2b[_0xdeef('0x1c')](_0x10c402);return _0x224e2b[_0xdeef('0x22')](_0xdeef('0x23'),_0x442e83+'-'+_0x346cbb+'/'+_0x1a5103)[_0xdeef('0x1e')](_0x29bb47);}return null;};}function patchUpdates(_0x72bdc4){return function(_0x4def70){try{jsonpatch[_0xdeef('0x24')](_0x4def70,_0x72bdc4,!![]);}catch(_0x19dc2b){return BPromise[_0xdeef('0x25')](_0x19dc2b);}return _0x4def70[_0xdeef('0x26')]();};}function saveUpdates(_0x392eb1,_0x8dd8b){return function(_0x485cd9){if(_0x485cd9){return _0x485cd9[_0xdeef('0x27')](_0x392eb1)['then'](function(_0x514e13){return _0x514e13;});}return null;};}function removeEntity(_0x574c48,_0x1abbef){return function(_0x5c7010){if(_0x5c7010){return _0x5c7010[_0xdeef('0x28')]()['then'](function(){_0x574c48[_0xdeef('0x1c')](0xcc)[_0xdeef('0x1d')]();});}};}function handleEntityNotFound(_0x25455f,_0x3ca86e){return function(_0x397733){if(!_0x397733){_0x25455f[_0xdeef('0x1b')](0x194);}return _0x397733;};}function handleError(_0x46fff8,_0x2425d8){_0x2425d8=_0x2425d8||0x1f4;return function(_0x2649d0){logger[_0xdeef('0x29')](_0x2649d0[_0xdeef('0x2a')]);if(_0x2649d0[_0xdeef('0x2b')]){delete _0x2649d0[_0xdeef('0x2b')];}_0x46fff8['status'](_0x2425d8)[_0xdeef('0x2c')](_0x2649d0);};}exports['show']=function(_0x3c11c3,_0x55bbf5){var _0x1b8a57={'raw':![],'where':{'id':_0x3c11c3[_0xdeef('0x2d')]['id']}},_0x3417b9={};_0x3417b9[_0xdeef('0x2e')]=_[_0xdeef('0x2f')](db[_0xdeef('0x30')][_0xdeef('0x31')]);_0x3417b9['query']=_[_0xdeef('0x2f')](_0x3c11c3[_0xdeef('0x32')]);_0x3417b9['filters']=_[_0xdeef('0x33')](_0x3417b9['model'],_0x3417b9['query']);_0x1b8a57['attributes']=_['intersection'](_0x3417b9[_0xdeef('0x2e')],qs[_0xdeef('0x34')](_0x3c11c3[_0xdeef('0x32')]['fields']));_0x1b8a57[_0xdeef('0x35')]=_0x1b8a57[_0xdeef('0x35')]['length']?_0x1b8a57[_0xdeef('0x35')]:_0x3417b9[_0xdeef('0x2e')];if(_0x3c11c3['query'][_0xdeef('0x36')]){_0x1b8a57[_0xdeef('0x37')]=[{'all':!![]}];}_0x1b8a57=_[_0xdeef('0x38')]({},_0x1b8a57,_0x3c11c3[_0xdeef('0x39')]);return db[_0xdeef('0x30')]['find'](_0x1b8a57)['then'](handleEntityNotFound(_0x55bbf5,null))[_0xdeef('0x3a')](respondWithResult(_0x55bbf5,null))[_0xdeef('0x3b')](handleError(_0x55bbf5,null));};exports[_0xdeef('0x28')]=function(_0x216a63,_0x566122){return db[_0xdeef('0x30')]['find']({'where':{'id':_0x216a63['params']['id']}})[_0xdeef('0x3a')](handleEntityNotFound(_0x566122,null))[_0xdeef('0x3a')](removeEntity(_0x566122,null))[_0xdeef('0x3b')](handleError(_0x566122,null));};function widgetAttributes(_0x19980d){try{switch(_0x19980d['type']){case _0xdeef('0x3c'):return[{'name':_0xdeef('0x3d'),'value':_0x19980d[_0xdeef('0x3d')]||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d[_0xdeef('0x3e')][0x0]?_0x19980d[_0xdeef('0x3e')][0x0][_0xdeef('0x3f')]:undefined)||_0xdeef('0x40')}];case _0xdeef('0x41'):return[{'name':_0xdeef('0x42'),'value':_0x19980d[_0xdeef('0x42')]||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d[_0xdeef('0x3e')][0x0]?_0x19980d[_0xdeef('0x3e')][0x0][_0xdeef('0x3f')]:undefined)||''}];case _0xdeef('0x43'):return[{'name':_0xdeef('0x44'),'value':_0x19980d[_0xdeef('0x44')]||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d[_0xdeef('0x3e')][0x0]?_0x19980d[_0xdeef('0x3e')][0x0][_0xdeef('0x3f')]:undefined)||'HH:mm:ss'},{'name':_0xdeef('0x45'),'value':_0x19980d['attrTimezone']||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d['attrs'][0x1]?_0x19980d[_0xdeef('0x3e')][0x1][_0xdeef('0x3f')]:undefined)||_0xdeef('0x46')},{'name':_0xdeef('0x47'),'value':_0x19980d[_0xdeef('0x47')]||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d['attrs'][0x2]?_0x19980d[_0xdeef('0x3e')][0x2][_0xdeef('0x3f')]:undefined)||0xc}];case'counter':return[{'name':_0xdeef('0x48'),'value':_0x19980d[_0xdeef('0x48')]||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d['attrs'][0x0]?_0x19980d[_0xdeef('0x3e')][0x0][_0xdeef('0x3f')]:undefined)||_0xdeef('0x49')},{'name':_0xdeef('0x4a'),'value':_0x19980d[_0xdeef('0x4a')]||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d['attrs'][0x1]?_0x19980d['attrs'][0x1][_0xdeef('0x3f')]:undefined)||[]},{'name':_0xdeef('0x47'),'value':_0x19980d[_0xdeef('0x47')]||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d['attrs'][0x2]?_0x19980d['attrs'][0x2][_0xdeef('0x3f')]:undefined)||0x14}];case _0xdeef('0x4b'):case _0xdeef('0x4c'):return[{'name':_0xdeef('0x4d'),'value':_0x19980d[_0xdeef('0x4d')]||(_0x19980d['attrs']&&_0x19980d[_0xdeef('0x3e')][0x0]?_0x19980d[_0xdeef('0x3e')][0x0][_0xdeef('0x3f')]:undefined)||_0xdeef('0x49')},{'name':_0xdeef('0x4e'),'value':_0x19980d[_0xdeef('0x4e')]||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d[_0xdeef('0x3e')][0x1]?_0x19980d[_0xdeef('0x3e')][0x1][_0xdeef('0x3f')]:undefined)||null},{'name':_0xdeef('0x4f'),'value':_0x19980d[_0xdeef('0x4f')]||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d[_0xdeef('0x3e')][0x2]?_0x19980d['attrs'][0x2]['value']:undefined)||null},{'name':_0xdeef('0x4a'),'value':_0x19980d['attrVoiceQueues']||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d[_0xdeef('0x3e')][0x3]?_0x19980d[_0xdeef('0x3e')][0x3][_0xdeef('0x3f')]:undefined)||[]}];case _0xdeef('0x50'):return[{'name':'attrReport','type':_0x19980d[_0xdeef('0x51')]||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d[_0xdeef('0x3e')][0x0]?_0x19980d[_0xdeef('0x3e')][0x0]['type']:undefined)||null,'value':_0x19980d[_0xdeef('0x52')]||(_0x19980d['attrs']&&_0x19980d[_0xdeef('0x3e')][0x0]?_0x19980d['attrs'][0x0][_0xdeef('0x3f')]:undefined)||null},{'name':_0xdeef('0x53'),'value':_0x19980d['attrRefresh']||(_0x19980d[_0xdeef('0x3e')]&&_0x19980d[_0xdeef('0x3e')][0x1]?_0x19980d['attrs'][0x1]['value']:undefined)||0x0}];default:return[];}}catch(_0x211a1c){logger[_0xdeef('0x29')](_0xdeef('0x54'),JSON[_0xdeef('0x55')](_0x211a1c));return[];}}exports[_0xdeef('0x56')]=function(_0x4c744e,_0x208922){if(_0x4c744e[_0xdeef('0x57')]){_0x4c744e[_0xdeef('0x57')][_0xdeef('0x3e')]=widgetAttributes(_0x4c744e[_0xdeef('0x57')]);}return db[_0xdeef('0x30')][_0xdeef('0x56')](_0x4c744e[_0xdeef('0x57')],{})[_0xdeef('0x3a')](respondWithResult(_0x208922,0xc9))[_0xdeef('0x3b')](handleError(_0x208922,null));};exports[_0xdeef('0x27')]=function(_0x20fe1c,_0x53198f){if(_0x20fe1c[_0xdeef('0x57')]['id']){delete _0x20fe1c[_0xdeef('0x57')]['id'];}_0x20fe1c[_0xdeef('0x57')][_0xdeef('0x3e')]=widgetAttributes(_0x20fe1c[_0xdeef('0x57')]);return db[_0xdeef('0x30')]['find']({'where':{'id':_0x20fe1c[_0xdeef('0x2d')]['id']}})[_0xdeef('0x3a')](handleEntityNotFound(_0x53198f,null))['then'](saveUpdates(_0x20fe1c['body'],null))[_0xdeef('0x3a')](respondWithResult(_0x53198f,null))[_0xdeef('0x3b')](handleError(_0x53198f,null));};