Built motion from commit (unavailable).|2.5.6
[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 _0x7ca7=['reject','update','then','destroy','error','stack','name','send','show','params','model','keys','query','filtears','attributes','fields','length','includeAll','include','merge','options','DashboardItem','find','catch','type','iframe','attrUrl','attrs','value','custom','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','multibar-chart','pie-chart','attrSerie1','attrSerie2','attrSerie3','attrReport','reportType','attrRefresh','stringify','create','body','html-pdf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','defaults','localhost','socket.io-emitter','redis','register','sendStatus','status','end','json','count','offset','apply'];(function(_0x35e811,_0x13a612){var _0x368861=function(_0x3bb39c){while(--_0x3bb39c){_0x35e811['push'](_0x35e811['shift']());}};_0x368861(++_0x13a612);}(_0x7ca7,0x1dd));var _0x77ca=function(_0x33032e,_0x31411a){_0x33032e=_0x33032e-0x0;var _0x13316b=_0x7ca7[_0x33032e];return _0x13316b;};'use strict';var pdf=require(_0x77ca('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x77ca('0x1'));var jsonpatch=require(_0x77ca('0x2'));var rp=require(_0x77ca('0x3'));var moment=require(_0x77ca('0x4'));var BPromise=require(_0x77ca('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x77ca('0x6'));var sox=require(_0x77ca('0x7'));var csv=require('to-csv');var ejs=require(_0x77ca('0x8'));var fs=require('fs');var _=require(_0x77ca('0x9'));var squel=require(_0x77ca('0xa'));var crypto=require('crypto');var jsforce=require(_0x77ca('0xb'));var deskjs=require(_0x77ca('0xc'));var toCsv=require(_0x77ca('0xd'));var querystring=require(_0x77ca('0xe'));var Papa=require(_0x77ca('0xf'));var Redis=require(_0x77ca('0x10'));var authService=require(_0x77ca('0x11'));var qs=require(_0x77ca('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x77ca('0x13'))(_0x77ca('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config['redis']=_[_0x77ca('0x15')](config['redis'],{'host':_0x77ca('0x16'),'port':0x18eb});var socket=require(_0x77ca('0x17'))(new Redis(config[_0x77ca('0x18')]));require('./dashboardItem.socket')[_0x77ca('0x19')](socket);function respondWithStatusCode(_0x352a51,_0x578d27){_0x578d27=_0x578d27||0xcc;return function(_0x2cc9fe){if(_0x2cc9fe){return _0x352a51[_0x77ca('0x1a')](_0x578d27);}return _0x352a51[_0x77ca('0x1b')](_0x578d27)[_0x77ca('0x1c')]();};}function respondWithResult(_0x267d06,_0x2b5d31){_0x2b5d31=_0x2b5d31||0xc8;return function(_0x200072){if(_0x200072){return _0x267d06[_0x77ca('0x1b')](_0x2b5d31)[_0x77ca('0x1d')](_0x200072);}};}function respondWithFilteredResult(_0x39816f,_0x5be089){return function(_0x3cdf09){if(_0x3cdf09){var _0x4003fc=_0x3cdf09[_0x77ca('0x1e')],_0x362a42=_0x5be089['offset'],_0x3c6a74=_0x5be089[_0x77ca('0x1f')]+_0x5be089['limit'],_0x179b6f;if(_0x3c6a74>=_0x4003fc){_0x3c6a74=_0x4003fc;_0x179b6f=0xc8;}else{_0x179b6f=0xce;}_0x39816f[_0x77ca('0x1b')](_0x179b6f);return _0x39816f['set']('Content-Range',_0x362a42+'-'+_0x3c6a74+'/'+_0x4003fc)['json'](_0x3cdf09);}return null;};}function patchUpdates(_0x398683){return function(_0x1bb04a){try{jsonpatch[_0x77ca('0x20')](_0x1bb04a,_0x398683,!![]);}catch(_0x486213){return BPromise[_0x77ca('0x21')](_0x486213);}return _0x1bb04a['save']();};}function saveUpdates(_0x2d7498,_0x33497f){return function(_0x192cba){if(_0x192cba){return _0x192cba[_0x77ca('0x22')](_0x2d7498)[_0x77ca('0x23')](function(_0xb222ca){return _0xb222ca;});}return null;};}function removeEntity(_0x119f19,_0x18a883){return function(_0x4bf05a){if(_0x4bf05a){return _0x4bf05a[_0x77ca('0x24')]()[_0x77ca('0x23')](function(){_0x119f19[_0x77ca('0x1b')](0xcc)[_0x77ca('0x1c')]();});}};}function handleEntityNotFound(_0x1653bf,_0x52a7a5){return function(_0x3575ed){if(!_0x3575ed){_0x1653bf['sendStatus'](0x194);}return _0x3575ed;};}function handleError(_0x125878,_0x46caed){_0x46caed=_0x46caed||0x1f4;return function(_0x49d7e5){logger[_0x77ca('0x25')](_0x49d7e5[_0x77ca('0x26')]);if(_0x49d7e5['name']){delete _0x49d7e5[_0x77ca('0x27')];}_0x125878[_0x77ca('0x1b')](_0x46caed)[_0x77ca('0x28')](_0x49d7e5);};}exports[_0x77ca('0x29')]=function(_0x24e224,_0x370793){var _0x27de72={'raw':![],'where':{'id':_0x24e224[_0x77ca('0x2a')]['id']}},_0x37b185={};_0x37b185[_0x77ca('0x2b')]=_[_0x77ca('0x2c')](db['DashboardItem']['rawAttributes']);_0x37b185[_0x77ca('0x2d')]=_[_0x77ca('0x2c')](_0x24e224[_0x77ca('0x2d')]);_0x37b185[_0x77ca('0x2e')]=_['intersection'](_0x37b185[_0x77ca('0x2b')],_0x37b185[_0x77ca('0x2d')]);_0x27de72[_0x77ca('0x2f')]=_['intersection'](_0x37b185[_0x77ca('0x2b')],qs[_0x77ca('0x30')](_0x24e224[_0x77ca('0x2d')]['fields']));_0x27de72[_0x77ca('0x2f')]=_0x27de72['attributes'][_0x77ca('0x31')]?_0x27de72[_0x77ca('0x2f')]:_0x37b185[_0x77ca('0x2b')];if(_0x24e224[_0x77ca('0x2d')][_0x77ca('0x32')]){_0x27de72[_0x77ca('0x33')]=[{'all':!![]}];}_0x27de72=_[_0x77ca('0x34')]({},_0x27de72,_0x24e224[_0x77ca('0x35')]);return db[_0x77ca('0x36')][_0x77ca('0x37')](_0x27de72)[_0x77ca('0x23')](handleEntityNotFound(_0x370793,null))[_0x77ca('0x23')](respondWithResult(_0x370793,null))[_0x77ca('0x38')](handleError(_0x370793,null));};exports[_0x77ca('0x24')]=function(_0x3f5c1d,_0x36235b){return db[_0x77ca('0x36')]['find']({'where':{'id':_0x3f5c1d['params']['id']}})[_0x77ca('0x23')](handleEntityNotFound(_0x36235b,null))[_0x77ca('0x23')](removeEntity(_0x36235b,null))[_0x77ca('0x38')](handleError(_0x36235b,null));};function widgetAttributes(_0x443d88){try{switch(_0x443d88[_0x77ca('0x39')]){case _0x77ca('0x3a'):return[{'name':_0x77ca('0x3b'),'value':_0x443d88['attrUrl']||(_0x443d88[_0x77ca('0x3c')]&&_0x443d88[_0x77ca('0x3c')][0x0]?_0x443d88[_0x77ca('0x3c')][0x0][_0x77ca('0x3d')]:undefined)||'https://'}];case _0x77ca('0x3e'):return[{'name':_0x77ca('0x3f'),'value':_0x443d88[_0x77ca('0x3f')]||(_0x443d88[_0x77ca('0x3c')]&&_0x443d88[_0x77ca('0x3c')][0x0]?_0x443d88['attrs'][0x0][_0x77ca('0x3d')]:undefined)||''}];case _0x77ca('0x40'):return[{'name':_0x77ca('0x41'),'value':_0x443d88[_0x77ca('0x41')]||(_0x443d88[_0x77ca('0x3c')]&&_0x443d88[_0x77ca('0x3c')][0x0]?_0x443d88['attrs'][0x0][_0x77ca('0x3d')]:undefined)||_0x77ca('0x42')},{'name':_0x77ca('0x43'),'value':_0x443d88['attrTimezone']||(_0x443d88[_0x77ca('0x3c')]&&_0x443d88[_0x77ca('0x3c')][0x1]?_0x443d88[_0x77ca('0x3c')][0x1][_0x77ca('0x3d')]:undefined)||_0x77ca('0x44')},{'name':_0x77ca('0x45'),'value':_0x443d88[_0x77ca('0x45')]||(_0x443d88[_0x77ca('0x3c')]&&_0x443d88['attrs'][0x2]?_0x443d88[_0x77ca('0x3c')][0x2]['value']:undefined)||0xc}];case _0x77ca('0x46'):return[{'name':_0x77ca('0x47'),'value':_0x443d88['attrMetric']||(_0x443d88['attrs']&&_0x443d88['attrs'][0x0]?_0x443d88['attrs'][0x0]['value']:undefined)||_0x77ca('0x48')},{'name':_0x77ca('0x49'),'value':_0x443d88[_0x77ca('0x49')]||(_0x443d88[_0x77ca('0x3c')]&&_0x443d88[_0x77ca('0x3c')][0x1]?_0x443d88[_0x77ca('0x3c')][0x1][_0x77ca('0x3d')]:undefined)||[]},{'name':'attrFontSize','value':_0x443d88[_0x77ca('0x45')]||(_0x443d88['attrs']&&_0x443d88[_0x77ca('0x3c')][0x2]?_0x443d88[_0x77ca('0x3c')][0x2]['value']:undefined)||0x14}];case _0x77ca('0x4a'):case _0x77ca('0x4b'):return[{'name':_0x77ca('0x4c'),'value':_0x443d88[_0x77ca('0x4c')]||(_0x443d88[_0x77ca('0x3c')]&&_0x443d88[_0x77ca('0x3c')][0x0]?_0x443d88['attrs'][0x0]['value']:undefined)||_0x77ca('0x48')},{'name':_0x77ca('0x4d'),'value':_0x443d88[_0x77ca('0x4d')]||(_0x443d88['attrs']&&_0x443d88['attrs'][0x1]?_0x443d88[_0x77ca('0x3c')][0x1]['value']:undefined)||null},{'name':_0x77ca('0x4e'),'value':_0x443d88[_0x77ca('0x4e')]||(_0x443d88[_0x77ca('0x3c')]&&_0x443d88[_0x77ca('0x3c')][0x2]?_0x443d88[_0x77ca('0x3c')][0x2][_0x77ca('0x3d')]:undefined)||null},{'name':_0x77ca('0x49'),'value':_0x443d88[_0x77ca('0x49')]||(_0x443d88['attrs']&&_0x443d88[_0x77ca('0x3c')][0x3]?_0x443d88[_0x77ca('0x3c')][0x3][_0x77ca('0x3d')]:undefined)||[]}];case'web-report':return[{'name':_0x77ca('0x4f'),'type':_0x443d88[_0x77ca('0x50')]||(_0x443d88[_0x77ca('0x3c')]&&_0x443d88[_0x77ca('0x3c')][0x0]?_0x443d88[_0x77ca('0x3c')][0x0][_0x77ca('0x39')]:undefined)||null,'value':_0x443d88[_0x77ca('0x4f')]||(_0x443d88[_0x77ca('0x3c')]&&_0x443d88[_0x77ca('0x3c')][0x0]?_0x443d88['attrs'][0x0][_0x77ca('0x3d')]:undefined)||null},{'name':_0x77ca('0x51'),'value':_0x443d88[_0x77ca('0x51')]||(_0x443d88[_0x77ca('0x3c')]&&_0x443d88['attrs'][0x1]?_0x443d88[_0x77ca('0x3c')][0x1]['value']:undefined)||0x0}];default:return[];}}catch(_0x284940){logger[_0x77ca('0x25')]('widgetAttributes:\x20%s',JSON[_0x77ca('0x52')](_0x284940));return[];}}exports[_0x77ca('0x53')]=function(_0x4df108,_0x1fb2f5){if(_0x4df108[_0x77ca('0x54')]){_0x4df108[_0x77ca('0x54')][_0x77ca('0x3c')]=widgetAttributes(_0x4df108[_0x77ca('0x54')]);}return db['DashboardItem'][_0x77ca('0x53')](_0x4df108[_0x77ca('0x54')],{})['then'](respondWithResult(_0x1fb2f5,0xc9))[_0x77ca('0x38')](handleError(_0x1fb2f5,null));};exports[_0x77ca('0x22')]=function(_0x2a3cc,_0x4cc624){if(_0x2a3cc[_0x77ca('0x54')]['id']){delete _0x2a3cc[_0x77ca('0x54')]['id'];}_0x2a3cc['body']['attrs']=widgetAttributes(_0x2a3cc[_0x77ca('0x54')]);return db[_0x77ca('0x36')]['find']({'where':{'id':_0x2a3cc[_0x77ca('0x2a')]['id']}})[_0x77ca('0x23')](handleEntityNotFound(_0x4cc624,null))['then'](saveUpdates(_0x2a3cc['body'],null))[_0x77ca('0x23')](respondWithResult(_0x4cc624,null))[_0x77ca('0x38')](handleError(_0x4cc624,null));};