e3764fb27bfbe92e12e6e0dbae204291988e2d3e
[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 _0xeb4d=['../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','redis','localhost','socket.io-emitter','./dashboard.socket','status','json','count','offset','limit','set','Content-Range','reject','update','then','destroy','get','UserProfileResource','end','sendStatus','error','stack','name','send','index','Dashboard','rawAttributes','type','key','model','map','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','merge','options','includeAll','include','findAll','show','params','length','find','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','CustomDashboards','UserProfileSection','autoAssociation','omit','createdAt','updatedAt','body','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','iframe','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','attrTimezone','attrFontSize','attrMetric','total','attrVoiceQueues','multibar-chart','pie-chart','attrSerie1','attrSerie2','attrSerie3','web-report','attrReport','reportType','attrRefresh','widgetAttributes:\x20%s','stringify','addItem','DashboardId','findOne','DashboardItem','getItems','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','ioredis','../../components/parsers/qs'];(function(_0x1bcda1,_0x14e777){var _0x5f171c=function(_0x2984d2){while(--_0x2984d2){_0x1bcda1['push'](_0x1bcda1['shift']());}};_0x5f171c(++_0x14e777);}(_0xeb4d,0x158));var _0xdeb4=function(_0x27d7de,_0x596ee8){_0x27d7de=_0x27d7de-0x0;var _0x47d77a=_0xeb4d[_0x27d7de];return _0x47d77a;};'use strict';var emlformat=require(_0xdeb4('0x0'));var rimraf=require(_0xdeb4('0x1'));var zipdir=require(_0xdeb4('0x2'));var jsonpatch=require(_0xdeb4('0x3'));var rp=require(_0xdeb4('0x4'));var moment=require(_0xdeb4('0x5'));var BPromise=require(_0xdeb4('0x6'));var Mustache=require(_0xdeb4('0x7'));var util=require(_0xdeb4('0x8'));var path=require(_0xdeb4('0x9'));var sox=require('sox');var csv=require(_0xdeb4('0xa'));var ejs=require(_0xdeb4('0xb'));var fs=require('fs');var fs_extra=require(_0xdeb4('0xc'));var _=require(_0xdeb4('0xd'));var squel=require('squel');var crypto=require(_0xdeb4('0xe'));var jsforce=require(_0xdeb4('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xdeb4('0xa'));var querystring=require(_0xdeb4('0x10'));var Papa=require('papaparse');var Redis=require(_0xdeb4('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xdeb4('0x12'));var as=require(_0xdeb4('0x13'));var hardwareService=require(_0xdeb4('0x14'));var logger=require(_0xdeb4('0x15'))(_0xdeb4('0x16'));var utils=require(_0xdeb4('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xdeb4('0x18'));var db=require('../../mysqldb')['db'];config[_0xdeb4('0x19')]=_['defaults'](config[_0xdeb4('0x19')],{'host':_0xdeb4('0x1a'),'port':0x18eb});var socket=require(_0xdeb4('0x1b'))(new Redis(config[_0xdeb4('0x19')]));require(_0xdeb4('0x1c'))['register'](socket);function respondWithStatusCode(_0x14927c,_0x2d9ded){_0x2d9ded=_0x2d9ded||0xcc;return function(_0x5b5ffd){if(_0x5b5ffd){return _0x14927c['sendStatus'](_0x2d9ded);}return _0x14927c[_0xdeb4('0x1d')](_0x2d9ded)['end']();};}function respondWithResult(_0xbdb09f,_0x4f4ec3){_0x4f4ec3=_0x4f4ec3||0xc8;return function(_0xe6bdf1){if(_0xe6bdf1){return _0xbdb09f['status'](_0x4f4ec3)[_0xdeb4('0x1e')](_0xe6bdf1);}};}function respondWithFilteredResult(_0x36e448,_0x399f04){return function(_0x4c39dd){if(_0x4c39dd){var _0x2787b6=_0x4c39dd[_0xdeb4('0x1f')],_0x2f0ba1=_0x399f04['offset'],_0x347dcf=_0x399f04[_0xdeb4('0x20')]+_0x399f04[_0xdeb4('0x21')],_0xe8c050;if(_0x347dcf>=_0x2787b6){_0x347dcf=_0x2787b6;_0xe8c050=0xc8;}else{_0xe8c050=0xce;}_0x36e448['status'](_0xe8c050);return _0x36e448[_0xdeb4('0x22')](_0xdeb4('0x23'),_0x2f0ba1+'-'+_0x347dcf+'/'+_0x2787b6)[_0xdeb4('0x1e')](_0x4c39dd);}return null;};}function patchUpdates(_0x228357){return function(_0x7559ed){try{jsonpatch['apply'](_0x7559ed,_0x228357,!![]);}catch(_0x1c6407){return BPromise[_0xdeb4('0x24')](_0x1c6407);}return _0x7559ed['save']();};}function saveUpdates(_0x47c780,_0x5ef696){return function(_0x3abd89){if(_0x3abd89){return _0x3abd89[_0xdeb4('0x25')](_0x47c780)[_0xdeb4('0x26')](function(_0x2a1509){return _0x2a1509;});}return null;};}function removeEntity(_0x107b51,_0x1225e9){return function(_0x38ad29){if(_0x38ad29){return _0x38ad29[_0xdeb4('0x27')]()[_0xdeb4('0x26')](function(){var _0x2151ad=_0x38ad29[_0xdeb4('0x28')]({'plain':!![]});var _0x1e8787='CustomDashboards';return db[_0xdeb4('0x29')][_0xdeb4('0x27')]({'where':{'type':_0x1e8787,'resourceId':_0x2151ad['id']}})[_0xdeb4('0x26')](function(){return _0x38ad29;});})[_0xdeb4('0x26')](function(){_0x107b51[_0xdeb4('0x1d')](0xcc)[_0xdeb4('0x2a')]();});}};}function handleEntityNotFound(_0x71cfbd,_0x469665){return function(_0x4a2947){if(!_0x4a2947){_0x71cfbd[_0xdeb4('0x2b')](0x194);}return _0x4a2947;};}function handleError(_0x4d858e,_0x2fafba){_0x2fafba=_0x2fafba||0x1f4;return function(_0x5e22e9){logger[_0xdeb4('0x2c')](_0x5e22e9[_0xdeb4('0x2d')]);if(_0x5e22e9[_0xdeb4('0x2e')]){delete _0x5e22e9[_0xdeb4('0x2e')];}_0x4d858e['status'](_0x2fafba)[_0xdeb4('0x2f')](_0x5e22e9);};}exports[_0xdeb4('0x30')]=function(_0x216587,_0x34d7b7){var _0x4f3c63={},_0x3af905={},_0x43e9c0={'count':0x0,'rows':[]};var _0x320afe=_['map'](db[_0xdeb4('0x31')][_0xdeb4('0x32')],function(_0x2f68f4){return{'name':_0x2f68f4['fieldName'],'type':_0x2f68f4[_0xdeb4('0x33')][_0xdeb4('0x34')]};});_0x3af905[_0xdeb4('0x35')]=_[_0xdeb4('0x36')](_0x320afe,_0xdeb4('0x2e'));_0x3af905[_0xdeb4('0x37')]=_[_0xdeb4('0x38')](_0x216587[_0xdeb4('0x37')]);_0x3af905['filters']=_['intersection'](_0x3af905[_0xdeb4('0x35')],_0x3af905[_0xdeb4('0x37')]);_0x4f3c63[_0xdeb4('0x39')]=_[_0xdeb4('0x3a')](_0x3af905[_0xdeb4('0x35')],qs[_0xdeb4('0x3b')](_0x216587['query'][_0xdeb4('0x3b')]));_0x4f3c63[_0xdeb4('0x39')]=_0x4f3c63[_0xdeb4('0x39')]['length']?_0x4f3c63[_0xdeb4('0x39')]:_0x3af905['model'];if(!_0x216587[_0xdeb4('0x37')][_0xdeb4('0x3c')](_0xdeb4('0x3d'))){_0x4f3c63[_0xdeb4('0x21')]=qs[_0xdeb4('0x21')](_0x216587[_0xdeb4('0x37')][_0xdeb4('0x21')]);_0x4f3c63[_0xdeb4('0x20')]=qs[_0xdeb4('0x20')](_0x216587[_0xdeb4('0x37')][_0xdeb4('0x20')]);}_0x4f3c63[_0xdeb4('0x3e')]=qs[_0xdeb4('0x3f')](_0x216587['query'][_0xdeb4('0x3f')]);_0x4f3c63[_0xdeb4('0x40')]=qs['filters'](_[_0xdeb4('0x41')](_0x216587[_0xdeb4('0x37')],_0x3af905[_0xdeb4('0x42')]),_0x320afe);if(_0x216587['query']['filter']){_0x4f3c63['where']=_['merge'](_0x4f3c63['where'],{'$or':_[_0xdeb4('0x36')](_0x320afe,function(_0x357833){if(_0x357833['type']!=='VIRTUAL'){var _0x41ed8a={};_0x41ed8a[_0x357833[_0xdeb4('0x2e')]]={'$like':'%'+_0x216587['query'][_0xdeb4('0x43')]+'%'};return _0x41ed8a;}})});}_0x4f3c63=_[_0xdeb4('0x44')]({},_0x4f3c63,_0x216587[_0xdeb4('0x45')]);var _0x595f45={'where':_0x4f3c63[_0xdeb4('0x40')]};return db['Dashboard'][_0xdeb4('0x1f')](_0x595f45)[_0xdeb4('0x26')](function(_0x78a238){_0x43e9c0[_0xdeb4('0x1f')]=_0x78a238;if(_0x216587['query'][_0xdeb4('0x46')]){_0x4f3c63[_0xdeb4('0x47')]=[{'all':!![]}];}return db[_0xdeb4('0x31')][_0xdeb4('0x48')](_0x4f3c63);})[_0xdeb4('0x26')](function(_0x19bb0b){_0x43e9c0['rows']=_0x19bb0b;return _0x43e9c0;})['then'](respondWithFilteredResult(_0x34d7b7,_0x4f3c63))['catch'](handleError(_0x34d7b7,null));};exports[_0xdeb4('0x49')]=function(_0x4298d2,_0x2bf95c){var _0x225f03={'raw':![],'where':{'id':_0x4298d2[_0xdeb4('0x4a')]['id']}},_0x47019b={};_0x47019b[_0xdeb4('0x35')]=_[_0xdeb4('0x38')](db[_0xdeb4('0x31')]['rawAttributes']);_0x47019b[_0xdeb4('0x37')]=_[_0xdeb4('0x38')](_0x4298d2[_0xdeb4('0x37')]);_0x47019b[_0xdeb4('0x42')]=_[_0xdeb4('0x3a')](_0x47019b['model'],_0x47019b[_0xdeb4('0x37')]);_0x225f03[_0xdeb4('0x39')]=_['intersection'](_0x47019b[_0xdeb4('0x35')],qs[_0xdeb4('0x3b')](_0x4298d2[_0xdeb4('0x37')][_0xdeb4('0x3b')]));_0x225f03[_0xdeb4('0x39')]=_0x225f03[_0xdeb4('0x39')][_0xdeb4('0x4b')]?_0x225f03['attributes']:_0x47019b['model'];if(_0x4298d2[_0xdeb4('0x37')][_0xdeb4('0x46')]){_0x225f03['include']=[{'all':!![]}];}_0x225f03=_[_0xdeb4('0x44')]({},_0x225f03,_0x4298d2['options']);return db[_0xdeb4('0x31')][_0xdeb4('0x4c')](_0x225f03)[_0xdeb4('0x26')](handleEntityNotFound(_0x2bf95c,null))['then'](respondWithResult(_0x2bf95c,null))[_0xdeb4('0x4d')](handleError(_0x2bf95c,null));};exports['create']=function(_0x138d21,_0x22d4ed){return db[_0xdeb4('0x31')][_0xdeb4('0x4e')](_0x138d21['body'],{})[_0xdeb4('0x26')](function(_0x5bccbf){var _0x434a79=_0x138d21[_0xdeb4('0x4f')][_0xdeb4('0x28')]({'plain':!![]});if(!_0x434a79)throw new Error(_0xdeb4('0x50'));if(_0x434a79[_0xdeb4('0x51')]===_0xdeb4('0x4f')){var _0x3dc2ee=_0x5bccbf[_0xdeb4('0x28')]({'plain':!![]});var _0x16b543=_0xdeb4('0x52');return db[_0xdeb4('0x53')][_0xdeb4('0x4c')]({'where':{'name':_0x16b543,'userProfileId':_0x434a79['userProfileId']},'raw':!![]})['then'](function(_0x13aa55){if(_0x13aa55&&_0x13aa55[_0xdeb4('0x54')]===0x0){return db[_0xdeb4('0x29')][_0xdeb4('0x4e')]({'name':_0x3dc2ee[_0xdeb4('0x2e')],'resourceId':_0x3dc2ee['id'],'type':_0x13aa55[_0xdeb4('0x2e')],'sectionId':_0x13aa55['id']},{})['then'](function(){return _0x5bccbf;});}else{return _0x5bccbf;}})[_0xdeb4('0x4d')](function(_0x5ac1c4){logger[_0xdeb4('0x2c')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5ac1c4);throw _0x5ac1c4;});}return _0x5bccbf;})[_0xdeb4('0x26')](respondWithResult(_0x22d4ed,0xc9))[_0xdeb4('0x4d')](handleError(_0x22d4ed,null));};exports['clone']=function(_0x267734,_0x27a1f4){var _0x4e774b={'where':{'id':_0x267734['params']['id']}},_0x45667e={};_0x45667e['model']=_[_0xdeb4('0x38')](db['Dashboard'][_0xdeb4('0x32')]);_0x4e774b[_0xdeb4('0x39')]=_[_0xdeb4('0x3a')](_0x45667e[_0xdeb4('0x35')],qs[_0xdeb4('0x3b')](_0x267734[_0xdeb4('0x37')][_0xdeb4('0x3b')]));_0x4e774b[_0xdeb4('0x39')]=_0x4e774b[_0xdeb4('0x39')][_0xdeb4('0x4b')]?_0x4e774b[_0xdeb4('0x39')]:_0x45667e[_0xdeb4('0x35')];if(_0x267734[_0xdeb4('0x37')][_0xdeb4('0x46')]){_0x4e774b[_0xdeb4('0x47')]=[{'all':!![]}];}_0x4e774b=_[_0xdeb4('0x44')]({},_0x4e774b,_0x267734[_0xdeb4('0x45')]);return db[_0xdeb4('0x31')]['find'](_0x4e774b)[_0xdeb4('0x26')](handleEntityNotFound(_0x27a1f4,null))['then'](function(_0x45c2d0){if(_0x45c2d0){var _0x30f0f4=_0x45c2d0[_0xdeb4('0x28')]({'plain':!![]});_0x30f0f4=qs[_0xdeb4('0x55')](_0x30f0f4,['id',_0xdeb4('0x56'),_0xdeb4('0x57')]);_0x267734[_0xdeb4('0x58')]=_[_0xdeb4('0x55')](_0x267734['body'],['id','createdAt',_0xdeb4('0x57')]);return db[_0xdeb4('0x31')][_0xdeb4('0x4e')](_[_0xdeb4('0x44')](_0x30f0f4,_0x267734[_0xdeb4('0x58')]),{'include':_0x267734[_0xdeb4('0x37')][_0xdeb4('0x46')]?[{'all':!![]}]:undefined})[_0xdeb4('0x26')](function(_0xefc9d2){var _0x53a445=_0x267734[_0xdeb4('0x4f')][_0xdeb4('0x28')]({'plain':!![]});if(!_0x53a445)throw new Error(_0xdeb4('0x50'));if(_0x53a445[_0xdeb4('0x51')]===_0xdeb4('0x4f')){var _0x343552=_0xefc9d2[_0xdeb4('0x28')]({'plain':!![]});var _0x2a8a61=_0xdeb4('0x52');return db['UserProfileSection'][_0xdeb4('0x4c')]({'where':{'name':_0x2a8a61,'userProfileId':_0x53a445[_0xdeb4('0x59')]},'raw':!![]})[_0xdeb4('0x26')](function(_0x205979){if(_0x205979&&_0x205979[_0xdeb4('0x54')]===0x0){return db[_0xdeb4('0x29')]['create']({'name':_0x343552[_0xdeb4('0x2e')],'resourceId':_0x343552['id'],'type':_0x205979[_0xdeb4('0x2e')],'sectionId':_0x205979['id']},{})['then'](function(){return _0xefc9d2;});}else{return _0xefc9d2;}})['catch'](function(_0x137669){logger[_0xdeb4('0x2c')](_0xdeb4('0x5a'),_0x137669);throw _0x137669;});}return _0xefc9d2;});}})[_0xdeb4('0x26')](respondWithResult(_0x27a1f4,0xc9))[_0xdeb4('0x4d')](handleError(_0x27a1f4,null));};exports[_0xdeb4('0x25')]=function(_0x3a64ed,_0x3e6825){if(_0x3a64ed['body']['id']){delete _0x3a64ed[_0xdeb4('0x58')]['id'];}return db[_0xdeb4('0x31')][_0xdeb4('0x4c')]({'where':{'id':_0x3a64ed[_0xdeb4('0x4a')]['id']}})[_0xdeb4('0x26')](handleEntityNotFound(_0x3e6825,null))['then'](saveUpdates(_0x3a64ed[_0xdeb4('0x58')],null))[_0xdeb4('0x26')](respondWithResult(_0x3e6825,null))['catch'](handleError(_0x3e6825,null));};exports['destroy']=function(_0x5d664e,_0x1938c3){return db[_0xdeb4('0x31')][_0xdeb4('0x4c')]({'where':{'id':_0x5d664e['params']['id']}})[_0xdeb4('0x26')](handleEntityNotFound(_0x1938c3,null))[_0xdeb4('0x26')](removeEntity(_0x1938c3,null))[_0xdeb4('0x4d')](handleError(_0x1938c3,null));};function widgetAttributes(_0x3d49af){try{switch(_0x3d49af[_0xdeb4('0x33')]){case _0xdeb4('0x5b'):return[{'name':_0xdeb4('0x5c'),'value':_0x3d49af[_0xdeb4('0x5c')]||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af[_0xdeb4('0x5d')][0x0]?_0x3d49af[_0xdeb4('0x5d')][0x0][_0xdeb4('0x5e')]:undefined)||_0xdeb4('0x5f')}];case _0xdeb4('0x60'):return[{'name':_0xdeb4('0x61'),'value':_0x3d49af['attrPath']||(_0x3d49af['attrs']&&_0x3d49af[_0xdeb4('0x5d')][0x0]?_0x3d49af['attrs'][0x0][_0xdeb4('0x5e')]:undefined)||''}];case _0xdeb4('0x62'):return[{'name':_0xdeb4('0x63'),'value':_0x3d49af[_0xdeb4('0x63')]||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af[_0xdeb4('0x5d')][0x0]?_0x3d49af[_0xdeb4('0x5d')][0x0]['value']:undefined)||'HH:mm:ss'},{'name':_0xdeb4('0x64'),'value':_0x3d49af['attrTimezone']||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af[_0xdeb4('0x5d')][0x1]?_0x3d49af[_0xdeb4('0x5d')][0x1][_0xdeb4('0x5e')]:undefined)||'0.00'},{'name':_0xdeb4('0x65'),'value':_0x3d49af[_0xdeb4('0x65')]||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af['attrs'][0x2]?_0x3d49af[_0xdeb4('0x5d')][0x2][_0xdeb4('0x5e')]:undefined)||0xc}];case'counter':return[{'name':_0xdeb4('0x66'),'value':_0x3d49af['attrMetric']||(_0x3d49af['attrs']&&_0x3d49af[_0xdeb4('0x5d')][0x0]?_0x3d49af[_0xdeb4('0x5d')][0x0][_0xdeb4('0x5e')]:undefined)||_0xdeb4('0x67')},{'name':_0xdeb4('0x68'),'value':_0x3d49af[_0xdeb4('0x68')]||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af[_0xdeb4('0x5d')][0x1]?_0x3d49af[_0xdeb4('0x5d')][0x1][_0xdeb4('0x5e')]:undefined)||[]},{'name':_0xdeb4('0x65'),'value':_0x3d49af[_0xdeb4('0x65')]||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af[_0xdeb4('0x5d')][0x2]?_0x3d49af[_0xdeb4('0x5d')][0x2][_0xdeb4('0x5e')]:undefined)||0x14}];case _0xdeb4('0x69'):case _0xdeb4('0x6a'):return[{'name':_0xdeb4('0x6b'),'value':_0x3d49af[_0xdeb4('0x6b')]||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af[_0xdeb4('0x5d')][0x0]?_0x3d49af['attrs'][0x0][_0xdeb4('0x5e')]:undefined)||_0xdeb4('0x67')},{'name':_0xdeb4('0x6c'),'value':_0x3d49af[_0xdeb4('0x6c')]||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af['attrs'][0x1]?_0x3d49af[_0xdeb4('0x5d')][0x1]['value']:undefined)||null},{'name':'attrSerie3','value':_0x3d49af[_0xdeb4('0x6d')]||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af['attrs'][0x2]?_0x3d49af[_0xdeb4('0x5d')][0x2][_0xdeb4('0x5e')]:undefined)||null},{'name':'attrVoiceQueues','value':_0x3d49af[_0xdeb4('0x68')]||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af[_0xdeb4('0x5d')][0x3]?_0x3d49af[_0xdeb4('0x5d')][0x3][_0xdeb4('0x5e')]:undefined)||[]}];case _0xdeb4('0x6e'):return[{'name':_0xdeb4('0x6f'),'type':_0x3d49af[_0xdeb4('0x70')]||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af[_0xdeb4('0x5d')][0x0]?_0x3d49af[_0xdeb4('0x5d')][0x0][_0xdeb4('0x33')]:undefined)||null,'value':_0x3d49af[_0xdeb4('0x6f')]||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af[_0xdeb4('0x5d')][0x0]?_0x3d49af[_0xdeb4('0x5d')][0x0][_0xdeb4('0x5e')]:undefined)||null},{'name':'attrRefresh','value':_0x3d49af[_0xdeb4('0x71')]||(_0x3d49af[_0xdeb4('0x5d')]&&_0x3d49af[_0xdeb4('0x5d')][0x1]?_0x3d49af['attrs'][0x1][_0xdeb4('0x5e')]:undefined)||0x0}];default:return[];}}catch(_0x857e92){logger[_0xdeb4('0x2c')](_0xdeb4('0x72'),JSON[_0xdeb4('0x73')](_0x857e92));return[];}}exports[_0xdeb4('0x74')]=function(_0x5791f2,_0x146602,_0x599a9a){if(_0x5791f2[_0xdeb4('0x58')]['id']){delete _0x5791f2[_0xdeb4('0x58')]['id'];}return db[_0xdeb4('0x31')][_0xdeb4('0x4c')]({'where':{'id':_0x5791f2['params']['id']}})['then'](handleEntityNotFound(_0x146602,null))[_0xdeb4('0x26')](function(_0x2bfe1c){if(_0x2bfe1c){_0x5791f2[_0xdeb4('0x58')][_0xdeb4('0x75')]=_0x2bfe1c['id'];_0x5791f2['body'][_0xdeb4('0x5d')]=widgetAttributes(_0x5791f2['body']);return db['DashboardItem'][_0xdeb4('0x4e')](_0x5791f2[_0xdeb4('0x58')]);}})['then'](respondWithResult(_0x146602,null))['catch'](handleError(_0x146602,null));};exports['getItems']=function(_0x6f9c52,_0x10b7a2,_0x196147){var _0x475d46={};var _0x59aa81={};var _0x5104ca;var _0x27d008;return db['Dashboard'][_0xdeb4('0x76')]({'where':{'id':_0x6f9c52[_0xdeb4('0x4a')]['id']}})['then'](handleEntityNotFound(_0x10b7a2,null))[_0xdeb4('0x26')](function(_0x20f9c3){if(_0x20f9c3){_0x5104ca=_0x20f9c3;_0x59aa81['model']=_[_0xdeb4('0x38')](db[_0xdeb4('0x77')][_0xdeb4('0x32')]);_0x59aa81[_0xdeb4('0x37')]=_[_0xdeb4('0x38')](_0x6f9c52[_0xdeb4('0x37')]);_0x59aa81[_0xdeb4('0x42')]=_[_0xdeb4('0x3a')](_0x59aa81[_0xdeb4('0x35')],_0x59aa81['query']);_0x475d46[_0xdeb4('0x39')]=_['intersection'](_0x59aa81[_0xdeb4('0x35')],qs['fields'](_0x6f9c52[_0xdeb4('0x37')]['fields']));_0x475d46[_0xdeb4('0x39')]=_0x475d46[_0xdeb4('0x39')][_0xdeb4('0x4b')]?_0x475d46['attributes']:_0x59aa81['model'];_0x475d46['order']=qs[_0xdeb4('0x3f')](_0x6f9c52['query'][_0xdeb4('0x3f')]);_0x475d46['where']=qs[_0xdeb4('0x42')](_[_0xdeb4('0x41')](_0x6f9c52[_0xdeb4('0x37')],_0x59aa81[_0xdeb4('0x42')]));if(_0x6f9c52['query'][_0xdeb4('0x43')]){_0x475d46[_0xdeb4('0x40')]=_[_0xdeb4('0x44')](_0x475d46[_0xdeb4('0x40')],{'$or':_[_0xdeb4('0x36')](_0x475d46['attributes'],function(_0x2e3fe2){var _0x2ed53c={};_0x2ed53c[_0x2e3fe2]={'$like':'%'+_0x6f9c52[_0xdeb4('0x37')]['filter']+'%'};return _0x2ed53c;})});}_0x475d46=_[_0xdeb4('0x44')]({},_0x475d46,_0x6f9c52[_0xdeb4('0x45')]);return _0x5104ca[_0xdeb4('0x78')](_0x475d46);}})[_0xdeb4('0x26')](function(_0x20dc17){if(_0x20dc17){_0x27d008=_0x20dc17[_0xdeb4('0x4b')];if(!_0x6f9c52[_0xdeb4('0x37')]['hasOwnProperty'](_0xdeb4('0x3d'))){_0x475d46[_0xdeb4('0x21')]=qs[_0xdeb4('0x21')](_0x6f9c52[_0xdeb4('0x37')][_0xdeb4('0x21')]);_0x475d46['offset']=qs[_0xdeb4('0x20')](_0x6f9c52[_0xdeb4('0x37')][_0xdeb4('0x20')]);}return _0x5104ca[_0xdeb4('0x78')](_0x475d46);}})[_0xdeb4('0x26')](function(_0x20a6f0){if(_0x20a6f0){return _0x20a6f0?{'count':_0x27d008,'rows':_0x20a6f0}:null;}})[_0xdeb4('0x26')](respondWithResult(_0x10b7a2,null))['catch'](handleError(_0x10b7a2,null));};