b3c001636792bba51859041b5c3c59c423908f69
[motion2.git] / server / api / dashboard / dashboard.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 _0xc0d4=['util','path','sox','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','redis','defaults','localhost','./dashboard.socket','sendStatus','status','end','json','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','CustomDashboards','error','stack','send','index','map','Dashboard','rawAttributes','fieldName','type','key','model','name','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','sort','where','merge','VIRTUAL','filter','options','count','includeAll','include','findAll','rows','catch','params','keys','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','omit','createdAt','updatedAt','autoAssociation','UserProfileResource','iframe','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','HH:mm:ss','0.00','attrMetric','total','attrVoiceQueues','attrFontSize','multibar-chart','pie-chart','attrSerie1','attrSerie2','attrSerie3','web-report','attrReport','attrRefresh','widgetAttributes:\x20%s','addItem','DashboardItem','getItems','findOne','order','pick','eml-format','fast-json-patch','moment','mustache'];(function(_0x3511d3,_0x4107ae){var _0x5d6321=function(_0x1a23da){while(--_0x1a23da){_0x3511d3['push'](_0x3511d3['shift']());}};_0x5d6321(++_0x4107ae);}(_0xc0d4,0xec));var _0x4c0d=function(_0xa24985,_0x1d2c15){_0xa24985=_0xa24985-0x0;var _0x2f7c36=_0xc0d4[_0xa24985];return _0x2f7c36;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x4c0d('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x4c0d('0x1'));var rp=require('request-promise');var moment=require(_0x4c0d('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x4c0d('0x3'));var util=require(_0x4c0d('0x4'));var path=require(_0x4c0d('0x5'));var sox=require(_0x4c0d('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x4c0d('0x7'));var crypto=require(_0x4c0d('0x8'));var jsforce=require(_0x4c0d('0x9'));var deskjs=require(_0x4c0d('0xa'));var toCsv=require(_0x4c0d('0xb'));var querystring=require(_0x4c0d('0xc'));var Papa=require(_0x4c0d('0xd'));var Redis=require(_0x4c0d('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x4c0d('0xf'));var as=require(_0x4c0d('0x10'));var hardwareService=require(_0x4c0d('0x11'));var logger=require(_0x4c0d('0x12'))(_0x4c0d('0x13'));var utils=require(_0x4c0d('0x14'));var config=require(_0x4c0d('0x15'));var db=require('../../mysqldb')['db'];config[_0x4c0d('0x16')]=_[_0x4c0d('0x17')](config['redis'],{'host':_0x4c0d('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x4c0d('0x16')]));require(_0x4c0d('0x19'))['register'](socket);function respondWithStatusCode(_0x3ff228,_0x174636){_0x174636=_0x174636||0xcc;return function(_0x3ae125){if(_0x3ae125){return _0x3ff228[_0x4c0d('0x1a')](_0x174636);}return _0x3ff228[_0x4c0d('0x1b')](_0x174636)[_0x4c0d('0x1c')]();};}function respondWithResult(_0xf1c6a2,_0x582d98){_0x582d98=_0x582d98||0xc8;return function(_0x57ac35){if(_0x57ac35){return _0xf1c6a2['status'](_0x582d98)[_0x4c0d('0x1d')](_0x57ac35);}};}function respondWithFilteredResult(_0x49ffc4,_0x141314){return function(_0x5eb61c){if(_0x5eb61c){var _0x2712e1=_0x5eb61c['count'],_0x4d7a5a=_0x141314['offset'],_0x2d7f14=_0x141314['offset']+_0x141314[_0x4c0d('0x1e')],_0x138f8d;if(_0x2d7f14>=_0x2712e1){_0x2d7f14=_0x2712e1;_0x138f8d=0xc8;}else{_0x138f8d=0xce;}_0x49ffc4[_0x4c0d('0x1b')](_0x138f8d);return _0x49ffc4[_0x4c0d('0x1f')](_0x4c0d('0x20'),_0x4d7a5a+'-'+_0x2d7f14+'/'+_0x2712e1)['json'](_0x5eb61c);}return null;};}function patchUpdates(_0x3b2d4c){return function(_0x5eed99){try{jsonpatch[_0x4c0d('0x21')](_0x5eed99,_0x3b2d4c,!![]);}catch(_0x13a631){return BPromise[_0x4c0d('0x22')](_0x13a631);}return _0x5eed99[_0x4c0d('0x23')]();};}function saveUpdates(_0x46f134,_0x1f4409){return function(_0x1f7ae8){if(_0x1f7ae8){return _0x1f7ae8[_0x4c0d('0x24')](_0x46f134)[_0x4c0d('0x25')](function(_0x496704){return _0x496704;});}return null;};}function removeEntity(_0x34b676,_0x3894a5){return function(_0x3f4520){if(_0x3f4520){return _0x3f4520[_0x4c0d('0x26')]()[_0x4c0d('0x25')](function(){var _0x55200b=_0x3f4520[_0x4c0d('0x27')]({'plain':!![]});var _0x5dccdb=_0x4c0d('0x28');return db['UserProfileResource']['destroy']({'where':{'type':_0x5dccdb,'resourceId':_0x55200b['id']}})[_0x4c0d('0x25')](function(){return _0x3f4520;});})[_0x4c0d('0x25')](function(){_0x34b676['status'](0xcc)[_0x4c0d('0x1c')]();});}};}function handleEntityNotFound(_0x81d3b0,_0x8118ef){return function(_0x2c3c0f){if(!_0x2c3c0f){_0x81d3b0[_0x4c0d('0x1a')](0x194);}return _0x2c3c0f;};}function handleError(_0x3c8bdb,_0xd77743){_0xd77743=_0xd77743||0x1f4;return function(_0x2bad11){logger[_0x4c0d('0x29')](_0x2bad11[_0x4c0d('0x2a')]);if(_0x2bad11['name']){delete _0x2bad11['name'];}_0x3c8bdb[_0x4c0d('0x1b')](_0xd77743)[_0x4c0d('0x2b')](_0x2bad11);};}exports[_0x4c0d('0x2c')]=function(_0x266a12,_0x39b2d9){var _0x2f902c={},_0x5dc2d0={},_0x594500={'count':0x0,'rows':[]};var _0x3ed7fe=_[_0x4c0d('0x2d')](db[_0x4c0d('0x2e')][_0x4c0d('0x2f')],function(_0x540d69){return{'name':_0x540d69[_0x4c0d('0x30')],'type':_0x540d69[_0x4c0d('0x31')][_0x4c0d('0x32')]};});_0x5dc2d0[_0x4c0d('0x33')]=_[_0x4c0d('0x2d')](_0x3ed7fe,_0x4c0d('0x34'));_0x5dc2d0[_0x4c0d('0x35')]=_['keys'](_0x266a12[_0x4c0d('0x35')]);_0x5dc2d0[_0x4c0d('0x36')]=_[_0x4c0d('0x37')](_0x5dc2d0['model'],_0x5dc2d0[_0x4c0d('0x35')]);_0x2f902c[_0x4c0d('0x38')]=_[_0x4c0d('0x37')](_0x5dc2d0[_0x4c0d('0x33')],qs[_0x4c0d('0x39')](_0x266a12[_0x4c0d('0x35')]['fields']));_0x2f902c[_0x4c0d('0x38')]=_0x2f902c[_0x4c0d('0x38')][_0x4c0d('0x3a')]?_0x2f902c['attributes']:_0x5dc2d0[_0x4c0d('0x33')];if(!_0x266a12[_0x4c0d('0x35')][_0x4c0d('0x3b')](_0x4c0d('0x3c'))){_0x2f902c[_0x4c0d('0x1e')]=qs[_0x4c0d('0x1e')](_0x266a12[_0x4c0d('0x35')][_0x4c0d('0x1e')]);_0x2f902c[_0x4c0d('0x3d')]=qs['offset'](_0x266a12['query'][_0x4c0d('0x3d')]);}_0x2f902c['order']=qs[_0x4c0d('0x3e')](_0x266a12[_0x4c0d('0x35')][_0x4c0d('0x3e')]);_0x2f902c['where']=qs[_0x4c0d('0x36')](_['pick'](_0x266a12[_0x4c0d('0x35')],_0x5dc2d0['filters']),_0x3ed7fe);if(_0x266a12['query']['filter']){_0x2f902c[_0x4c0d('0x3f')]=_[_0x4c0d('0x40')](_0x2f902c[_0x4c0d('0x3f')],{'$or':_[_0x4c0d('0x2d')](_0x3ed7fe,function(_0x46736f){if(_0x46736f[_0x4c0d('0x31')]!==_0x4c0d('0x41')){var _0x41af07={};_0x41af07[_0x46736f[_0x4c0d('0x34')]]={'$like':'%'+_0x266a12[_0x4c0d('0x35')][_0x4c0d('0x42')]+'%'};return _0x41af07;}})});}_0x2f902c=_[_0x4c0d('0x40')]({},_0x2f902c,_0x266a12[_0x4c0d('0x43')]);var _0x3366c0={'where':_0x2f902c['where']};return db[_0x4c0d('0x2e')][_0x4c0d('0x44')](_0x3366c0)[_0x4c0d('0x25')](function(_0x1649ef){_0x594500[_0x4c0d('0x44')]=_0x1649ef;if(_0x266a12[_0x4c0d('0x35')][_0x4c0d('0x45')]){_0x2f902c[_0x4c0d('0x46')]=[{'all':!![]}];}return db[_0x4c0d('0x2e')][_0x4c0d('0x47')](_0x2f902c);})[_0x4c0d('0x25')](function(_0xd8e74b){_0x594500[_0x4c0d('0x48')]=_0xd8e74b;return _0x594500;})[_0x4c0d('0x25')](respondWithFilteredResult(_0x39b2d9,_0x2f902c))[_0x4c0d('0x49')](handleError(_0x39b2d9,null));};exports['show']=function(_0x231ba1,_0x50c89a){var _0x1b8de3={'raw':![],'where':{'id':_0x231ba1[_0x4c0d('0x4a')]['id']}},_0x10ae91={};_0x10ae91[_0x4c0d('0x33')]=_[_0x4c0d('0x4b')](db['Dashboard'][_0x4c0d('0x2f')]);_0x10ae91['query']=_[_0x4c0d('0x4b')](_0x231ba1[_0x4c0d('0x35')]);_0x10ae91['filters']=_[_0x4c0d('0x37')](_0x10ae91['model'],_0x10ae91[_0x4c0d('0x35')]);_0x1b8de3['attributes']=_[_0x4c0d('0x37')](_0x10ae91[_0x4c0d('0x33')],qs['fields'](_0x231ba1['query']['fields']));_0x1b8de3['attributes']=_0x1b8de3['attributes'][_0x4c0d('0x3a')]?_0x1b8de3[_0x4c0d('0x38')]:_0x10ae91[_0x4c0d('0x33')];if(_0x231ba1[_0x4c0d('0x35')][_0x4c0d('0x45')]){_0x1b8de3[_0x4c0d('0x46')]=[{'all':!![]}];}_0x1b8de3=_[_0x4c0d('0x40')]({},_0x1b8de3,_0x231ba1[_0x4c0d('0x43')]);return db['Dashboard'][_0x4c0d('0x4c')](_0x1b8de3)[_0x4c0d('0x25')](handleEntityNotFound(_0x50c89a,null))['then'](respondWithResult(_0x50c89a,null))['catch'](handleError(_0x50c89a,null));};exports[_0x4c0d('0x4d')]=function(_0xa978a3,_0x1011a3){return db[_0x4c0d('0x2e')][_0x4c0d('0x4d')](_0xa978a3[_0x4c0d('0x4e')],{})[_0x4c0d('0x25')](function(_0xd93b0){var _0x50d13d=_0xa978a3[_0x4c0d('0x4f')][_0x4c0d('0x27')]({'plain':!![]});if(!_0x50d13d)throw new Error(_0x4c0d('0x50'));if(_0x50d13d[_0x4c0d('0x51')]===_0x4c0d('0x4f')){var _0x17b454=_0xd93b0[_0x4c0d('0x27')]({'plain':!![]});var _0x10fa4f=_0x4c0d('0x28');return db[_0x4c0d('0x52')][_0x4c0d('0x4c')]({'where':{'name':_0x10fa4f,'userProfileId':_0x50d13d[_0x4c0d('0x53')]},'raw':!![]})[_0x4c0d('0x25')](function(_0x3c9d3b){if(_0x3c9d3b&&_0x3c9d3b['autoAssociation']===0x0){return db['UserProfileResource'][_0x4c0d('0x4d')]({'name':_0x17b454[_0x4c0d('0x34')],'resourceId':_0x17b454['id'],'type':_0x3c9d3b[_0x4c0d('0x34')],'sectionId':_0x3c9d3b['id']},{})[_0x4c0d('0x25')](function(){return _0xd93b0;});}else{return _0xd93b0;}})[_0x4c0d('0x49')](function(_0x22d728){logger[_0x4c0d('0x29')](_0x4c0d('0x54'),_0x22d728);throw _0x22d728;});}return _0xd93b0;})[_0x4c0d('0x25')](respondWithResult(_0x1011a3,0xc9))[_0x4c0d('0x49')](handleError(_0x1011a3,null));};exports['clone']=function(_0xe3ec7e,_0x58ae48){var _0x2ff440={'where':{'id':_0xe3ec7e[_0x4c0d('0x4a')]['id']}},_0x21fe0c={};_0x21fe0c['model']=_[_0x4c0d('0x4b')](db['Dashboard'][_0x4c0d('0x2f')]);_0x2ff440['attributes']=_[_0x4c0d('0x37')](_0x21fe0c['model'],qs['fields'](_0xe3ec7e['query'][_0x4c0d('0x39')]));_0x2ff440[_0x4c0d('0x38')]=_0x2ff440[_0x4c0d('0x38')][_0x4c0d('0x3a')]?_0x2ff440[_0x4c0d('0x38')]:_0x21fe0c[_0x4c0d('0x33')];if(_0xe3ec7e[_0x4c0d('0x35')]['includeAll']){_0x2ff440[_0x4c0d('0x46')]=[{'all':!![]}];}_0x2ff440=_[_0x4c0d('0x40')]({},_0x2ff440,_0xe3ec7e['options']);return db['Dashboard'][_0x4c0d('0x4c')](_0x2ff440)[_0x4c0d('0x25')](handleEntityNotFound(_0x58ae48,null))[_0x4c0d('0x25')](function(_0x285b5f){if(_0x285b5f){var _0x5bce7d=_0x285b5f['get']({'plain':!![]});_0x5bce7d=qs[_0x4c0d('0x55')](_0x5bce7d,['id',_0x4c0d('0x56'),'updatedAt']);_0xe3ec7e[_0x4c0d('0x4e')]=_[_0x4c0d('0x55')](_0xe3ec7e['body'],['id',_0x4c0d('0x56'),_0x4c0d('0x57')]);return db[_0x4c0d('0x2e')]['create'](_[_0x4c0d('0x40')](_0x5bce7d,_0xe3ec7e[_0x4c0d('0x4e')]),{'include':_0xe3ec7e['query'][_0x4c0d('0x45')]?[{'all':!![]}]:undefined})['then'](function(_0x6dda6b){var _0x5ef0f0=_0xe3ec7e[_0x4c0d('0x4f')][_0x4c0d('0x27')]({'plain':!![]});if(!_0x5ef0f0)throw new Error(_0x4c0d('0x50'));if(_0x5ef0f0['role']===_0x4c0d('0x4f')){var _0x4188d1=_0x6dda6b[_0x4c0d('0x27')]({'plain':!![]});var _0x6d55d7=_0x4c0d('0x28');return db[_0x4c0d('0x52')][_0x4c0d('0x4c')]({'where':{'name':_0x6d55d7,'userProfileId':_0x5ef0f0[_0x4c0d('0x53')]},'raw':!![]})['then'](function(_0xca3d80){if(_0xca3d80&&_0xca3d80[_0x4c0d('0x58')]===0x0){return db[_0x4c0d('0x59')][_0x4c0d('0x4d')]({'name':_0x4188d1[_0x4c0d('0x34')],'resourceId':_0x4188d1['id'],'type':_0xca3d80[_0x4c0d('0x34')],'sectionId':_0xca3d80['id']},{})[_0x4c0d('0x25')](function(){return _0x6dda6b;});}else{return _0x6dda6b;}})[_0x4c0d('0x49')](function(_0x5b2112){logger[_0x4c0d('0x29')](_0x4c0d('0x54'),_0x5b2112);throw _0x5b2112;});}return _0x6dda6b;});}})[_0x4c0d('0x25')](respondWithResult(_0x58ae48,0xc9))['catch'](handleError(_0x58ae48,null));};exports['update']=function(_0x499c0d,_0x4984d5){if(_0x499c0d[_0x4c0d('0x4e')]['id']){delete _0x499c0d[_0x4c0d('0x4e')]['id'];}return db[_0x4c0d('0x2e')][_0x4c0d('0x4c')]({'where':{'id':_0x499c0d['params']['id']}})['then'](handleEntityNotFound(_0x4984d5,null))['then'](saveUpdates(_0x499c0d[_0x4c0d('0x4e')],null))[_0x4c0d('0x25')](respondWithResult(_0x4984d5,null))[_0x4c0d('0x49')](handleError(_0x4984d5,null));};exports[_0x4c0d('0x26')]=function(_0xd3fde1,_0xae4cb4){return db['Dashboard'][_0x4c0d('0x4c')]({'where':{'id':_0xd3fde1['params']['id']}})[_0x4c0d('0x25')](handleEntityNotFound(_0xae4cb4,null))[_0x4c0d('0x25')](removeEntity(_0xae4cb4,null))['catch'](handleError(_0xae4cb4,null));};function widgetAttributes(_0x45ad5d){try{switch(_0x45ad5d[_0x4c0d('0x31')]){case _0x4c0d('0x5a'):return[{'name':_0x4c0d('0x5b'),'value':_0x45ad5d['attrUrl']||(_0x45ad5d[_0x4c0d('0x5c')]&&_0x45ad5d[_0x4c0d('0x5c')][0x0]?_0x45ad5d[_0x4c0d('0x5c')][0x0][_0x4c0d('0x5d')]:undefined)||_0x4c0d('0x5e')}];case _0x4c0d('0x5f'):return[{'name':_0x4c0d('0x60'),'value':_0x45ad5d[_0x4c0d('0x60')]||(_0x45ad5d[_0x4c0d('0x5c')]&&_0x45ad5d[_0x4c0d('0x5c')][0x0]?_0x45ad5d['attrs'][0x0][_0x4c0d('0x5d')]:undefined)||''}];case _0x4c0d('0x61'):return[{'name':_0x4c0d('0x62'),'value':_0x45ad5d[_0x4c0d('0x62')]||(_0x45ad5d['attrs']&&_0x45ad5d[_0x4c0d('0x5c')][0x0]?_0x45ad5d['attrs'][0x0][_0x4c0d('0x5d')]:undefined)||_0x4c0d('0x63')},{'name':'attrTimezone','value':_0x45ad5d['attrTimezone']||(_0x45ad5d[_0x4c0d('0x5c')]&&_0x45ad5d[_0x4c0d('0x5c')][0x1]?_0x45ad5d[_0x4c0d('0x5c')][0x1][_0x4c0d('0x5d')]:undefined)||_0x4c0d('0x64')},{'name':'attrFontSize','value':_0x45ad5d['attrFontSize']||(_0x45ad5d[_0x4c0d('0x5c')]&&_0x45ad5d[_0x4c0d('0x5c')][0x2]?_0x45ad5d[_0x4c0d('0x5c')][0x2][_0x4c0d('0x5d')]:undefined)||0xc}];case'counter':return[{'name':_0x4c0d('0x65'),'value':_0x45ad5d[_0x4c0d('0x65')]||(_0x45ad5d[_0x4c0d('0x5c')]&&_0x45ad5d[_0x4c0d('0x5c')][0x0]?_0x45ad5d[_0x4c0d('0x5c')][0x0][_0x4c0d('0x5d')]:undefined)||_0x4c0d('0x66')},{'name':_0x4c0d('0x67'),'value':_0x45ad5d[_0x4c0d('0x67')]||(_0x45ad5d[_0x4c0d('0x5c')]&&_0x45ad5d[_0x4c0d('0x5c')][0x1]?_0x45ad5d[_0x4c0d('0x5c')][0x1][_0x4c0d('0x5d')]:undefined)||[]},{'name':_0x4c0d('0x68'),'value':_0x45ad5d[_0x4c0d('0x68')]||(_0x45ad5d['attrs']&&_0x45ad5d[_0x4c0d('0x5c')][0x2]?_0x45ad5d[_0x4c0d('0x5c')][0x2][_0x4c0d('0x5d')]:undefined)||0x14}];case _0x4c0d('0x69'):case _0x4c0d('0x6a'):return[{'name':_0x4c0d('0x6b'),'value':_0x45ad5d['attrSerie1']||(_0x45ad5d[_0x4c0d('0x5c')]&&_0x45ad5d[_0x4c0d('0x5c')][0x0]?_0x45ad5d[_0x4c0d('0x5c')][0x0]['value']:undefined)||'total'},{'name':'attrSerie2','value':_0x45ad5d[_0x4c0d('0x6c')]||(_0x45ad5d['attrs']&&_0x45ad5d[_0x4c0d('0x5c')][0x1]?_0x45ad5d['attrs'][0x1]['value']:undefined)||null},{'name':_0x4c0d('0x6d'),'value':_0x45ad5d[_0x4c0d('0x6d')]||(_0x45ad5d[_0x4c0d('0x5c')]&&_0x45ad5d[_0x4c0d('0x5c')][0x2]?_0x45ad5d[_0x4c0d('0x5c')][0x2][_0x4c0d('0x5d')]:undefined)||null},{'name':_0x4c0d('0x67'),'value':_0x45ad5d[_0x4c0d('0x67')]||(_0x45ad5d[_0x4c0d('0x5c')]&&_0x45ad5d['attrs'][0x3]?_0x45ad5d[_0x4c0d('0x5c')][0x3]['value']:undefined)||[]}];case _0x4c0d('0x6e'):return[{'name':_0x4c0d('0x6f'),'type':_0x45ad5d['reportType']||(_0x45ad5d[_0x4c0d('0x5c')]&&_0x45ad5d[_0x4c0d('0x5c')][0x0]?_0x45ad5d[_0x4c0d('0x5c')][0x0][_0x4c0d('0x31')]:undefined)||null,'value':_0x45ad5d[_0x4c0d('0x6f')]||(_0x45ad5d[_0x4c0d('0x5c')]&&_0x45ad5d['attrs'][0x0]?_0x45ad5d['attrs'][0x0][_0x4c0d('0x5d')]:undefined)||null},{'name':_0x4c0d('0x70'),'value':_0x45ad5d[_0x4c0d('0x70')]||(_0x45ad5d[_0x4c0d('0x5c')]&&_0x45ad5d[_0x4c0d('0x5c')][0x1]?_0x45ad5d[_0x4c0d('0x5c')][0x1][_0x4c0d('0x5d')]:undefined)||0x0}];default:return[];}}catch(_0x529e0e){logger[_0x4c0d('0x29')](_0x4c0d('0x71'),JSON['stringify'](_0x529e0e));return[];}}exports[_0x4c0d('0x72')]=function(_0x406c8d,_0xafa05d,_0x269680){if(_0x406c8d[_0x4c0d('0x4e')]['id']){delete _0x406c8d[_0x4c0d('0x4e')]['id'];}return db['Dashboard'][_0x4c0d('0x4c')]({'where':{'id':_0x406c8d['params']['id']}})[_0x4c0d('0x25')](handleEntityNotFound(_0xafa05d,null))[_0x4c0d('0x25')](function(_0x5694dc){if(_0x5694dc){_0x406c8d['body']['DashboardId']=_0x5694dc['id'];_0x406c8d[_0x4c0d('0x4e')]['attrs']=widgetAttributes(_0x406c8d['body']);return db[_0x4c0d('0x73')][_0x4c0d('0x4d')](_0x406c8d[_0x4c0d('0x4e')]);}})['then'](respondWithResult(_0xafa05d,null))['catch'](handleError(_0xafa05d,null));};exports[_0x4c0d('0x74')]=function(_0x1da4ad,_0x30e965,_0x22614c){var _0x1a1e5b={};var _0x4cde11={};var _0xe571cb;var _0x2bdc8e;return db['Dashboard'][_0x4c0d('0x75')]({'where':{'id':_0x1da4ad[_0x4c0d('0x4a')]['id']}})[_0x4c0d('0x25')](handleEntityNotFound(_0x30e965,null))[_0x4c0d('0x25')](function(_0x291875){if(_0x291875){_0xe571cb=_0x291875;_0x4cde11[_0x4c0d('0x33')]=_[_0x4c0d('0x4b')](db['DashboardItem'][_0x4c0d('0x2f')]);_0x4cde11[_0x4c0d('0x35')]=_[_0x4c0d('0x4b')](_0x1da4ad[_0x4c0d('0x35')]);_0x4cde11[_0x4c0d('0x36')]=_[_0x4c0d('0x37')](_0x4cde11[_0x4c0d('0x33')],_0x4cde11[_0x4c0d('0x35')]);_0x1a1e5b[_0x4c0d('0x38')]=_['intersection'](_0x4cde11[_0x4c0d('0x33')],qs[_0x4c0d('0x39')](_0x1da4ad[_0x4c0d('0x35')][_0x4c0d('0x39')]));_0x1a1e5b[_0x4c0d('0x38')]=_0x1a1e5b[_0x4c0d('0x38')][_0x4c0d('0x3a')]?_0x1a1e5b['attributes']:_0x4cde11['model'];_0x1a1e5b[_0x4c0d('0x76')]=qs[_0x4c0d('0x3e')](_0x1da4ad['query']['sort']);_0x1a1e5b['where']=qs[_0x4c0d('0x36')](_[_0x4c0d('0x77')](_0x1da4ad[_0x4c0d('0x35')],_0x4cde11[_0x4c0d('0x36')]));if(_0x1da4ad['query']['filter']){_0x1a1e5b[_0x4c0d('0x3f')]=_[_0x4c0d('0x40')](_0x1a1e5b[_0x4c0d('0x3f')],{'$or':_[_0x4c0d('0x2d')](_0x1a1e5b[_0x4c0d('0x38')],function(_0x3a27b7){var _0x1ce3cd={};_0x1ce3cd[_0x3a27b7]={'$like':'%'+_0x1da4ad[_0x4c0d('0x35')][_0x4c0d('0x42')]+'%'};return _0x1ce3cd;})});}_0x1a1e5b=_[_0x4c0d('0x40')]({},_0x1a1e5b,_0x1da4ad[_0x4c0d('0x43')]);return _0xe571cb[_0x4c0d('0x74')](_0x1a1e5b);}})['then'](function(_0x15889d){if(_0x15889d){_0x2bdc8e=_0x15889d['length'];if(!_0x1da4ad[_0x4c0d('0x35')]['hasOwnProperty'](_0x4c0d('0x3c'))){_0x1a1e5b[_0x4c0d('0x1e')]=qs['limit'](_0x1da4ad['query']['limit']);_0x1a1e5b[_0x4c0d('0x3d')]=qs[_0x4c0d('0x3d')](_0x1da4ad[_0x4c0d('0x35')][_0x4c0d('0x3d')]);}return _0xe571cb['getItems'](_0x1a1e5b);}})['then'](function(_0x1b1852){if(_0x1b1852){return _0x1b1852?{'count':_0x2bdc8e,'rows':_0x1b1852}:null;}})[_0x4c0d('0x25')](respondWithResult(_0x30e965,null))['catch'](handleError(_0x30e965,null));};