Built motion from commit (unavailable).|2.5.14
[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 _0xc64c=['options','DashboardItem','find','catch','type','attrUrl','attrs','value','https://','custom','clock','attrHourFormat','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','pie-chart','attrSerie1','attrSerie3','web-report','reportType','attrReport','stringify','body','create','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','redis','localhost','socket.io-emitter','./dashboardItem.socket','register','sendStatus','status','json','offset','limit','set','Content-Range','reject','save','update','then','end','error','stack','name','send','show','params','model','keys','query','intersection','fields','attributes','length','includeAll','merge'];(function(_0x326211,_0x233dc9){var _0x58c209=function(_0x1d21c5){while(--_0x1d21c5){_0x326211['push'](_0x326211['shift']());}};_0x58c209(++_0x233dc9);}(_0xc64c,0x11e));var _0xcc64=function(_0x7e2eb0,_0x17cd58){_0x7e2eb0=_0x7e2eb0-0x0;var _0xd92de4=_0xc64c[_0x7e2eb0];return _0xd92de4;};'use strict';var pdf=require(_0xcc64('0x0'));var emlformat=require(_0xcc64('0x1'));var rimraf=require(_0xcc64('0x2'));var zipdir=require(_0xcc64('0x3'));var jsonpatch=require(_0xcc64('0x4'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xcc64('0x5'));var util=require(_0xcc64('0x6'));var path=require(_0xcc64('0x7'));var sox=require(_0xcc64('0x8'));var csv=require(_0xcc64('0x9'));var ejs=require(_0xcc64('0xa'));var fs=require('fs');var _=require(_0xcc64('0xb'));var squel=require(_0xcc64('0xc'));var crypto=require(_0xcc64('0xd'));var jsforce=require(_0xcc64('0xe'));var deskjs=require(_0xcc64('0xf'));var toCsv=require(_0xcc64('0x9'));var querystring=require(_0xcc64('0x10'));var Papa=require(_0xcc64('0x11'));var Redis=require(_0xcc64('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xcc64('0x13'));var as=require(_0xcc64('0x14'));var hardwareService=require(_0xcc64('0x15'));var logger=require(_0xcc64('0x16'))('api');var utils=require(_0xcc64('0x17'));var config=require(_0xcc64('0x18'));var licenseUtil=require(_0xcc64('0x19'));var db=require('../../mysqldb')['db'];config[_0xcc64('0x1a')]=_['defaults'](config['redis'],{'host':_0xcc64('0x1b'),'port':0x18eb});var socket=require(_0xcc64('0x1c'))(new Redis(config[_0xcc64('0x1a')]));require(_0xcc64('0x1d'))[_0xcc64('0x1e')](socket);function respondWithStatusCode(_0x46d400,_0x3a25d4){_0x3a25d4=_0x3a25d4||0xcc;return function(_0x3aa1d8){if(_0x3aa1d8){return _0x46d400[_0xcc64('0x1f')](_0x3a25d4);}return _0x46d400['status'](_0x3a25d4)['end']();};}function respondWithResult(_0x2767f7,_0x3272dd){_0x3272dd=_0x3272dd||0xc8;return function(_0x3ae3f1){if(_0x3ae3f1){return _0x2767f7[_0xcc64('0x20')](_0x3272dd)[_0xcc64('0x21')](_0x3ae3f1);}};}function respondWithFilteredResult(_0x305ec0,_0x1ad566){return function(_0x4a62af){if(_0x4a62af){var _0x112016=_0x4a62af['count'],_0x232b30=_0x1ad566['offset'],_0x522e82=_0x1ad566[_0xcc64('0x22')]+_0x1ad566[_0xcc64('0x23')],_0x554ea3;if(_0x522e82>=_0x112016){_0x522e82=_0x112016;_0x554ea3=0xc8;}else{_0x554ea3=0xce;}_0x305ec0['status'](_0x554ea3);return _0x305ec0[_0xcc64('0x24')](_0xcc64('0x25'),_0x232b30+'-'+_0x522e82+'/'+_0x112016)[_0xcc64('0x21')](_0x4a62af);}return null;};}function patchUpdates(_0x4b5ef8){return function(_0x499765){try{jsonpatch['apply'](_0x499765,_0x4b5ef8,!![]);}catch(_0xee60b3){return BPromise[_0xcc64('0x26')](_0xee60b3);}return _0x499765[_0xcc64('0x27')]();};}function saveUpdates(_0x2e4a07,_0xdbe364){return function(_0x41f068){if(_0x41f068){return _0x41f068[_0xcc64('0x28')](_0x2e4a07)[_0xcc64('0x29')](function(_0x297b04){return _0x297b04;});}return null;};}function removeEntity(_0x25ec51,_0x3c227e){return function(_0x2ca4fb){if(_0x2ca4fb){return _0x2ca4fb['destroy']()[_0xcc64('0x29')](function(){_0x25ec51[_0xcc64('0x20')](0xcc)[_0xcc64('0x2a')]();});}};}function handleEntityNotFound(_0x5cf608,_0x25cc29){return function(_0x7fccb7){if(!_0x7fccb7){_0x5cf608[_0xcc64('0x1f')](0x194);}return _0x7fccb7;};}function handleError(_0x4f1699,_0x5a03b1){_0x5a03b1=_0x5a03b1||0x1f4;return function(_0x575a87){logger[_0xcc64('0x2b')](_0x575a87[_0xcc64('0x2c')]);if(_0x575a87[_0xcc64('0x2d')]){delete _0x575a87[_0xcc64('0x2d')];}_0x4f1699[_0xcc64('0x20')](_0x5a03b1)[_0xcc64('0x2e')](_0x575a87);};}exports[_0xcc64('0x2f')]=function(_0x31d88e,_0xf5e777){var _0x4d4998={'raw':![],'where':{'id':_0x31d88e[_0xcc64('0x30')]['id']}},_0x4359ee={};_0x4359ee[_0xcc64('0x31')]=_[_0xcc64('0x32')](db['DashboardItem']['rawAttributes']);_0x4359ee[_0xcc64('0x33')]=_['keys'](_0x31d88e[_0xcc64('0x33')]);_0x4359ee['filters']=_[_0xcc64('0x34')](_0x4359ee[_0xcc64('0x31')],_0x4359ee['query']);_0x4d4998['attributes']=_[_0xcc64('0x34')](_0x4359ee[_0xcc64('0x31')],qs[_0xcc64('0x35')](_0x31d88e[_0xcc64('0x33')][_0xcc64('0x35')]));_0x4d4998[_0xcc64('0x36')]=_0x4d4998[_0xcc64('0x36')][_0xcc64('0x37')]?_0x4d4998[_0xcc64('0x36')]:_0x4359ee[_0xcc64('0x31')];if(_0x31d88e[_0xcc64('0x33')][_0xcc64('0x38')]){_0x4d4998['include']=[{'all':!![]}];}_0x4d4998=_[_0xcc64('0x39')]({},_0x4d4998,_0x31d88e[_0xcc64('0x3a')]);return db[_0xcc64('0x3b')]['find'](_0x4d4998)['then'](handleEntityNotFound(_0xf5e777,null))[_0xcc64('0x29')](respondWithResult(_0xf5e777,null))['catch'](handleError(_0xf5e777,null));};exports['destroy']=function(_0x12b20c,_0x4396c0){return db['DashboardItem'][_0xcc64('0x3c')]({'where':{'id':_0x12b20c[_0xcc64('0x30')]['id']}})[_0xcc64('0x29')](handleEntityNotFound(_0x4396c0,null))[_0xcc64('0x29')](removeEntity(_0x4396c0,null))[_0xcc64('0x3d')](handleError(_0x4396c0,null));};function widgetAttributes(_0x17253a){try{switch(_0x17253a[_0xcc64('0x3e')]){case'iframe':return[{'name':'attrUrl','value':_0x17253a[_0xcc64('0x3f')]||(_0x17253a[_0xcc64('0x40')]&&_0x17253a[_0xcc64('0x40')][0x0]?_0x17253a['attrs'][0x0][_0xcc64('0x41')]:undefined)||_0xcc64('0x42')}];case _0xcc64('0x43'):return[{'name':'attrPath','value':_0x17253a['attrPath']||(_0x17253a[_0xcc64('0x40')]&&_0x17253a[_0xcc64('0x40')][0x0]?_0x17253a['attrs'][0x0]['value']:undefined)||''}];case _0xcc64('0x44'):return[{'name':'attrHourFormat','value':_0x17253a[_0xcc64('0x45')]||(_0x17253a[_0xcc64('0x40')]&&_0x17253a['attrs'][0x0]?_0x17253a[_0xcc64('0x40')][0x0][_0xcc64('0x41')]:undefined)||'HH:mm:ss'},{'name':_0xcc64('0x46'),'value':_0x17253a['attrTimezone']||(_0x17253a[_0xcc64('0x40')]&&_0x17253a[_0xcc64('0x40')][0x1]?_0x17253a[_0xcc64('0x40')][0x1][_0xcc64('0x41')]:undefined)||_0xcc64('0x47')},{'name':_0xcc64('0x48'),'value':_0x17253a[_0xcc64('0x48')]||(_0x17253a[_0xcc64('0x40')]&&_0x17253a[_0xcc64('0x40')][0x2]?_0x17253a[_0xcc64('0x40')][0x2][_0xcc64('0x41')]:undefined)||0xc}];case _0xcc64('0x49'):return[{'name':_0xcc64('0x4a'),'value':_0x17253a[_0xcc64('0x4a')]||(_0x17253a[_0xcc64('0x40')]&&_0x17253a[_0xcc64('0x40')][0x0]?_0x17253a[_0xcc64('0x40')][0x0][_0xcc64('0x41')]:undefined)||_0xcc64('0x4b')},{'name':_0xcc64('0x4c'),'value':_0x17253a['attrVoiceQueues']||(_0x17253a[_0xcc64('0x40')]&&_0x17253a['attrs'][0x1]?_0x17253a[_0xcc64('0x40')][0x1][_0xcc64('0x41')]:undefined)||[]},{'name':_0xcc64('0x48'),'value':_0x17253a['attrFontSize']||(_0x17253a[_0xcc64('0x40')]&&_0x17253a['attrs'][0x2]?_0x17253a[_0xcc64('0x40')][0x2][_0xcc64('0x41')]:undefined)||0x14}];case'multibar-chart':case _0xcc64('0x4d'):return[{'name':_0xcc64('0x4e'),'value':_0x17253a[_0xcc64('0x4e')]||(_0x17253a[_0xcc64('0x40')]&&_0x17253a[_0xcc64('0x40')][0x0]?_0x17253a['attrs'][0x0][_0xcc64('0x41')]:undefined)||_0xcc64('0x4b')},{'name':'attrSerie2','value':_0x17253a['attrSerie2']||(_0x17253a[_0xcc64('0x40')]&&_0x17253a[_0xcc64('0x40')][0x1]?_0x17253a[_0xcc64('0x40')][0x1]['value']:undefined)||null},{'name':'attrSerie3','value':_0x17253a[_0xcc64('0x4f')]||(_0x17253a[_0xcc64('0x40')]&&_0x17253a[_0xcc64('0x40')][0x2]?_0x17253a[_0xcc64('0x40')][0x2]['value']:undefined)||null},{'name':_0xcc64('0x4c'),'value':_0x17253a[_0xcc64('0x4c')]||(_0x17253a[_0xcc64('0x40')]&&_0x17253a[_0xcc64('0x40')][0x3]?_0x17253a[_0xcc64('0x40')][0x3]['value']:undefined)||[]}];case _0xcc64('0x50'):return[{'name':'attrReport','type':_0x17253a[_0xcc64('0x51')]||(_0x17253a['attrs']&&_0x17253a[_0xcc64('0x40')][0x0]?_0x17253a[_0xcc64('0x40')][0x0][_0xcc64('0x3e')]:undefined)||null,'value':_0x17253a[_0xcc64('0x52')]||(_0x17253a[_0xcc64('0x40')]&&_0x17253a[_0xcc64('0x40')][0x0]?_0x17253a[_0xcc64('0x40')][0x0]['value']:undefined)||null},{'name':'attrRefresh','value':_0x17253a['attrRefresh']||(_0x17253a[_0xcc64('0x40')]&&_0x17253a['attrs'][0x1]?_0x17253a['attrs'][0x1]['value']:undefined)||0x0}];default:return[];}}catch(_0x5e984f){logger[_0xcc64('0x2b')]('widgetAttributes:\x20%s',JSON[_0xcc64('0x53')](_0x5e984f));return[];}}exports['create']=function(_0xfdba09,_0xd18674){if(_0xfdba09['body']){_0xfdba09[_0xcc64('0x54')][_0xcc64('0x40')]=widgetAttributes(_0xfdba09[_0xcc64('0x54')]);}return db['DashboardItem'][_0xcc64('0x55')](_0xfdba09[_0xcc64('0x54')],{})[_0xcc64('0x29')](respondWithResult(_0xd18674,0xc9))['catch'](handleError(_0xd18674,null));};exports['update']=function(_0x376aea,_0xfa4183){if(_0x376aea[_0xcc64('0x54')]['id']){delete _0x376aea[_0xcc64('0x54')]['id'];}_0x376aea[_0xcc64('0x54')][_0xcc64('0x40')]=widgetAttributes(_0x376aea[_0xcc64('0x54')]);return db[_0xcc64('0x3b')][_0xcc64('0x3c')]({'where':{'id':_0x376aea['params']['id']}})[_0xcc64('0x29')](handleEntityNotFound(_0xfa4183,null))[_0xcc64('0x29')](saveUpdates(_0x376aea['body'],null))['then'](respondWithResult(_0xfa4183,null))[_0xcc64('0x3d')](handleError(_0xfa4183,null));};