e3b1f9fcb0fcbe0189437159066c1278ace2f58f
[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 _0xa559=['desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./dashboard.socket','sendStatus','status','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','get','CustomDashboards','UserProfileResource','destroy','end','error','stack','name','send','index','Dashboard','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','length','omit','createdAt','updatedAt','role','userProfileId','iframe','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','attrTimezone','attrFontSize','attrMetric','total','attrVoiceQueues','multibar-chart','pie-chart','attrSerie2','attrSerie3','web-report','attrReport','reportType','attrRefresh','stringify','addItem','DashboardItem','getItems','findOne','html-pdf','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','path','sox','ejs','lodash','squel','crypto','jsforce'];(function(_0x22648e,_0x54bb2b){var _0x458223=function(_0x21dc2d){while(--_0x21dc2d){_0x22648e['push'](_0x22648e['shift']());}};_0x458223(++_0x54bb2b);}(_0xa559,0x1e6));var _0x9a55=function(_0x4bb0ae,_0x545d4e){_0x4bb0ae=_0x4bb0ae-0x0;var _0x15bb59=_0xa559[_0x4bb0ae];return _0x15bb59;};'use strict';var pdf=require(_0x9a55('0x0'));var emlformat=require(_0x9a55('0x1'));var rimraf=require(_0x9a55('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9a55('0x3'));var rp=require('request-promise');var moment=require(_0x9a55('0x4'));var BPromise=require(_0x9a55('0x5'));var Mustache=require(_0x9a55('0x6'));var util=require('util');var path=require(_0x9a55('0x7'));var sox=require(_0x9a55('0x8'));var csv=require('to-csv');var ejs=require(_0x9a55('0x9'));var fs=require('fs');var _=require(_0x9a55('0xa'));var squel=require(_0x9a55('0xb'));var crypto=require(_0x9a55('0xc'));var jsforce=require(_0x9a55('0xd'));var deskjs=require(_0x9a55('0xe'));var toCsv=require(_0x9a55('0xf'));var querystring=require(_0x9a55('0x10'));var Papa=require(_0x9a55('0x11'));var Redis=require(_0x9a55('0x12'));var authService=require(_0x9a55('0x13'));var qs=require(_0x9a55('0x14'));var as=require(_0x9a55('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9a55('0x16'))(_0x9a55('0x17'));var utils=require('../../config/utils');var config=require(_0x9a55('0x18'));var licenseUtil=require(_0x9a55('0x19'));var db=require(_0x9a55('0x1a'))['db'];config[_0x9a55('0x1b')]=_[_0x9a55('0x1c')](config[_0x9a55('0x1b')],{'host':_0x9a55('0x1d'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x9a55('0x1b')]));require(_0x9a55('0x1e'))['register'](socket);function respondWithStatusCode(_0x470fd,_0x72517e){_0x72517e=_0x72517e||0xcc;return function(_0x4193f5){if(_0x4193f5){return _0x470fd[_0x9a55('0x1f')](_0x72517e);}return _0x470fd[_0x9a55('0x20')](_0x72517e)['end']();};}function respondWithResult(_0x4e204a,_0x417963){_0x417963=_0x417963||0xc8;return function(_0x4a731d){if(_0x4a731d){return _0x4e204a[_0x9a55('0x20')](_0x417963)['json'](_0x4a731d);}};}function respondWithFilteredResult(_0x4880af,_0x59870d){return function(_0x312b1d){if(_0x312b1d){var _0x550cff=_0x312b1d[_0x9a55('0x21')],_0x64baa5=_0x59870d[_0x9a55('0x22')],_0x413322=_0x59870d['offset']+_0x59870d[_0x9a55('0x23')],_0x5c2942;if(_0x413322>=_0x550cff){_0x413322=_0x550cff;_0x5c2942=0xc8;}else{_0x5c2942=0xce;}_0x4880af[_0x9a55('0x20')](_0x5c2942);return _0x4880af[_0x9a55('0x24')](_0x9a55('0x25'),_0x64baa5+'-'+_0x413322+'/'+_0x550cff)[_0x9a55('0x26')](_0x312b1d);}return null;};}function patchUpdates(_0x2ae51c){return function(_0x2f52d3){try{jsonpatch[_0x9a55('0x27')](_0x2f52d3,_0x2ae51c,!![]);}catch(_0x573181){return BPromise[_0x9a55('0x28')](_0x573181);}return _0x2f52d3[_0x9a55('0x29')]();};}function saveUpdates(_0x285845,_0x5d0eea){return function(_0x36430d){if(_0x36430d){return _0x36430d[_0x9a55('0x2a')](_0x285845)['then'](function(_0x268be7){return _0x268be7;});}return null;};}function removeEntity(_0x48176f,_0x347859){return function(_0xb62baa){if(_0xb62baa){return _0xb62baa['destroy']()[_0x9a55('0x2b')](function(){var _0x38c63c=_0xb62baa[_0x9a55('0x2c')]({'plain':!![]});var _0x57cda6=_0x9a55('0x2d');return db[_0x9a55('0x2e')][_0x9a55('0x2f')]({'where':{'type':_0x57cda6,'resourceId':_0x38c63c['id']}})[_0x9a55('0x2b')](function(){return _0xb62baa;});})[_0x9a55('0x2b')](function(){_0x48176f['status'](0xcc)[_0x9a55('0x30')]();});}};}function handleEntityNotFound(_0x584f15,_0x2da2f5){return function(_0x131268){if(!_0x131268){_0x584f15['sendStatus'](0x194);}return _0x131268;};}function handleError(_0x57b4c7,_0x2744cc){_0x2744cc=_0x2744cc||0x1f4;return function(_0xd311ef){logger[_0x9a55('0x31')](_0xd311ef[_0x9a55('0x32')]);if(_0xd311ef[_0x9a55('0x33')]){delete _0xd311ef[_0x9a55('0x33')];}_0x57b4c7['status'](_0x2744cc)[_0x9a55('0x34')](_0xd311ef);};}exports[_0x9a55('0x35')]=function(_0x1fc61c,_0x214c7a){var _0x5588e5={},_0x29a9a7={},_0x5c4775={'count':0x0,'rows':[]};var _0x6d5fb3=_['map'](db[_0x9a55('0x36')][_0x9a55('0x37')],function(_0x319d98){return{'name':_0x319d98[_0x9a55('0x38')],'type':_0x319d98[_0x9a55('0x39')][_0x9a55('0x3a')]};});_0x29a9a7[_0x9a55('0x3b')]=_[_0x9a55('0x3c')](_0x6d5fb3,_0x9a55('0x33'));_0x29a9a7[_0x9a55('0x3d')]=_[_0x9a55('0x3e')](_0x1fc61c[_0x9a55('0x3d')]);_0x29a9a7[_0x9a55('0x3f')]=_[_0x9a55('0x40')](_0x29a9a7['model'],_0x29a9a7[_0x9a55('0x3d')]);_0x5588e5[_0x9a55('0x41')]=_[_0x9a55('0x40')](_0x29a9a7[_0x9a55('0x3b')],qs['fields'](_0x1fc61c[_0x9a55('0x3d')][_0x9a55('0x42')]));_0x5588e5[_0x9a55('0x41')]=_0x5588e5[_0x9a55('0x41')]['length']?_0x5588e5[_0x9a55('0x41')]:_0x29a9a7[_0x9a55('0x3b')];if(!_0x1fc61c['query'][_0x9a55('0x43')](_0x9a55('0x44'))){_0x5588e5[_0x9a55('0x23')]=qs[_0x9a55('0x23')](_0x1fc61c[_0x9a55('0x3d')][_0x9a55('0x23')]);_0x5588e5[_0x9a55('0x22')]=qs[_0x9a55('0x22')](_0x1fc61c[_0x9a55('0x3d')][_0x9a55('0x22')]);}_0x5588e5[_0x9a55('0x45')]=qs[_0x9a55('0x46')](_0x1fc61c[_0x9a55('0x3d')][_0x9a55('0x46')]);_0x5588e5[_0x9a55('0x47')]=qs[_0x9a55('0x3f')](_[_0x9a55('0x48')](_0x1fc61c['query'],_0x29a9a7[_0x9a55('0x3f')]),_0x6d5fb3);if(_0x1fc61c[_0x9a55('0x3d')]['filter']){_0x5588e5[_0x9a55('0x47')]=_[_0x9a55('0x49')](_0x5588e5[_0x9a55('0x47')],{'$or':_[_0x9a55('0x3c')](_0x6d5fb3,function(_0x4c8928){if(_0x4c8928[_0x9a55('0x39')]!==_0x9a55('0x4a')){var _0x12d2f2={};_0x12d2f2[_0x4c8928[_0x9a55('0x33')]]={'$like':'%'+_0x1fc61c[_0x9a55('0x3d')][_0x9a55('0x4b')]+'%'};return _0x12d2f2;}})});}_0x5588e5=_[_0x9a55('0x49')]({},_0x5588e5,_0x1fc61c[_0x9a55('0x4c')]);var _0x37de75={'where':_0x5588e5[_0x9a55('0x47')]};return db['Dashboard'][_0x9a55('0x21')](_0x37de75)['then'](function(_0x366817){_0x5c4775['count']=_0x366817;if(_0x1fc61c[_0x9a55('0x3d')][_0x9a55('0x4d')]){_0x5588e5[_0x9a55('0x4e')]=[{'all':!![]}];}return db[_0x9a55('0x36')][_0x9a55('0x4f')](_0x5588e5);})['then'](function(_0x174c13){_0x5c4775[_0x9a55('0x50')]=_0x174c13;return _0x5c4775;})[_0x9a55('0x2b')](respondWithFilteredResult(_0x214c7a,_0x5588e5))[_0x9a55('0x51')](handleError(_0x214c7a,null));};exports[_0x9a55('0x52')]=function(_0x20394e,_0xfe1619){var _0x394dda={'raw':![],'where':{'id':_0x20394e[_0x9a55('0x53')]['id']}},_0xc0259c={};_0xc0259c[_0x9a55('0x3b')]=_[_0x9a55('0x3e')](db['Dashboard']['rawAttributes']);_0xc0259c[_0x9a55('0x3d')]=_[_0x9a55('0x3e')](_0x20394e[_0x9a55('0x3d')]);_0xc0259c[_0x9a55('0x3f')]=_[_0x9a55('0x40')](_0xc0259c[_0x9a55('0x3b')],_0xc0259c[_0x9a55('0x3d')]);_0x394dda['attributes']=_[_0x9a55('0x40')](_0xc0259c[_0x9a55('0x3b')],qs['fields'](_0x20394e[_0x9a55('0x3d')][_0x9a55('0x42')]));_0x394dda[_0x9a55('0x41')]=_0x394dda['attributes']['length']?_0x394dda[_0x9a55('0x41')]:_0xc0259c['model'];if(_0x20394e[_0x9a55('0x3d')][_0x9a55('0x4d')]){_0x394dda[_0x9a55('0x4e')]=[{'all':!![]}];}_0x394dda=_[_0x9a55('0x49')]({},_0x394dda,_0x20394e[_0x9a55('0x4c')]);return db[_0x9a55('0x36')][_0x9a55('0x54')](_0x394dda)[_0x9a55('0x2b')](handleEntityNotFound(_0xfe1619,null))['then'](respondWithResult(_0xfe1619,null))['catch'](handleError(_0xfe1619,null));};exports[_0x9a55('0x55')]=function(_0x3a9f10,_0x5c1759){return db[_0x9a55('0x36')]['create'](_0x3a9f10[_0x9a55('0x56')],{})[_0x9a55('0x2b')](function(_0x5e9acf){var _0x5b5026=_0x3a9f10['user'][_0x9a55('0x2c')]({'plain':!![]});if(!_0x5b5026)throw new Error(_0x9a55('0x57'));if(_0x5b5026['role']===_0x9a55('0x58')){var _0x1f0d76=_0x5e9acf['get']({'plain':!![]});var _0x4cae88=_0x9a55('0x2d');return db['UserProfileSection'][_0x9a55('0x54')]({'where':{'name':_0x4cae88,'userProfileId':_0x5b5026['userProfileId']},'raw':!![]})[_0x9a55('0x2b')](function(_0x5e93f0){if(_0x5e93f0&&_0x5e93f0[_0x9a55('0x59')]===0x0){return db[_0x9a55('0x2e')][_0x9a55('0x55')]({'name':_0x1f0d76[_0x9a55('0x33')],'resourceId':_0x1f0d76['id'],'type':_0x5e93f0['name'],'sectionId':_0x5e93f0['id']},{})['then'](function(){return _0x5e9acf;});}else{return _0x5e9acf;}})[_0x9a55('0x51')](function(_0x5589e0){logger['error'](_0x9a55('0x5a'),_0x5589e0);throw _0x5589e0;});}return _0x5e9acf;})[_0x9a55('0x2b')](respondWithResult(_0x5c1759,0xc9))[_0x9a55('0x51')](handleError(_0x5c1759,null));};exports[_0x9a55('0x5b')]=function(_0x261fc0,_0x2e9838){var _0x55dc00={'where':{'id':_0x261fc0[_0x9a55('0x53')]['id']}},_0x36afe3={};_0x36afe3[_0x9a55('0x3b')]=_[_0x9a55('0x3e')](db[_0x9a55('0x36')][_0x9a55('0x37')]);_0x55dc00[_0x9a55('0x41')]=_['intersection'](_0x36afe3[_0x9a55('0x3b')],qs['fields'](_0x261fc0['query'][_0x9a55('0x42')]));_0x55dc00['attributes']=_0x55dc00[_0x9a55('0x41')][_0x9a55('0x5c')]?_0x55dc00[_0x9a55('0x41')]:_0x36afe3[_0x9a55('0x3b')];if(_0x261fc0[_0x9a55('0x3d')]['includeAll']){_0x55dc00['include']=[{'all':!![]}];}_0x55dc00=_[_0x9a55('0x49')]({},_0x55dc00,_0x261fc0[_0x9a55('0x4c')]);return db[_0x9a55('0x36')][_0x9a55('0x54')](_0x55dc00)[_0x9a55('0x2b')](handleEntityNotFound(_0x2e9838,null))[_0x9a55('0x2b')](function(_0x23f2b8){if(_0x23f2b8){var _0x5240aa=_0x23f2b8['get']({'plain':!![]});_0x5240aa=qs[_0x9a55('0x5d')](_0x5240aa,['id',_0x9a55('0x5e'),_0x9a55('0x5f')]);_0x261fc0[_0x9a55('0x56')]=_['omit'](_0x261fc0[_0x9a55('0x56')],['id',_0x9a55('0x5e'),_0x9a55('0x5f')]);return db[_0x9a55('0x36')][_0x9a55('0x55')](_[_0x9a55('0x49')](_0x5240aa,_0x261fc0[_0x9a55('0x56')]),{'include':_0x261fc0[_0x9a55('0x3d')]['includeAll']?[{'all':!![]}]:undefined})[_0x9a55('0x2b')](function(_0x3b4706){var _0x171563=_0x261fc0['user'][_0x9a55('0x2c')]({'plain':!![]});if(!_0x171563)throw new Error(_0x9a55('0x57'));if(_0x171563[_0x9a55('0x60')]==='user'){var _0x5a7d09=_0x3b4706['get']({'plain':!![]});var _0x58733e=_0x9a55('0x2d');return db['UserProfileSection'][_0x9a55('0x54')]({'where':{'name':_0x58733e,'userProfileId':_0x171563[_0x9a55('0x61')]},'raw':!![]})['then'](function(_0x293b81){if(_0x293b81&&_0x293b81[_0x9a55('0x59')]===0x0){return db['UserProfileResource'][_0x9a55('0x55')]({'name':_0x5a7d09['name'],'resourceId':_0x5a7d09['id'],'type':_0x293b81[_0x9a55('0x33')],'sectionId':_0x293b81['id']},{})[_0x9a55('0x2b')](function(){return _0x3b4706;});}else{return _0x3b4706;}})['catch'](function(_0x1dda1b){logger[_0x9a55('0x31')](_0x9a55('0x5a'),_0x1dda1b);throw _0x1dda1b;});}return _0x3b4706;});}})[_0x9a55('0x2b')](respondWithResult(_0x2e9838,0xc9))[_0x9a55('0x51')](handleError(_0x2e9838,null));};exports['update']=function(_0x5436a8,_0x304388){if(_0x5436a8[_0x9a55('0x56')]['id']){delete _0x5436a8[_0x9a55('0x56')]['id'];}return db['Dashboard'][_0x9a55('0x54')]({'where':{'id':_0x5436a8['params']['id']}})[_0x9a55('0x2b')](handleEntityNotFound(_0x304388,null))[_0x9a55('0x2b')](saveUpdates(_0x5436a8['body'],null))[_0x9a55('0x2b')](respondWithResult(_0x304388,null))[_0x9a55('0x51')](handleError(_0x304388,null));};exports[_0x9a55('0x2f')]=function(_0x24984e,_0x1bcc97){return db[_0x9a55('0x36')][_0x9a55('0x54')]({'where':{'id':_0x24984e[_0x9a55('0x53')]['id']}})[_0x9a55('0x2b')](handleEntityNotFound(_0x1bcc97,null))[_0x9a55('0x2b')](removeEntity(_0x1bcc97,null))['catch'](handleError(_0x1bcc97,null));};function widgetAttributes(_0x3413da){try{switch(_0x3413da[_0x9a55('0x39')]){case _0x9a55('0x62'):return[{'name':_0x9a55('0x63'),'value':_0x3413da[_0x9a55('0x63')]||(_0x3413da[_0x9a55('0x64')]&&_0x3413da['attrs'][0x0]?_0x3413da[_0x9a55('0x64')][0x0][_0x9a55('0x65')]:undefined)||_0x9a55('0x66')}];case _0x9a55('0x67'):return[{'name':_0x9a55('0x68'),'value':_0x3413da[_0x9a55('0x68')]||(_0x3413da['attrs']&&_0x3413da[_0x9a55('0x64')][0x0]?_0x3413da[_0x9a55('0x64')][0x0]['value']:undefined)||''}];case _0x9a55('0x69'):return[{'name':_0x9a55('0x6a'),'value':_0x3413da[_0x9a55('0x6a')]||(_0x3413da[_0x9a55('0x64')]&&_0x3413da[_0x9a55('0x64')][0x0]?_0x3413da[_0x9a55('0x64')][0x0][_0x9a55('0x65')]:undefined)||'HH:mm:ss'},{'name':_0x9a55('0x6b'),'value':_0x3413da[_0x9a55('0x6b')]||(_0x3413da[_0x9a55('0x64')]&&_0x3413da['attrs'][0x1]?_0x3413da[_0x9a55('0x64')][0x1][_0x9a55('0x65')]:undefined)||'0.00'},{'name':_0x9a55('0x6c'),'value':_0x3413da[_0x9a55('0x6c')]||(_0x3413da[_0x9a55('0x64')]&&_0x3413da['attrs'][0x2]?_0x3413da[_0x9a55('0x64')][0x2][_0x9a55('0x65')]:undefined)||0xc}];case'counter':return[{'name':_0x9a55('0x6d'),'value':_0x3413da['attrMetric']||(_0x3413da[_0x9a55('0x64')]&&_0x3413da[_0x9a55('0x64')][0x0]?_0x3413da[_0x9a55('0x64')][0x0]['value']:undefined)||_0x9a55('0x6e')},{'name':_0x9a55('0x6f'),'value':_0x3413da[_0x9a55('0x6f')]||(_0x3413da[_0x9a55('0x64')]&&_0x3413da['attrs'][0x1]?_0x3413da[_0x9a55('0x64')][0x1][_0x9a55('0x65')]:undefined)||[]},{'name':_0x9a55('0x6c'),'value':_0x3413da[_0x9a55('0x6c')]||(_0x3413da[_0x9a55('0x64')]&&_0x3413da[_0x9a55('0x64')][0x2]?_0x3413da[_0x9a55('0x64')][0x2][_0x9a55('0x65')]:undefined)||0x14}];case _0x9a55('0x70'):case _0x9a55('0x71'):return[{'name':'attrSerie1','value':_0x3413da['attrSerie1']||(_0x3413da[_0x9a55('0x64')]&&_0x3413da[_0x9a55('0x64')][0x0]?_0x3413da[_0x9a55('0x64')][0x0][_0x9a55('0x65')]:undefined)||_0x9a55('0x6e')},{'name':'attrSerie2','value':_0x3413da[_0x9a55('0x72')]||(_0x3413da[_0x9a55('0x64')]&&_0x3413da[_0x9a55('0x64')][0x1]?_0x3413da['attrs'][0x1]['value']:undefined)||null},{'name':'attrSerie3','value':_0x3413da[_0x9a55('0x73')]||(_0x3413da[_0x9a55('0x64')]&&_0x3413da[_0x9a55('0x64')][0x2]?_0x3413da['attrs'][0x2][_0x9a55('0x65')]:undefined)||null},{'name':_0x9a55('0x6f'),'value':_0x3413da[_0x9a55('0x6f')]||(_0x3413da[_0x9a55('0x64')]&&_0x3413da['attrs'][0x3]?_0x3413da[_0x9a55('0x64')][0x3][_0x9a55('0x65')]:undefined)||[]}];case _0x9a55('0x74'):return[{'name':_0x9a55('0x75'),'type':_0x3413da[_0x9a55('0x76')]||(_0x3413da[_0x9a55('0x64')]&&_0x3413da[_0x9a55('0x64')][0x0]?_0x3413da[_0x9a55('0x64')][0x0][_0x9a55('0x39')]:undefined)||null,'value':_0x3413da[_0x9a55('0x75')]||(_0x3413da['attrs']&&_0x3413da[_0x9a55('0x64')][0x0]?_0x3413da['attrs'][0x0][_0x9a55('0x65')]:undefined)||null},{'name':'attrRefresh','value':_0x3413da[_0x9a55('0x77')]||(_0x3413da[_0x9a55('0x64')]&&_0x3413da[_0x9a55('0x64')][0x1]?_0x3413da[_0x9a55('0x64')][0x1][_0x9a55('0x65')]:undefined)||0x0}];default:return[];}}catch(_0x5e5693){logger[_0x9a55('0x31')]('widgetAttributes:\x20%s',JSON[_0x9a55('0x78')](_0x5e5693));return[];}}exports[_0x9a55('0x79')]=function(_0x5b4f08,_0x134905,_0x997162){if(_0x5b4f08[_0x9a55('0x56')]['id']){delete _0x5b4f08[_0x9a55('0x56')]['id'];}return db[_0x9a55('0x36')]['find']({'where':{'id':_0x5b4f08[_0x9a55('0x53')]['id']}})[_0x9a55('0x2b')](handleEntityNotFound(_0x134905,null))[_0x9a55('0x2b')](function(_0x580238){if(_0x580238){_0x5b4f08[_0x9a55('0x56')]['DashboardId']=_0x580238['id'];_0x5b4f08['body'][_0x9a55('0x64')]=widgetAttributes(_0x5b4f08[_0x9a55('0x56')]);return db[_0x9a55('0x7a')][_0x9a55('0x55')](_0x5b4f08[_0x9a55('0x56')]);}})['then'](respondWithResult(_0x134905,null))[_0x9a55('0x51')](handleError(_0x134905,null));};exports[_0x9a55('0x7b')]=function(_0x58ecaf,_0x191330,_0x577db2){var _0x5ea794={};var _0x2f7811={};var _0x52a46a;var _0x50ce17;return db['Dashboard'][_0x9a55('0x7c')]({'where':{'id':_0x58ecaf[_0x9a55('0x53')]['id']}})[_0x9a55('0x2b')](handleEntityNotFound(_0x191330,null))[_0x9a55('0x2b')](function(_0x1ca990){if(_0x1ca990){_0x52a46a=_0x1ca990;_0x2f7811[_0x9a55('0x3b')]=_[_0x9a55('0x3e')](db[_0x9a55('0x7a')]['rawAttributes']);_0x2f7811[_0x9a55('0x3d')]=_[_0x9a55('0x3e')](_0x58ecaf[_0x9a55('0x3d')]);_0x2f7811[_0x9a55('0x3f')]=_['intersection'](_0x2f7811['model'],_0x2f7811[_0x9a55('0x3d')]);_0x5ea794[_0x9a55('0x41')]=_[_0x9a55('0x40')](_0x2f7811[_0x9a55('0x3b')],qs[_0x9a55('0x42')](_0x58ecaf[_0x9a55('0x3d')][_0x9a55('0x42')]));_0x5ea794[_0x9a55('0x41')]=_0x5ea794[_0x9a55('0x41')]['length']?_0x5ea794['attributes']:_0x2f7811[_0x9a55('0x3b')];_0x5ea794[_0x9a55('0x45')]=qs['sort'](_0x58ecaf[_0x9a55('0x3d')][_0x9a55('0x46')]);_0x5ea794['where']=qs[_0x9a55('0x3f')](_[_0x9a55('0x48')](_0x58ecaf[_0x9a55('0x3d')],_0x2f7811[_0x9a55('0x3f')]));if(_0x58ecaf[_0x9a55('0x3d')][_0x9a55('0x4b')]){_0x5ea794[_0x9a55('0x47')]=_[_0x9a55('0x49')](_0x5ea794['where'],{'$or':_[_0x9a55('0x3c')](_0x5ea794[_0x9a55('0x41')],function(_0x5edb4f){var _0x12693d={};_0x12693d[_0x5edb4f]={'$like':'%'+_0x58ecaf[_0x9a55('0x3d')]['filter']+'%'};return _0x12693d;})});}_0x5ea794=_[_0x9a55('0x49')]({},_0x5ea794,_0x58ecaf['options']);return _0x52a46a['getItems'](_0x5ea794);}})[_0x9a55('0x2b')](function(_0x55287a){if(_0x55287a){_0x50ce17=_0x55287a['length'];if(!_0x58ecaf['query']['hasOwnProperty'](_0x9a55('0x44'))){_0x5ea794[_0x9a55('0x23')]=qs[_0x9a55('0x23')](_0x58ecaf[_0x9a55('0x3d')][_0x9a55('0x23')]);_0x5ea794[_0x9a55('0x22')]=qs[_0x9a55('0x22')](_0x58ecaf[_0x9a55('0x3d')][_0x9a55('0x22')]);}return _0x52a46a[_0x9a55('0x7b')](_0x5ea794);}})[_0x9a55('0x2b')](function(_0x10869d){if(_0x10869d){return _0x10869d?{'count':_0x50ce17,'rows':_0x10869d}:null;}})[_0x9a55('0x2b')](respondWithResult(_0x191330,null))['catch'](handleError(_0x191330,null));};