Built motion from commit (unavailable).|2.0.75
[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 _0x3cae=['apply','reject','save','then','destroy','error','stack','name','send','show','model','keys','DashboardItem','rawAttributes','query','intersection','attributes','fields','length','includeAll','include','merge','options','find','params','catch','type','iframe','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','attrMetric','attrVoiceQueues','pie-chart','attrSerie1','total','attrSerie2','attrSerie3','attrReport','attrRefresh','widgetAttributes:\x20%s','stringify','create','body','update','fast-json-patch','moment','bluebird','util','path','sox','ejs','lodash','squel','crypto','to-csv','querystring','papaparse','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../mysqldb','socket.io-emitter','localhost','./dashboardItem.socket','register','sendStatus','end','status','json','count','offset','limit','set','Content-Range'];(function(_0x17d9e3,_0x1f969c){var _0x14192d=function(_0x159745){while(--_0x159745){_0x17d9e3['push'](_0x17d9e3['shift']());}};_0x14192d(++_0x1f969c);}(_0x3cae,0x8d));var _0xe3ca=function(_0x4cf98e,_0xba4b79){_0x4cf98e=_0x4cf98e-0x0;var _0x1623ac=_0x3cae[_0x4cf98e];return _0x1623ac;};'use strict';var jsonpatch=require(_0xe3ca('0x0'));var rp=require('request-promise');var moment=require(_0xe3ca('0x1'));var BPromise=require(_0xe3ca('0x2'));var Mustache=require('mustache');var util=require(_0xe3ca('0x3'));var path=require(_0xe3ca('0x4'));var sox=require(_0xe3ca('0x5'));var csv=require('to-csv');var ejs=require(_0xe3ca('0x6'));var fs=require('fs');var _=require(_0xe3ca('0x7'));var squel=require(_0xe3ca('0x8'));var crypto=require(_0xe3ca('0x9'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xe3ca('0xa'));var querystring=require(_0xe3ca('0xb'));var Papa=require(_0xe3ca('0xc'));var qs=require(_0xe3ca('0xd'));var logger=require(_0xe3ca('0xe'))(_0xe3ca('0xf'));var utils=require(_0xe3ca('0x10'));var config=require('../../config/environment');var db=require(_0xe3ca('0x11'))['db'];var socket=require(_0xe3ca('0x12'))({'host':_0xe3ca('0x13'),'port':0x18eb});require(_0xe3ca('0x14'))[_0xe3ca('0x15')](socket);function respondWithStatusCode(_0x11f6e5,_0x2e0ffd){_0x2e0ffd=_0x2e0ffd||0xcc;return function(_0x25daa4){if(_0x25daa4){return _0x11f6e5[_0xe3ca('0x16')](_0x2e0ffd);}return _0x11f6e5['status'](_0x2e0ffd)[_0xe3ca('0x17')]();};}function respondWithResult(_0x277182,_0x4ee8e4){_0x4ee8e4=_0x4ee8e4||0xc8;return function(_0x3eadc3){if(_0x3eadc3){return _0x277182[_0xe3ca('0x18')](_0x4ee8e4)[_0xe3ca('0x19')](_0x3eadc3);}};}function respondWithFilteredResult(_0x4d79f8,_0x4a048f){return function(_0xf18756){if(_0xf18756){var _0x3b4b91=_0xf18756[_0xe3ca('0x1a')],_0x2de447=_0x4a048f[_0xe3ca('0x1b')],_0x3ee891=_0x4a048f[_0xe3ca('0x1b')]+_0x4a048f[_0xe3ca('0x1c')],_0x3d99b2;if(_0x3ee891>=_0x3b4b91){_0x3ee891=_0x3b4b91;_0x3d99b2=0xc8;}else{_0x3d99b2=0xce;}_0x4d79f8[_0xe3ca('0x18')](_0x3d99b2);return _0x4d79f8[_0xe3ca('0x1d')](_0xe3ca('0x1e'),_0x2de447+'-'+_0x3ee891+'/'+_0x3b4b91)[_0xe3ca('0x19')](_0xf18756);}return null;};}function patchUpdates(_0x2414c6){return function(_0x5edf4a){try{jsonpatch[_0xe3ca('0x1f')](_0x5edf4a,_0x2414c6,!![]);}catch(_0x432bda){return BPromise[_0xe3ca('0x20')](_0x432bda);}return _0x5edf4a[_0xe3ca('0x21')]();};}function saveUpdates(_0x457394,_0x2be1cb){return function(_0x80efc6){if(_0x80efc6){return _0x80efc6['update'](_0x457394)[_0xe3ca('0x22')](function(_0x3f86ad){return _0x3f86ad;});}return null;};}function removeEntity(_0x4558c3,_0x124f8d){return function(_0x8fa26b){if(_0x8fa26b){return _0x8fa26b[_0xe3ca('0x23')]()[_0xe3ca('0x22')](function(){_0x4558c3[_0xe3ca('0x18')](0xcc)[_0xe3ca('0x17')]();});}};}function handleEntityNotFound(_0x4de3df,_0x25d61e){return function(_0x48f270){if(!_0x48f270){_0x4de3df[_0xe3ca('0x16')](0x194);}return _0x48f270;};}function handleError(_0x43bba1,_0x2d80ff){_0x2d80ff=_0x2d80ff||0x1f4;return function(_0x4d08ad){logger[_0xe3ca('0x24')](_0x4d08ad[_0xe3ca('0x25')]);if(_0x4d08ad['name']){delete _0x4d08ad[_0xe3ca('0x26')];}_0x43bba1['status'](_0x2d80ff)[_0xe3ca('0x27')](_0x4d08ad);};}exports[_0xe3ca('0x28')]=function(_0x5f40a2,_0x24d7fc){var _0x504ac4={'raw':![],'where':{'id':_0x5f40a2['params']['id']}},_0x5bfc85={};_0x5bfc85[_0xe3ca('0x29')]=_[_0xe3ca('0x2a')](db[_0xe3ca('0x2b')][_0xe3ca('0x2c')]);_0x5bfc85[_0xe3ca('0x2d')]=_[_0xe3ca('0x2a')](_0x5f40a2[_0xe3ca('0x2d')]);_0x5bfc85['filters']=_[_0xe3ca('0x2e')](_0x5bfc85[_0xe3ca('0x29')],_0x5bfc85[_0xe3ca('0x2d')]);_0x504ac4[_0xe3ca('0x2f')]=_[_0xe3ca('0x2e')](_0x5bfc85[_0xe3ca('0x29')],qs['fields'](_0x5f40a2['query'][_0xe3ca('0x30')]));_0x504ac4[_0xe3ca('0x2f')]=_0x504ac4[_0xe3ca('0x2f')][_0xe3ca('0x31')]?_0x504ac4['attributes']:_0x5bfc85[_0xe3ca('0x29')];if(_0x5f40a2[_0xe3ca('0x2d')][_0xe3ca('0x32')]){_0x504ac4[_0xe3ca('0x33')]=[{'all':!![]}];}_0x504ac4=_[_0xe3ca('0x34')]({},_0x504ac4,_0x5f40a2[_0xe3ca('0x35')]);return db['DashboardItem'][_0xe3ca('0x36')](_0x504ac4)['then'](handleEntityNotFound(_0x24d7fc,null))[_0xe3ca('0x22')](respondWithResult(_0x24d7fc,null))['catch'](handleError(_0x24d7fc,null));};exports[_0xe3ca('0x23')]=function(_0x5d2055,_0x2329bc){return db[_0xe3ca('0x2b')][_0xe3ca('0x36')]({'where':{'id':_0x5d2055[_0xe3ca('0x37')]['id']}})['then'](handleEntityNotFound(_0x2329bc,null))[_0xe3ca('0x22')](removeEntity(_0x2329bc,null))[_0xe3ca('0x38')](handleError(_0x2329bc,null));};function widgetAttributes(_0x2bac27){try{switch(_0x2bac27[_0xe3ca('0x39')]){case _0xe3ca('0x3a'):return[{'name':_0xe3ca('0x3b'),'value':_0x2bac27[_0xe3ca('0x3b')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27[_0xe3ca('0x3c')][0x0]?_0x2bac27[_0xe3ca('0x3c')][0x0][_0xe3ca('0x3d')]:undefined)||_0xe3ca('0x3e')}];case _0xe3ca('0x3f'):return[{'name':_0xe3ca('0x40'),'value':_0x2bac27[_0xe3ca('0x40')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27['attrs'][0x0]?_0x2bac27[_0xe3ca('0x3c')][0x0][_0xe3ca('0x3d')]:undefined)||''}];case _0xe3ca('0x41'):return[{'name':_0xe3ca('0x42'),'value':_0x2bac27[_0xe3ca('0x42')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27[_0xe3ca('0x3c')][0x0]?_0x2bac27[_0xe3ca('0x3c')][0x0][_0xe3ca('0x3d')]:undefined)||_0xe3ca('0x43')},{'name':_0xe3ca('0x44'),'value':_0x2bac27[_0xe3ca('0x44')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27[_0xe3ca('0x3c')][0x1]?_0x2bac27['attrs'][0x1][_0xe3ca('0x3d')]:undefined)||_0xe3ca('0x45')},{'name':_0xe3ca('0x46'),'value':_0x2bac27[_0xe3ca('0x46')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27[_0xe3ca('0x3c')][0x2]?_0x2bac27[_0xe3ca('0x3c')][0x2][_0xe3ca('0x3d')]:undefined)||0xc}];case _0xe3ca('0x47'):return[{'name':'attrMetric','value':_0x2bac27[_0xe3ca('0x48')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27['attrs'][0x0]?_0x2bac27['attrs'][0x0][_0xe3ca('0x3d')]:undefined)||'total'},{'name':_0xe3ca('0x49'),'value':_0x2bac27[_0xe3ca('0x49')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27[_0xe3ca('0x3c')][0x1]?_0x2bac27[_0xe3ca('0x3c')][0x1][_0xe3ca('0x3d')]:undefined)||[]},{'name':'attrFontSize','value':_0x2bac27[_0xe3ca('0x46')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27[_0xe3ca('0x3c')][0x2]?_0x2bac27['attrs'][0x2][_0xe3ca('0x3d')]:undefined)||0x14}];case'multibar-chart':case _0xe3ca('0x4a'):return[{'name':_0xe3ca('0x4b'),'value':_0x2bac27[_0xe3ca('0x4b')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27['attrs'][0x0]?_0x2bac27['attrs'][0x0][_0xe3ca('0x3d')]:undefined)||_0xe3ca('0x4c')},{'name':'attrSerie2','value':_0x2bac27[_0xe3ca('0x4d')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27['attrs'][0x1]?_0x2bac27[_0xe3ca('0x3c')][0x1][_0xe3ca('0x3d')]:undefined)||null},{'name':'attrSerie3','value':_0x2bac27[_0xe3ca('0x4e')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27[_0xe3ca('0x3c')][0x2]?_0x2bac27[_0xe3ca('0x3c')][0x2][_0xe3ca('0x3d')]:undefined)||null},{'name':_0xe3ca('0x49'),'value':_0x2bac27[_0xe3ca('0x49')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27['attrs'][0x3]?_0x2bac27[_0xe3ca('0x3c')][0x3]['value']:undefined)||[]}];case'web-report':return[{'name':_0xe3ca('0x4f'),'value':_0x2bac27[_0xe3ca('0x4f')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27[_0xe3ca('0x3c')][0x0]?_0x2bac27[_0xe3ca('0x3c')][0x0][_0xe3ca('0x3d')]:undefined)||null},{'name':_0xe3ca('0x50'),'value':_0x2bac27[_0xe3ca('0x50')]||(_0x2bac27[_0xe3ca('0x3c')]&&_0x2bac27[_0xe3ca('0x3c')][0x1]?_0x2bac27[_0xe3ca('0x3c')][0x1][_0xe3ca('0x3d')]:undefined)||0x0}];default:return[];}}catch(_0x43ebdd){logger[_0xe3ca('0x24')](_0xe3ca('0x51'),JSON[_0xe3ca('0x52')](_0x43ebdd));return[];}}exports[_0xe3ca('0x53')]=function(_0x7f773c,_0x2a9d0f){if(_0x7f773c[_0xe3ca('0x54')]){_0x7f773c[_0xe3ca('0x54')]['attrs']=widgetAttributes(_0x7f773c[_0xe3ca('0x54')]);}return db[_0xe3ca('0x2b')][_0xe3ca('0x53')](_0x7f773c['body'],{})['then'](respondWithResult(_0x2a9d0f,0xc9))[_0xe3ca('0x38')](handleError(_0x2a9d0f,null));};exports[_0xe3ca('0x55')]=function(_0x1aeb18,_0x52055d){if(_0x1aeb18[_0xe3ca('0x54')]['id']){delete _0x1aeb18[_0xe3ca('0x54')]['id'];}_0x1aeb18[_0xe3ca('0x54')][_0xe3ca('0x3c')]=widgetAttributes(_0x1aeb18['body']);return db['DashboardItem'][_0xe3ca('0x36')]({'where':{'id':_0x1aeb18[_0xe3ca('0x37')]['id']}})['then'](handleEntityNotFound(_0x52055d,null))[_0xe3ca('0x22')](saveUpdates(_0x1aeb18[_0xe3ca('0x54')],null))[_0xe3ca('0x22')](respondWithResult(_0x52055d,null))[_0xe3ca('0x38')](handleError(_0x52055d,null));};