Built motion from commit (unavailable).|2.5.30
[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 _0x9fe3=['../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./dashboardItem.socket','register','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','show','params','model','DashboardItem','rawAttributes','query','keys','filters','intersection','attributes','includeAll','options','find','catch','type','iframe','attrUrl','attrs','https://','custom','attrPath','value','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrMetric','total','attrVoiceQueues','attrFontSize','multibar-chart','pie-chart','attrSerie1','attrSerie2','attrSerie3','web-report','reportType','attrReport','attrRefresh','widgetAttributes:\x20%s','stringify','create','body','update','rimraf','fast-json-patch','moment','mustache','util','path','to-csv','ejs','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x5c883f,_0x38f092){var _0x4210cc=function(_0x51be71){while(--_0x51be71){_0x5c883f['push'](_0x5c883f['shift']());}};_0x4210cc(++_0x38f092);}(_0x9fe3,0x1b1));var _0x39fe=function(_0x1e6db3,_0x5643ac){_0x1e6db3=_0x1e6db3-0x0;var _0x1de886=_0x9fe3[_0x1e6db3];return _0x1de886;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x39fe('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x39fe('0x1'));var rp=require('request-promise');var moment=require(_0x39fe('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x39fe('0x3'));var util=require(_0x39fe('0x4'));var path=require(_0x39fe('0x5'));var sox=require('sox');var csv=require(_0x39fe('0x6'));var ejs=require(_0x39fe('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x39fe('0x8'));var crypto=require('crypto');var jsforce=require(_0x39fe('0x9'));var deskjs=require('desk.js');var toCsv=require(_0x39fe('0x6'));var querystring=require(_0x39fe('0xa'));var Papa=require(_0x39fe('0xb'));var Redis=require(_0x39fe('0xc'));var authService=require(_0x39fe('0xd'));var qs=require(_0x39fe('0xe'));var as=require(_0x39fe('0xf'));var hardwareService=require(_0x39fe('0x10'));var logger=require(_0x39fe('0x11'))(_0x39fe('0x12'));var utils=require(_0x39fe('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x39fe('0x14'));var db=require(_0x39fe('0x15'))['db'];config[_0x39fe('0x16')]=_[_0x39fe('0x17')](config[_0x39fe('0x16')],{'host':_0x39fe('0x18'),'port':0x18eb});var socket=require(_0x39fe('0x19'))(new Redis(config[_0x39fe('0x16')]));require(_0x39fe('0x1a'))[_0x39fe('0x1b')](socket);function respondWithStatusCode(_0x4b2c74,_0x3b9b03){_0x3b9b03=_0x3b9b03||0xcc;return function(_0xb2312){if(_0xb2312){return _0x4b2c74['sendStatus'](_0x3b9b03);}return _0x4b2c74['status'](_0x3b9b03)['end']();};}function respondWithResult(_0x56f2a8,_0x5406bf){_0x5406bf=_0x5406bf||0xc8;return function(_0x51f0a8){if(_0x51f0a8){return _0x56f2a8[_0x39fe('0x1c')](_0x5406bf)[_0x39fe('0x1d')](_0x51f0a8);}};}function respondWithFilteredResult(_0x49be45,_0xcb2431){return function(_0x3f5519){if(_0x3f5519){var _0x3511d9=typeof _0xcb2431[_0x39fe('0x1e')]===_0x39fe('0x1f')&&typeof _0xcb2431['limit']===_0x39fe('0x1f');var _0x1a1672=_0x3f5519['count'];var _0x1e4e46=_0x3511d9?0x0:_0xcb2431[_0x39fe('0x1e')];var _0x4d4ab7=_0x3511d9?_0x3f5519[_0x39fe('0x20')]:_0xcb2431[_0x39fe('0x1e')]+_0xcb2431[_0x39fe('0x21')];var _0x4658cf;if(_0x4d4ab7>=_0x1a1672){_0x4d4ab7=_0x1a1672;_0x4658cf=0xc8;}else{_0x4658cf=0xce;}_0x49be45['status'](_0x4658cf);return _0x49be45[_0x39fe('0x22')](_0x39fe('0x23'),_0x1e4e46+'-'+_0x4d4ab7+'/'+_0x1a1672)['json'](_0x3f5519);}return null;};}function patchUpdates(_0x2bddfb){return function(_0x23676b){try{jsonpatch[_0x39fe('0x24')](_0x23676b,_0x2bddfb,!![]);}catch(_0x5ecd32){return BPromise[_0x39fe('0x25')](_0x5ecd32);}return _0x23676b[_0x39fe('0x26')]();};}function saveUpdates(_0x147c0d,_0x1f5fbc){return function(_0x9a3772){if(_0x9a3772){return _0x9a3772['update'](_0x147c0d)[_0x39fe('0x27')](function(_0x33547f){return _0x33547f;});}return null;};}function removeEntity(_0x462264,_0x4d448e){return function(_0x5ee103){if(_0x5ee103){return _0x5ee103[_0x39fe('0x28')]()[_0x39fe('0x27')](function(){_0x462264['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x20840c,_0x4a7a20){return function(_0x54b5b7){if(!_0x54b5b7){_0x20840c['sendStatus'](0x194);}return _0x54b5b7;};}function handleError(_0x2e7852,_0xbf81f5){_0xbf81f5=_0xbf81f5||0x1f4;return function(_0x4776de){logger[_0x39fe('0x29')](_0x4776de[_0x39fe('0x2a')]);if(_0x4776de[_0x39fe('0x2b')]){delete _0x4776de[_0x39fe('0x2b')];}_0x2e7852[_0x39fe('0x1c')](_0xbf81f5)[_0x39fe('0x2c')](_0x4776de);};}exports[_0x39fe('0x2d')]=function(_0x4817e2,_0x119f17){var _0x10b335={'raw':![],'where':{'id':_0x4817e2[_0x39fe('0x2e')]['id']}},_0x4adfd5={};_0x4adfd5[_0x39fe('0x2f')]=_['keys'](db[_0x39fe('0x30')][_0x39fe('0x31')]);_0x4adfd5[_0x39fe('0x32')]=_[_0x39fe('0x33')](_0x4817e2['query']);_0x4adfd5[_0x39fe('0x34')]=_[_0x39fe('0x35')](_0x4adfd5[_0x39fe('0x2f')],_0x4adfd5[_0x39fe('0x32')]);_0x10b335[_0x39fe('0x36')]=_[_0x39fe('0x35')](_0x4adfd5['model'],qs['fields'](_0x4817e2[_0x39fe('0x32')]['fields']));_0x10b335[_0x39fe('0x36')]=_0x10b335[_0x39fe('0x36')]['length']?_0x10b335[_0x39fe('0x36')]:_0x4adfd5[_0x39fe('0x2f')];if(_0x4817e2[_0x39fe('0x32')][_0x39fe('0x37')]){_0x10b335['include']=[{'all':!![]}];}_0x10b335=_['merge']({},_0x10b335,_0x4817e2[_0x39fe('0x38')]);return db[_0x39fe('0x30')][_0x39fe('0x39')](_0x10b335)[_0x39fe('0x27')](handleEntityNotFound(_0x119f17,null))[_0x39fe('0x27')](respondWithResult(_0x119f17,null))[_0x39fe('0x3a')](handleError(_0x119f17,null));};exports[_0x39fe('0x28')]=function(_0x445b95,_0x47f287){return db['DashboardItem'][_0x39fe('0x39')]({'where':{'id':_0x445b95[_0x39fe('0x2e')]['id']}})['then'](handleEntityNotFound(_0x47f287,null))['then'](removeEntity(_0x47f287,null))[_0x39fe('0x3a')](handleError(_0x47f287,null));};function widgetAttributes(_0x3f150b){try{switch(_0x3f150b[_0x39fe('0x3b')]){case _0x39fe('0x3c'):return[{'name':_0x39fe('0x3d'),'value':_0x3f150b[_0x39fe('0x3d')]||(_0x3f150b[_0x39fe('0x3e')]&&_0x3f150b['attrs'][0x0]?_0x3f150b['attrs'][0x0]['value']:undefined)||_0x39fe('0x3f')}];case _0x39fe('0x40'):return[{'name':_0x39fe('0x41'),'value':_0x3f150b[_0x39fe('0x41')]||(_0x3f150b[_0x39fe('0x3e')]&&_0x3f150b[_0x39fe('0x3e')][0x0]?_0x3f150b[_0x39fe('0x3e')][0x0][_0x39fe('0x42')]:undefined)||''}];case _0x39fe('0x43'):return[{'name':_0x39fe('0x44'),'value':_0x3f150b[_0x39fe('0x44')]||(_0x3f150b[_0x39fe('0x3e')]&&_0x3f150b['attrs'][0x0]?_0x3f150b[_0x39fe('0x3e')][0x0]['value']:undefined)||_0x39fe('0x45')},{'name':_0x39fe('0x46'),'value':_0x3f150b[_0x39fe('0x46')]||(_0x3f150b['attrs']&&_0x3f150b[_0x39fe('0x3e')][0x1]?_0x3f150b[_0x39fe('0x3e')][0x1][_0x39fe('0x42')]:undefined)||_0x39fe('0x47')},{'name':'attrFontSize','value':_0x3f150b['attrFontSize']||(_0x3f150b[_0x39fe('0x3e')]&&_0x3f150b['attrs'][0x2]?_0x3f150b['attrs'][0x2][_0x39fe('0x42')]:undefined)||0xc}];case'counter':return[{'name':_0x39fe('0x48'),'value':_0x3f150b['attrMetric']||(_0x3f150b['attrs']&&_0x3f150b[_0x39fe('0x3e')][0x0]?_0x3f150b[_0x39fe('0x3e')][0x0][_0x39fe('0x42')]:undefined)||_0x39fe('0x49')},{'name':_0x39fe('0x4a'),'value':_0x3f150b[_0x39fe('0x4a')]||(_0x3f150b[_0x39fe('0x3e')]&&_0x3f150b[_0x39fe('0x3e')][0x1]?_0x3f150b[_0x39fe('0x3e')][0x1][_0x39fe('0x42')]:undefined)||[]},{'name':_0x39fe('0x4b'),'value':_0x3f150b[_0x39fe('0x4b')]||(_0x3f150b['attrs']&&_0x3f150b[_0x39fe('0x3e')][0x2]?_0x3f150b[_0x39fe('0x3e')][0x2][_0x39fe('0x42')]:undefined)||0x14}];case _0x39fe('0x4c'):case _0x39fe('0x4d'):return[{'name':'attrSerie1','value':_0x3f150b[_0x39fe('0x4e')]||(_0x3f150b[_0x39fe('0x3e')]&&_0x3f150b[_0x39fe('0x3e')][0x0]?_0x3f150b['attrs'][0x0]['value']:undefined)||_0x39fe('0x49')},{'name':_0x39fe('0x4f'),'value':_0x3f150b[_0x39fe('0x4f')]||(_0x3f150b[_0x39fe('0x3e')]&&_0x3f150b[_0x39fe('0x3e')][0x1]?_0x3f150b[_0x39fe('0x3e')][0x1][_0x39fe('0x42')]:undefined)||null},{'name':_0x39fe('0x50'),'value':_0x3f150b[_0x39fe('0x50')]||(_0x3f150b[_0x39fe('0x3e')]&&_0x3f150b['attrs'][0x2]?_0x3f150b[_0x39fe('0x3e')][0x2]['value']:undefined)||null},{'name':_0x39fe('0x4a'),'value':_0x3f150b['attrVoiceQueues']||(_0x3f150b[_0x39fe('0x3e')]&&_0x3f150b['attrs'][0x3]?_0x3f150b['attrs'][0x3][_0x39fe('0x42')]:undefined)||[]}];case _0x39fe('0x51'):return[{'name':'attrReport','type':_0x3f150b[_0x39fe('0x52')]||(_0x3f150b[_0x39fe('0x3e')]&&_0x3f150b[_0x39fe('0x3e')][0x0]?_0x3f150b[_0x39fe('0x3e')][0x0][_0x39fe('0x3b')]:undefined)||null,'value':_0x3f150b[_0x39fe('0x53')]||(_0x3f150b['attrs']&&_0x3f150b[_0x39fe('0x3e')][0x0]?_0x3f150b[_0x39fe('0x3e')][0x0][_0x39fe('0x42')]:undefined)||null},{'name':_0x39fe('0x54'),'value':_0x3f150b[_0x39fe('0x54')]||(_0x3f150b['attrs']&&_0x3f150b[_0x39fe('0x3e')][0x1]?_0x3f150b['attrs'][0x1]['value']:undefined)||0x0}];default:return[];}}catch(_0x4aff7c){logger[_0x39fe('0x29')](_0x39fe('0x55'),JSON[_0x39fe('0x56')](_0x4aff7c));return[];}}exports[_0x39fe('0x57')]=function(_0x373432,_0x9a670a){if(_0x373432[_0x39fe('0x58')]){_0x373432[_0x39fe('0x58')][_0x39fe('0x3e')]=widgetAttributes(_0x373432[_0x39fe('0x58')]);}return db[_0x39fe('0x30')][_0x39fe('0x57')](_0x373432['body'],{})[_0x39fe('0x27')](respondWithResult(_0x9a670a,0xc9))[_0x39fe('0x3a')](handleError(_0x9a670a,null));};exports[_0x39fe('0x59')]=function(_0x3b435a,_0x3302b1){if(_0x3b435a['body']['id']){delete _0x3b435a[_0x39fe('0x58')]['id'];}_0x3b435a[_0x39fe('0x58')][_0x39fe('0x3e')]=widgetAttributes(_0x3b435a[_0x39fe('0x58')]);return db[_0x39fe('0x30')]['find']({'where':{'id':_0x3b435a[_0x39fe('0x2e')]['id']}})[_0x39fe('0x27')](handleEntityNotFound(_0x3302b1,null))[_0x39fe('0x27')](saveUpdates(_0x3b435a[_0x39fe('0x58')],null))[_0x39fe('0x27')](respondWithResult(_0x3302b1,null))[_0x39fe('0x3a')](handleError(_0x3302b1,null));};