Built motion from commit (unavailable).|2.2.0
[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 _0xa9e0=['intersection','fields','length','includeAll','include','merge','find','catch','iframe','attrUrl','attrs','value','custom','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','attrFontSize','counter','attrMetric','total','attrVoiceQueues','multibar-chart','pie-chart','attrSerie1','attrSerie2','attrSerie3','web-report','attrReport','reportType','attrRefresh','widgetAttributes:\x20%s','create','body','update','html-pdf','eml-format','rimraf','request-promise','bluebird','mustache','util','path','sox','ejs','lodash','squel','desk.js','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','redis','localhost','socket.io-emitter','./dashboardItem.socket','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','params','model','keys','DashboardItem','query','filters','attributes'];(function(_0x5bbb61,_0x830b82){var _0x3e4390=function(_0x4d4b01){while(--_0x4d4b01){_0x5bbb61['push'](_0x5bbb61['shift']());}};_0x3e4390(++_0x830b82);}(_0xa9e0,0x123));var _0x0a9e=function(_0x2160a9,_0x3cbd9e){_0x2160a9=_0x2160a9-0x0;var _0xa88cf7=_0xa9e0[_0x2160a9];return _0xa88cf7;};'use strict';var pdf=require(_0x0a9e('0x0'));var emlformat=require(_0x0a9e('0x1'));var rimraf=require(_0x0a9e('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x0a9e('0x3'));var moment=require('moment');var BPromise=require(_0x0a9e('0x4'));var Mustache=require(_0x0a9e('0x5'));var util=require(_0x0a9e('0x6'));var path=require(_0x0a9e('0x7'));var sox=require(_0x0a9e('0x8'));var csv=require('to-csv');var ejs=require(_0x0a9e('0x9'));var fs=require('fs');var _=require(_0x0a9e('0xa'));var squel=require(_0x0a9e('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0a9e('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x0a9e('0xd'));var Redis=require(_0x0a9e('0xe'));var qs=require(_0x0a9e('0xf'));var logger=require(_0x0a9e('0x10'))(_0x0a9e('0x11'));var utils=require(_0x0a9e('0x12'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];config['redis']=_['defaults'](config[_0x0a9e('0x13')],{'host':_0x0a9e('0x14'),'port':0x18eb});var socket=require(_0x0a9e('0x15'))(new Redis(config[_0x0a9e('0x13')]));require(_0x0a9e('0x16'))[_0x0a9e('0x17')](socket);function respondWithStatusCode(_0x5db4b0,_0x4283ce){_0x4283ce=_0x4283ce||0xcc;return function(_0x239b12){if(_0x239b12){return _0x5db4b0[_0x0a9e('0x18')](_0x4283ce);}return _0x5db4b0[_0x0a9e('0x19')](_0x4283ce)[_0x0a9e('0x1a')]();};}function respondWithResult(_0x4d5611,_0x52a03d){_0x52a03d=_0x52a03d||0xc8;return function(_0x22dccb){if(_0x22dccb){return _0x4d5611['status'](_0x52a03d)[_0x0a9e('0x1b')](_0x22dccb);}};}function respondWithFilteredResult(_0x519dfd,_0x16033c){return function(_0x12066b){if(_0x12066b){var _0x48f32d=_0x12066b[_0x0a9e('0x1c')],_0x225616=_0x16033c[_0x0a9e('0x1d')],_0x5a0a06=_0x16033c[_0x0a9e('0x1d')]+_0x16033c[_0x0a9e('0x1e')],_0x459eb1;if(_0x5a0a06>=_0x48f32d){_0x5a0a06=_0x48f32d;_0x459eb1=0xc8;}else{_0x459eb1=0xce;}_0x519dfd[_0x0a9e('0x19')](_0x459eb1);return _0x519dfd[_0x0a9e('0x1f')](_0x0a9e('0x20'),_0x225616+'-'+_0x5a0a06+'/'+_0x48f32d)[_0x0a9e('0x1b')](_0x12066b);}return null;};}function patchUpdates(_0x112016){return function(_0x1c696a){try{jsonpatch[_0x0a9e('0x21')](_0x1c696a,_0x112016,!![]);}catch(_0x4bb1e3){return BPromise[_0x0a9e('0x22')](_0x4bb1e3);}return _0x1c696a[_0x0a9e('0x23')]();};}function saveUpdates(_0x53682f,_0x20f109){return function(_0x5a09ef){if(_0x5a09ef){return _0x5a09ef['update'](_0x53682f)[_0x0a9e('0x24')](function(_0x432e56){return _0x432e56;});}return null;};}function removeEntity(_0x38e7c4,_0x30bae6){return function(_0x4abc77){if(_0x4abc77){return _0x4abc77[_0x0a9e('0x25')]()[_0x0a9e('0x24')](function(){_0x38e7c4[_0x0a9e('0x19')](0xcc)[_0x0a9e('0x1a')]();});}};}function handleEntityNotFound(_0x370d86,_0x42ac8f){return function(_0x16b1ca){if(!_0x16b1ca){_0x370d86['sendStatus'](0x194);}return _0x16b1ca;};}function handleError(_0x59181e,_0x197ec0){_0x197ec0=_0x197ec0||0x1f4;return function(_0x3a8e58){logger[_0x0a9e('0x26')](_0x3a8e58[_0x0a9e('0x27')]);if(_0x3a8e58['name']){delete _0x3a8e58[_0x0a9e('0x28')];}_0x59181e['status'](_0x197ec0)[_0x0a9e('0x29')](_0x3a8e58);};}exports['show']=function(_0x1dc186,_0x34dc65){var _0x25fba9={'raw':![],'where':{'id':_0x1dc186[_0x0a9e('0x2a')]['id']}},_0x14433c={};_0x14433c[_0x0a9e('0x2b')]=_[_0x0a9e('0x2c')](db[_0x0a9e('0x2d')]['rawAttributes']);_0x14433c[_0x0a9e('0x2e')]=_[_0x0a9e('0x2c')](_0x1dc186[_0x0a9e('0x2e')]);_0x14433c[_0x0a9e('0x2f')]=_['intersection'](_0x14433c[_0x0a9e('0x2b')],_0x14433c[_0x0a9e('0x2e')]);_0x25fba9[_0x0a9e('0x30')]=_[_0x0a9e('0x31')](_0x14433c[_0x0a9e('0x2b')],qs[_0x0a9e('0x32')](_0x1dc186[_0x0a9e('0x2e')][_0x0a9e('0x32')]));_0x25fba9[_0x0a9e('0x30')]=_0x25fba9['attributes'][_0x0a9e('0x33')]?_0x25fba9['attributes']:_0x14433c[_0x0a9e('0x2b')];if(_0x1dc186[_0x0a9e('0x2e')][_0x0a9e('0x34')]){_0x25fba9[_0x0a9e('0x35')]=[{'all':!![]}];}_0x25fba9=_[_0x0a9e('0x36')]({},_0x25fba9,_0x1dc186['options']);return db[_0x0a9e('0x2d')][_0x0a9e('0x37')](_0x25fba9)[_0x0a9e('0x24')](handleEntityNotFound(_0x34dc65,null))[_0x0a9e('0x24')](respondWithResult(_0x34dc65,null))[_0x0a9e('0x38')](handleError(_0x34dc65,null));};exports[_0x0a9e('0x25')]=function(_0x332d35,_0x39e565){return db['DashboardItem'][_0x0a9e('0x37')]({'where':{'id':_0x332d35['params']['id']}})[_0x0a9e('0x24')](handleEntityNotFound(_0x39e565,null))[_0x0a9e('0x24')](removeEntity(_0x39e565,null))[_0x0a9e('0x38')](handleError(_0x39e565,null));};function widgetAttributes(_0x3f3d41){try{switch(_0x3f3d41['type']){case _0x0a9e('0x39'):return[{'name':_0x0a9e('0x3a'),'value':_0x3f3d41[_0x0a9e('0x3a')]||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41['attrs'][0x0]?_0x3f3d41['attrs'][0x0][_0x0a9e('0x3c')]:undefined)||'https://'}];case _0x0a9e('0x3d'):return[{'name':_0x0a9e('0x3e'),'value':_0x3f3d41[_0x0a9e('0x3e')]||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41['attrs'][0x0]?_0x3f3d41[_0x0a9e('0x3b')][0x0][_0x0a9e('0x3c')]:undefined)||''}];case _0x0a9e('0x3f'):return[{'name':'attrHourFormat','value':_0x3f3d41[_0x0a9e('0x40')]||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41[_0x0a9e('0x3b')][0x0]?_0x3f3d41['attrs'][0x0]['value']:undefined)||_0x0a9e('0x41')},{'name':_0x0a9e('0x42'),'value':_0x3f3d41['attrTimezone']||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41[_0x0a9e('0x3b')][0x1]?_0x3f3d41[_0x0a9e('0x3b')][0x1][_0x0a9e('0x3c')]:undefined)||'0.00'},{'name':'attrFontSize','value':_0x3f3d41[_0x0a9e('0x43')]||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41['attrs'][0x2]?_0x3f3d41[_0x0a9e('0x3b')][0x2][_0x0a9e('0x3c')]:undefined)||0xc}];case _0x0a9e('0x44'):return[{'name':'attrMetric','value':_0x3f3d41[_0x0a9e('0x45')]||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41[_0x0a9e('0x3b')][0x0]?_0x3f3d41[_0x0a9e('0x3b')][0x0][_0x0a9e('0x3c')]:undefined)||_0x0a9e('0x46')},{'name':_0x0a9e('0x47'),'value':_0x3f3d41[_0x0a9e('0x47')]||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41[_0x0a9e('0x3b')][0x1]?_0x3f3d41[_0x0a9e('0x3b')][0x1][_0x0a9e('0x3c')]:undefined)||[]},{'name':_0x0a9e('0x43'),'value':_0x3f3d41[_0x0a9e('0x43')]||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41['attrs'][0x2]?_0x3f3d41['attrs'][0x2][_0x0a9e('0x3c')]:undefined)||0x14}];case _0x0a9e('0x48'):case _0x0a9e('0x49'):return[{'name':_0x0a9e('0x4a'),'value':_0x3f3d41[_0x0a9e('0x4a')]||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41[_0x0a9e('0x3b')][0x0]?_0x3f3d41[_0x0a9e('0x3b')][0x0][_0x0a9e('0x3c')]:undefined)||_0x0a9e('0x46')},{'name':_0x0a9e('0x4b'),'value':_0x3f3d41[_0x0a9e('0x4b')]||(_0x3f3d41['attrs']&&_0x3f3d41[_0x0a9e('0x3b')][0x1]?_0x3f3d41[_0x0a9e('0x3b')][0x1][_0x0a9e('0x3c')]:undefined)||null},{'name':_0x0a9e('0x4c'),'value':_0x3f3d41[_0x0a9e('0x4c')]||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41[_0x0a9e('0x3b')][0x2]?_0x3f3d41[_0x0a9e('0x3b')][0x2]['value']:undefined)||null},{'name':_0x0a9e('0x47'),'value':_0x3f3d41['attrVoiceQueues']||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41[_0x0a9e('0x3b')][0x3]?_0x3f3d41[_0x0a9e('0x3b')][0x3]['value']:undefined)||[]}];case _0x0a9e('0x4d'):return[{'name':_0x0a9e('0x4e'),'type':_0x3f3d41[_0x0a9e('0x4f')]||null,'value':_0x3f3d41[_0x0a9e('0x4e')]||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41[_0x0a9e('0x3b')][0x0]?_0x3f3d41[_0x0a9e('0x3b')][0x0]['value']:undefined)||null},{'name':_0x0a9e('0x50'),'value':_0x3f3d41[_0x0a9e('0x50')]||(_0x3f3d41[_0x0a9e('0x3b')]&&_0x3f3d41[_0x0a9e('0x3b')][0x1]?_0x3f3d41[_0x0a9e('0x3b')][0x1][_0x0a9e('0x3c')]:undefined)||0x0}];default:return[];}}catch(_0x6054ee){logger[_0x0a9e('0x26')](_0x0a9e('0x51'),JSON['stringify'](_0x6054ee));return[];}}exports[_0x0a9e('0x52')]=function(_0x3fe430,_0x4f7240){if(_0x3fe430['body']){_0x3fe430['body'][_0x0a9e('0x3b')]=widgetAttributes(_0x3fe430[_0x0a9e('0x53')]);}return db[_0x0a9e('0x2d')][_0x0a9e('0x52')](_0x3fe430[_0x0a9e('0x53')],{})[_0x0a9e('0x24')](respondWithResult(_0x4f7240,0xc9))[_0x0a9e('0x38')](handleError(_0x4f7240,null));};exports[_0x0a9e('0x54')]=function(_0x5d38ae,_0x4b1b9f){if(_0x5d38ae['body']['id']){delete _0x5d38ae[_0x0a9e('0x53')]['id'];}_0x5d38ae[_0x0a9e('0x53')][_0x0a9e('0x3b')]=widgetAttributes(_0x5d38ae['body']);return db[_0x0a9e('0x2d')][_0x0a9e('0x37')]({'where':{'id':_0x5d38ae['params']['id']}})['then'](handleEntityNotFound(_0x4b1b9f,null))[_0x0a9e('0x24')](saveUpdates(_0x5d38ae['body'],null))[_0x0a9e('0x24')](respondWithResult(_0x4b1b9f,null))['catch'](handleError(_0x4b1b9f,null));};