Built motion from commit (unavailable).|2.5.4
[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 _0xafbc=['attrRefresh','widgetAttributes:\x20%s','stringify','body','create','rimraf','fast-json-patch','request-promise','util','path','sox','to-csv','squel','crypto','jsforce','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../mysqldb','redis','defaults','localhost','socket.io-emitter','sendStatus','status','end','count','offset','limit','set','Content-Range','json','reject','save','update','then','error','name','params','model','keys','DashboardItem','rawAttributes','query','filters','intersection','attributes','fields','length','includeAll','options','find','catch','destroy','type','iframe','attrUrl','attrs','https://','attrPath','value','clock','attrHourFormat','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','multibar-chart','pie-chart','attrSerie1','attrSerie2','attrSerie3','attrReport','reportType'];(function(_0x400e56,_0x1f79b8){var _0x59b3b8=function(_0x501f20){while(--_0x501f20){_0x400e56['push'](_0x400e56['shift']());}};_0x59b3b8(++_0x1f79b8);}(_0xafbc,0x1e5));var _0xcafb=function(_0x1a46a8,_0x4a2246){_0x1a46a8=_0x1a46a8-0x0;var _0x57b57c=_0xafbc[_0x1a46a8];return _0x57b57c;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xcafb('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xcafb('0x1'));var rp=require(_0xcafb('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xcafb('0x3'));var path=require(_0xcafb('0x4'));var sox=require(_0xcafb('0x5'));var csv=require(_0xcafb('0x6'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xcafb('0x7'));var crypto=require(_0xcafb('0x8'));var jsforce=require(_0xcafb('0x9'));var deskjs=require('desk.js');var toCsv=require(_0xcafb('0x6'));var querystring=require(_0xcafb('0xa'));var Papa=require('papaparse');var Redis=require(_0xcafb('0xb'));var authService=require('../../components/auth/service');var qs=require(_0xcafb('0xc'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcafb('0xd'));var logger=require('../../config/logger')(_0xcafb('0xe'));var utils=require(_0xcafb('0xf'));var config=require('../../config/environment');var db=require(_0xcafb('0x10'))['db'];config[_0xcafb('0x11')]=_[_0xcafb('0x12')](config[_0xcafb('0x11')],{'host':_0xcafb('0x13'),'port':0x18eb});var socket=require(_0xcafb('0x14'))(new Redis(config[_0xcafb('0x11')]));require('./dashboardItem.socket')['register'](socket);function respondWithStatusCode(_0xd1dfe8,_0x26ac54){_0x26ac54=_0x26ac54||0xcc;return function(_0x49f548){if(_0x49f548){return _0xd1dfe8[_0xcafb('0x15')](_0x26ac54);}return _0xd1dfe8[_0xcafb('0x16')](_0x26ac54)[_0xcafb('0x17')]();};}function respondWithResult(_0xe5e865,_0x4e47ee){_0x4e47ee=_0x4e47ee||0xc8;return function(_0x4c3cf6){if(_0x4c3cf6){return _0xe5e865[_0xcafb('0x16')](_0x4e47ee)['json'](_0x4c3cf6);}};}function respondWithFilteredResult(_0x2feab2,_0x3c97db){return function(_0xfd996d){if(_0xfd996d){var _0x225765=_0xfd996d[_0xcafb('0x18')],_0x20d2d7=_0x3c97db[_0xcafb('0x19')],_0x495e48=_0x3c97db['offset']+_0x3c97db[_0xcafb('0x1a')],_0x3202f1;if(_0x495e48>=_0x225765){_0x495e48=_0x225765;_0x3202f1=0xc8;}else{_0x3202f1=0xce;}_0x2feab2['status'](_0x3202f1);return _0x2feab2[_0xcafb('0x1b')](_0xcafb('0x1c'),_0x20d2d7+'-'+_0x495e48+'/'+_0x225765)[_0xcafb('0x1d')](_0xfd996d);}return null;};}function patchUpdates(_0x53c491){return function(_0x1fa0b9){try{jsonpatch['apply'](_0x1fa0b9,_0x53c491,!![]);}catch(_0x13d664){return BPromise[_0xcafb('0x1e')](_0x13d664);}return _0x1fa0b9[_0xcafb('0x1f')]();};}function saveUpdates(_0x1cb171,_0x3cb435){return function(_0x28550d){if(_0x28550d){return _0x28550d[_0xcafb('0x20')](_0x1cb171)['then'](function(_0x548f2e){return _0x548f2e;});}return null;};}function removeEntity(_0x6e2496,_0x2722ee){return function(_0x52600e){if(_0x52600e){return _0x52600e['destroy']()[_0xcafb('0x21')](function(){_0x6e2496[_0xcafb('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x518cbc,_0x114040){return function(_0xc69f3){if(!_0xc69f3){_0x518cbc['sendStatus'](0x194);}return _0xc69f3;};}function handleError(_0x3a4955,_0x5c5555){_0x5c5555=_0x5c5555||0x1f4;return function(_0x443c78){logger[_0xcafb('0x22')](_0x443c78['stack']);if(_0x443c78[_0xcafb('0x23')]){delete _0x443c78[_0xcafb('0x23')];}_0x3a4955['status'](_0x5c5555)['send'](_0x443c78);};}exports['show']=function(_0x387b66,_0x21f051){var _0x1abb8a={'raw':![],'where':{'id':_0x387b66[_0xcafb('0x24')]['id']}},_0x3a9d7e={};_0x3a9d7e[_0xcafb('0x25')]=_[_0xcafb('0x26')](db[_0xcafb('0x27')][_0xcafb('0x28')]);_0x3a9d7e[_0xcafb('0x29')]=_['keys'](_0x387b66[_0xcafb('0x29')]);_0x3a9d7e[_0xcafb('0x2a')]=_[_0xcafb('0x2b')](_0x3a9d7e[_0xcafb('0x25')],_0x3a9d7e[_0xcafb('0x29')]);_0x1abb8a[_0xcafb('0x2c')]=_[_0xcafb('0x2b')](_0x3a9d7e['model'],qs['fields'](_0x387b66['query'][_0xcafb('0x2d')]));_0x1abb8a['attributes']=_0x1abb8a[_0xcafb('0x2c')][_0xcafb('0x2e')]?_0x1abb8a[_0xcafb('0x2c')]:_0x3a9d7e[_0xcafb('0x25')];if(_0x387b66[_0xcafb('0x29')][_0xcafb('0x2f')]){_0x1abb8a['include']=[{'all':!![]}];}_0x1abb8a=_['merge']({},_0x1abb8a,_0x387b66[_0xcafb('0x30')]);return db['DashboardItem'][_0xcafb('0x31')](_0x1abb8a)[_0xcafb('0x21')](handleEntityNotFound(_0x21f051,null))[_0xcafb('0x21')](respondWithResult(_0x21f051,null))[_0xcafb('0x32')](handleError(_0x21f051,null));};exports[_0xcafb('0x33')]=function(_0x1bd677,_0x91327f){return db[_0xcafb('0x27')]['find']({'where':{'id':_0x1bd677[_0xcafb('0x24')]['id']}})['then'](handleEntityNotFound(_0x91327f,null))[_0xcafb('0x21')](removeEntity(_0x91327f,null))['catch'](handleError(_0x91327f,null));};function widgetAttributes(_0x44af3f){try{switch(_0x44af3f[_0xcafb('0x34')]){case _0xcafb('0x35'):return[{'name':'attrUrl','value':_0x44af3f[_0xcafb('0x36')]||(_0x44af3f[_0xcafb('0x37')]&&_0x44af3f[_0xcafb('0x37')][0x0]?_0x44af3f[_0xcafb('0x37')][0x0]['value']:undefined)||_0xcafb('0x38')}];case'custom':return[{'name':'attrPath','value':_0x44af3f[_0xcafb('0x39')]||(_0x44af3f[_0xcafb('0x37')]&&_0x44af3f[_0xcafb('0x37')][0x0]?_0x44af3f[_0xcafb('0x37')][0x0][_0xcafb('0x3a')]:undefined)||''}];case _0xcafb('0x3b'):return[{'name':_0xcafb('0x3c'),'value':_0x44af3f[_0xcafb('0x3c')]||(_0x44af3f[_0xcafb('0x37')]&&_0x44af3f[_0xcafb('0x37')][0x0]?_0x44af3f[_0xcafb('0x37')][0x0][_0xcafb('0x3a')]:undefined)||'HH:mm:ss'},{'name':_0xcafb('0x3d'),'value':_0x44af3f[_0xcafb('0x3d')]||(_0x44af3f['attrs']&&_0x44af3f[_0xcafb('0x37')][0x1]?_0x44af3f[_0xcafb('0x37')][0x1][_0xcafb('0x3a')]:undefined)||_0xcafb('0x3e')},{'name':_0xcafb('0x3f'),'value':_0x44af3f[_0xcafb('0x3f')]||(_0x44af3f[_0xcafb('0x37')]&&_0x44af3f[_0xcafb('0x37')][0x2]?_0x44af3f[_0xcafb('0x37')][0x2][_0xcafb('0x3a')]:undefined)||0xc}];case _0xcafb('0x40'):return[{'name':_0xcafb('0x41'),'value':_0x44af3f['attrMetric']||(_0x44af3f[_0xcafb('0x37')]&&_0x44af3f['attrs'][0x0]?_0x44af3f[_0xcafb('0x37')][0x0]['value']:undefined)||_0xcafb('0x42')},{'name':'attrVoiceQueues','value':_0x44af3f[_0xcafb('0x43')]||(_0x44af3f['attrs']&&_0x44af3f[_0xcafb('0x37')][0x1]?_0x44af3f[_0xcafb('0x37')][0x1][_0xcafb('0x3a')]:undefined)||[]},{'name':_0xcafb('0x3f'),'value':_0x44af3f[_0xcafb('0x3f')]||(_0x44af3f['attrs']&&_0x44af3f['attrs'][0x2]?_0x44af3f[_0xcafb('0x37')][0x2][_0xcafb('0x3a')]:undefined)||0x14}];case _0xcafb('0x44'):case _0xcafb('0x45'):return[{'name':_0xcafb('0x46'),'value':_0x44af3f['attrSerie1']||(_0x44af3f[_0xcafb('0x37')]&&_0x44af3f['attrs'][0x0]?_0x44af3f[_0xcafb('0x37')][0x0]['value']:undefined)||_0xcafb('0x42')},{'name':_0xcafb('0x47'),'value':_0x44af3f[_0xcafb('0x47')]||(_0x44af3f[_0xcafb('0x37')]&&_0x44af3f['attrs'][0x1]?_0x44af3f[_0xcafb('0x37')][0x1]['value']:undefined)||null},{'name':_0xcafb('0x48'),'value':_0x44af3f[_0xcafb('0x48')]||(_0x44af3f[_0xcafb('0x37')]&&_0x44af3f[_0xcafb('0x37')][0x2]?_0x44af3f['attrs'][0x2][_0xcafb('0x3a')]:undefined)||null},{'name':_0xcafb('0x43'),'value':_0x44af3f[_0xcafb('0x43')]||(_0x44af3f[_0xcafb('0x37')]&&_0x44af3f[_0xcafb('0x37')][0x3]?_0x44af3f[_0xcafb('0x37')][0x3][_0xcafb('0x3a')]:undefined)||[]}];case'web-report':return[{'name':_0xcafb('0x49'),'type':_0x44af3f[_0xcafb('0x4a')]||(_0x44af3f[_0xcafb('0x37')]&&_0x44af3f[_0xcafb('0x37')][0x0]?_0x44af3f[_0xcafb('0x37')][0x0][_0xcafb('0x34')]:undefined)||null,'value':_0x44af3f['attrReport']||(_0x44af3f[_0xcafb('0x37')]&&_0x44af3f[_0xcafb('0x37')][0x0]?_0x44af3f[_0xcafb('0x37')][0x0][_0xcafb('0x3a')]:undefined)||null},{'name':_0xcafb('0x4b'),'value':_0x44af3f[_0xcafb('0x4b')]||(_0x44af3f['attrs']&&_0x44af3f[_0xcafb('0x37')][0x1]?_0x44af3f[_0xcafb('0x37')][0x1][_0xcafb('0x3a')]:undefined)||0x0}];default:return[];}}catch(_0x200519){logger[_0xcafb('0x22')](_0xcafb('0x4c'),JSON[_0xcafb('0x4d')](_0x200519));return[];}}exports['create']=function(_0x59ce90,_0x3ca10a){if(_0x59ce90[_0xcafb('0x4e')]){_0x59ce90[_0xcafb('0x4e')][_0xcafb('0x37')]=widgetAttributes(_0x59ce90['body']);}return db[_0xcafb('0x27')][_0xcafb('0x4f')](_0x59ce90['body'],{})[_0xcafb('0x21')](respondWithResult(_0x3ca10a,0xc9))[_0xcafb('0x32')](handleError(_0x3ca10a,null));};exports[_0xcafb('0x20')]=function(_0x2e30c8,_0x54d885){if(_0x2e30c8[_0xcafb('0x4e')]['id']){delete _0x2e30c8[_0xcafb('0x4e')]['id'];}_0x2e30c8[_0xcafb('0x4e')]['attrs']=widgetAttributes(_0x2e30c8['body']);return db[_0xcafb('0x27')][_0xcafb('0x31')]({'where':{'id':_0x2e30c8[_0xcafb('0x24')]['id']}})[_0xcafb('0x21')](handleEntityNotFound(_0x54d885,null))[_0xcafb('0x21')](saveUpdates(_0x2e30c8[_0xcafb('0x4e')],null))[_0xcafb('0x21')](respondWithResult(_0x54d885,null))[_0xcafb('0x32')](handleError(_0x54d885,null));};