21b96a5d903f70fad56f6429d18d6f1c9344f281
[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 _0x011b=['UserProfileSection','find','userProfileId','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','updatedAt','role','iframe','attrUrl','attrs','custom','attrPath','value','clock','attrHourFormat','HH:mm:ss','attrTimezone','attrFontSize','counter','attrMetric','total','attrVoiceQueues','pie-chart','attrSerie1','attrSerie2','attrSerie3','web-report','attrRefresh','widgetAttributes:\x20%s','stringify','DashboardId','DashboardItem','getItems','findOne','nolimit','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./dashboard.socket','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','then','get','CustomDashboards','UserProfileResource','error','stack','name','send','index','map','Dashboard','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','keys','length','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user'];(function(_0x232d8b,_0x20ca01){var _0x242dc0=function(_0x162e7d){while(--_0x162e7d){_0x232d8b['push'](_0x232d8b['shift']());}};_0x242dc0(++_0x20ca01);}(_0x011b,0x123));var _0xb011=function(_0x528385,_0x59eb6e){_0x528385=_0x528385-0x0;var _0x4d7396=_0x011b[_0x528385];return _0x4d7396;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xb011('0x0'));var jsonpatch=require(_0xb011('0x1'));var rp=require(_0xb011('0x2'));var moment=require(_0xb011('0x3'));var BPromise=require(_0xb011('0x4'));var Mustache=require(_0xb011('0x5'));var util=require(_0xb011('0x6'));var path=require(_0xb011('0x7'));var sox=require(_0xb011('0x8'));var csv=require('to-csv');var ejs=require(_0xb011('0x9'));var fs=require('fs');var _=require(_0xb011('0xa'));var squel=require(_0xb011('0xb'));var crypto=require(_0xb011('0xc'));var jsforce=require(_0xb011('0xd'));var deskjs=require(_0xb011('0xe'));var toCsv=require(_0xb011('0xf'));var querystring=require(_0xb011('0x10'));var Papa=require(_0xb011('0x11'));var Redis=require(_0xb011('0x12'));var authService=require(_0xb011('0x13'));var qs=require(_0xb011('0x14'));var as=require(_0xb011('0x15'));var hardwareService=require(_0xb011('0x16'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xb011('0x17'));var db=require(_0xb011('0x18'))['db'];config[_0xb011('0x19')]=_[_0xb011('0x1a')](config[_0xb011('0x19')],{'host':_0xb011('0x1b'),'port':0x18eb});var socket=require(_0xb011('0x1c'))(new Redis(config[_0xb011('0x19')]));require(_0xb011('0x1d'))[_0xb011('0x1e')](socket);function respondWithStatusCode(_0x20b755,_0x16021f){_0x16021f=_0x16021f||0xcc;return function(_0x2ec105){if(_0x2ec105){return _0x20b755[_0xb011('0x1f')](_0x16021f);}return _0x20b755[_0xb011('0x20')](_0x16021f)[_0xb011('0x21')]();};}function respondWithResult(_0x52a296,_0x19b2a5){_0x19b2a5=_0x19b2a5||0xc8;return function(_0x2765d8){if(_0x2765d8){return _0x52a296[_0xb011('0x20')](_0x19b2a5)[_0xb011('0x22')](_0x2765d8);}};}function respondWithFilteredResult(_0x5991b7,_0x234eb5){return function(_0xee80ea){if(_0xee80ea){var _0x242f7b=_0xee80ea[_0xb011('0x23')],_0x3383d4=_0x234eb5[_0xb011('0x24')],_0x4dad07=_0x234eb5[_0xb011('0x24')]+_0x234eb5[_0xb011('0x25')],_0x51de44;if(_0x4dad07>=_0x242f7b){_0x4dad07=_0x242f7b;_0x51de44=0xc8;}else{_0x51de44=0xce;}_0x5991b7[_0xb011('0x20')](_0x51de44);return _0x5991b7[_0xb011('0x26')](_0xb011('0x27'),_0x3383d4+'-'+_0x4dad07+'/'+_0x242f7b)[_0xb011('0x22')](_0xee80ea);}return null;};}function patchUpdates(_0x4b054e){return function(_0x48a9ac){try{jsonpatch[_0xb011('0x28')](_0x48a9ac,_0x4b054e,!![]);}catch(_0x1fe47b){return BPromise[_0xb011('0x29')](_0x1fe47b);}return _0x48a9ac[_0xb011('0x2a')]();};}function saveUpdates(_0x480988,_0x2bd72a){return function(_0x10e3bc){if(_0x10e3bc){return _0x10e3bc[_0xb011('0x2b')](_0x480988)['then'](function(_0xf3650b){return _0xf3650b;});}return null;};}function removeEntity(_0xbca0cb,_0x3e3fef){return function(_0x135d05){if(_0x135d05){return _0x135d05[_0xb011('0x2c')]()[_0xb011('0x2d')](function(){var _0x2193f0=_0x135d05[_0xb011('0x2e')]({'plain':!![]});var _0x3c1afe=_0xb011('0x2f');return db[_0xb011('0x30')][_0xb011('0x2c')]({'where':{'type':_0x3c1afe,'resourceId':_0x2193f0['id']}})[_0xb011('0x2d')](function(){return _0x135d05;});})[_0xb011('0x2d')](function(){_0xbca0cb[_0xb011('0x20')](0xcc)[_0xb011('0x21')]();});}};}function handleEntityNotFound(_0x538e24,_0x45e523){return function(_0x20aeb7){if(!_0x20aeb7){_0x538e24['sendStatus'](0x194);}return _0x20aeb7;};}function handleError(_0x6f07d1,_0x33edcf){_0x33edcf=_0x33edcf||0x1f4;return function(_0x31d168){logger[_0xb011('0x31')](_0x31d168[_0xb011('0x32')]);if(_0x31d168[_0xb011('0x33')]){delete _0x31d168['name'];}_0x6f07d1['status'](_0x33edcf)[_0xb011('0x34')](_0x31d168);};}exports[_0xb011('0x35')]=function(_0x3a6848,_0x5e485a){var _0x2ba8c5={},_0xfca459={},_0x5d69ac={'count':0x0,'rows':[]};var _0x5d1290=_[_0xb011('0x36')](db[_0xb011('0x37')][_0xb011('0x38')],function(_0x2a55e4){return{'name':_0x2a55e4[_0xb011('0x39')],'type':_0x2a55e4[_0xb011('0x3a')][_0xb011('0x3b')]};});_0xfca459[_0xb011('0x3c')]=_['map'](_0x5d1290,_0xb011('0x33'));_0xfca459[_0xb011('0x3d')]=_['keys'](_0x3a6848[_0xb011('0x3d')]);_0xfca459[_0xb011('0x3e')]=_[_0xb011('0x3f')](_0xfca459[_0xb011('0x3c')],_0xfca459['query']);_0x2ba8c5['attributes']=_['intersection'](_0xfca459[_0xb011('0x3c')],qs[_0xb011('0x40')](_0x3a6848[_0xb011('0x3d')][_0xb011('0x40')]));_0x2ba8c5[_0xb011('0x41')]=_0x2ba8c5[_0xb011('0x41')]['length']?_0x2ba8c5['attributes']:_0xfca459[_0xb011('0x3c')];if(!_0x3a6848[_0xb011('0x3d')][_0xb011('0x42')]('nolimit')){_0x2ba8c5['limit']=qs['limit'](_0x3a6848[_0xb011('0x3d')][_0xb011('0x25')]);_0x2ba8c5[_0xb011('0x24')]=qs[_0xb011('0x24')](_0x3a6848['query'][_0xb011('0x24')]);}_0x2ba8c5[_0xb011('0x43')]=qs[_0xb011('0x44')](_0x3a6848[_0xb011('0x3d')]['sort']);_0x2ba8c5[_0xb011('0x45')]=qs['filters'](_[_0xb011('0x46')](_0x3a6848[_0xb011('0x3d')],_0xfca459[_0xb011('0x3e')]),_0x5d1290);if(_0x3a6848['query'][_0xb011('0x47')]){_0x2ba8c5[_0xb011('0x45')]=_[_0xb011('0x48')](_0x2ba8c5['where'],{'$or':_[_0xb011('0x36')](_0x5d1290,function(_0x1991e3){if(_0x1991e3[_0xb011('0x3a')]!==_0xb011('0x49')){var _0x2e81a0={};_0x2e81a0[_0x1991e3['name']]={'$like':'%'+_0x3a6848['query'][_0xb011('0x47')]+'%'};return _0x2e81a0;}})});}_0x2ba8c5=_[_0xb011('0x48')]({},_0x2ba8c5,_0x3a6848[_0xb011('0x4a')]);var _0x150326={'where':_0x2ba8c5[_0xb011('0x45')]};return db['Dashboard']['count'](_0x150326)[_0xb011('0x2d')](function(_0x77ad8){_0x5d69ac[_0xb011('0x23')]=_0x77ad8;if(_0x3a6848['query'][_0xb011('0x4b')]){_0x2ba8c5[_0xb011('0x4c')]=[{'all':!![]}];}return db[_0xb011('0x37')][_0xb011('0x4d')](_0x2ba8c5);})[_0xb011('0x2d')](function(_0x376406){_0x5d69ac[_0xb011('0x4e')]=_0x376406;return _0x5d69ac;})[_0xb011('0x2d')](respondWithFilteredResult(_0x5e485a,_0x2ba8c5))['catch'](handleError(_0x5e485a,null));};exports[_0xb011('0x4f')]=function(_0x4c61aa,_0xd2ca99){var _0x1f63d3={'raw':![],'where':{'id':_0x4c61aa[_0xb011('0x50')]['id']}},_0x306069={};_0x306069[_0xb011('0x3c')]=_[_0xb011('0x51')](db[_0xb011('0x37')][_0xb011('0x38')]);_0x306069[_0xb011('0x3d')]=_[_0xb011('0x51')](_0x4c61aa[_0xb011('0x3d')]);_0x306069['filters']=_[_0xb011('0x3f')](_0x306069[_0xb011('0x3c')],_0x306069[_0xb011('0x3d')]);_0x1f63d3[_0xb011('0x41')]=_[_0xb011('0x3f')](_0x306069['model'],qs['fields'](_0x4c61aa[_0xb011('0x3d')][_0xb011('0x40')]));_0x1f63d3[_0xb011('0x41')]=_0x1f63d3[_0xb011('0x41')][_0xb011('0x52')]?_0x1f63d3[_0xb011('0x41')]:_0x306069[_0xb011('0x3c')];if(_0x4c61aa[_0xb011('0x3d')][_0xb011('0x4b')]){_0x1f63d3['include']=[{'all':!![]}];}_0x1f63d3=_[_0xb011('0x48')]({},_0x1f63d3,_0x4c61aa[_0xb011('0x4a')]);return db[_0xb011('0x37')]['find'](_0x1f63d3)[_0xb011('0x2d')](handleEntityNotFound(_0xd2ca99,null))['then'](respondWithResult(_0xd2ca99,null))['catch'](handleError(_0xd2ca99,null));};exports[_0xb011('0x53')]=function(_0x29f8f4,_0x196970){return db['Dashboard'][_0xb011('0x53')](_0x29f8f4[_0xb011('0x54')],{})[_0xb011('0x2d')](function(_0x5e0903){var _0x51167d=_0x29f8f4['user'][_0xb011('0x2e')]({'plain':!![]});if(!_0x51167d)throw new Error(_0xb011('0x55'));if(_0x51167d['role']===_0xb011('0x56')){var _0x44fd20=_0x5e0903[_0xb011('0x2e')]({'plain':!![]});var _0x7b9cf=_0xb011('0x2f');return db[_0xb011('0x57')][_0xb011('0x58')]({'where':{'name':_0x7b9cf,'userProfileId':_0x51167d[_0xb011('0x59')]},'raw':!![]})[_0xb011('0x2d')](function(_0x38887c){if(_0x38887c&&_0x38887c[_0xb011('0x5a')]===0x0){return db[_0xb011('0x30')][_0xb011('0x53')]({'name':_0x44fd20[_0xb011('0x33')],'resourceId':_0x44fd20['id'],'type':_0x38887c[_0xb011('0x33')],'sectionId':_0x38887c['id']},{})[_0xb011('0x2d')](function(){return _0x5e0903;});}else{return _0x5e0903;}})[_0xb011('0x5b')](function(_0x989426){logger[_0xb011('0x31')](_0xb011('0x5c'),_0x989426);throw _0x989426;});}return _0x5e0903;})[_0xb011('0x2d')](respondWithResult(_0x196970,0xc9))[_0xb011('0x5b')](handleError(_0x196970,null));};exports[_0xb011('0x5d')]=function(_0x2dff12,_0x12d4e6){var _0x1c1708={'where':{'id':_0x2dff12[_0xb011('0x50')]['id']}},_0x5aad3f={};_0x5aad3f[_0xb011('0x3c')]=_['keys'](db[_0xb011('0x37')][_0xb011('0x38')]);_0x1c1708[_0xb011('0x41')]=_['intersection'](_0x5aad3f['model'],qs[_0xb011('0x40')](_0x2dff12[_0xb011('0x3d')]['fields']));_0x1c1708[_0xb011('0x41')]=_0x1c1708['attributes'][_0xb011('0x52')]?_0x1c1708[_0xb011('0x41')]:_0x5aad3f['model'];if(_0x2dff12[_0xb011('0x3d')][_0xb011('0x4b')]){_0x1c1708[_0xb011('0x4c')]=[{'all':!![]}];}_0x1c1708=_['merge']({},_0x1c1708,_0x2dff12['options']);return db[_0xb011('0x37')]['find'](_0x1c1708)[_0xb011('0x2d')](handleEntityNotFound(_0x12d4e6,null))[_0xb011('0x2d')](function(_0x18ea60){if(_0x18ea60){var _0x2f5390=_0x18ea60[_0xb011('0x2e')]({'plain':!![]});_0x2f5390=qs[_0xb011('0x5e')](_0x2f5390,['id',_0xb011('0x5f'),_0xb011('0x60')]);_0x2dff12['body']=_[_0xb011('0x5e')](_0x2dff12[_0xb011('0x54')],['id',_0xb011('0x5f'),_0xb011('0x60')]);return db[_0xb011('0x37')][_0xb011('0x53')](_[_0xb011('0x48')](_0x2f5390,_0x2dff12['body']),{'include':_0x2dff12[_0xb011('0x3d')][_0xb011('0x4b')]?[{'all':!![]}]:undefined})[_0xb011('0x2d')](function(_0x43530c){var _0x3d50be=_0x2dff12['user'][_0xb011('0x2e')]({'plain':!![]});if(!_0x3d50be)throw new Error(_0xb011('0x55'));if(_0x3d50be[_0xb011('0x61')]===_0xb011('0x56')){var _0x315ed3=_0x43530c[_0xb011('0x2e')]({'plain':!![]});var _0x47cafd=_0xb011('0x2f');return db[_0xb011('0x57')][_0xb011('0x58')]({'where':{'name':_0x47cafd,'userProfileId':_0x3d50be[_0xb011('0x59')]},'raw':!![]})[_0xb011('0x2d')](function(_0x51e4de){if(_0x51e4de&&_0x51e4de[_0xb011('0x5a')]===0x0){return db[_0xb011('0x30')][_0xb011('0x53')]({'name':_0x315ed3['name'],'resourceId':_0x315ed3['id'],'type':_0x51e4de[_0xb011('0x33')],'sectionId':_0x51e4de['id']},{})[_0xb011('0x2d')](function(){return _0x43530c;});}else{return _0x43530c;}})[_0xb011('0x5b')](function(_0x5b74a7){logger['error'](_0xb011('0x5c'),_0x5b74a7);throw _0x5b74a7;});}return _0x43530c;});}})[_0xb011('0x2d')](respondWithResult(_0x12d4e6,0xc9))[_0xb011('0x5b')](handleError(_0x12d4e6,null));};exports[_0xb011('0x2b')]=function(_0x27c70d,_0x5eb993){if(_0x27c70d['body']['id']){delete _0x27c70d[_0xb011('0x54')]['id'];}return db[_0xb011('0x37')][_0xb011('0x58')]({'where':{'id':_0x27c70d[_0xb011('0x50')]['id']}})[_0xb011('0x2d')](handleEntityNotFound(_0x5eb993,null))[_0xb011('0x2d')](saveUpdates(_0x27c70d[_0xb011('0x54')],null))[_0xb011('0x2d')](respondWithResult(_0x5eb993,null))['catch'](handleError(_0x5eb993,null));};exports[_0xb011('0x2c')]=function(_0x43fd32,_0x45e256){return db['Dashboard'][_0xb011('0x58')]({'where':{'id':_0x43fd32[_0xb011('0x50')]['id']}})['then'](handleEntityNotFound(_0x45e256,null))[_0xb011('0x2d')](removeEntity(_0x45e256,null))[_0xb011('0x5b')](handleError(_0x45e256,null));};function widgetAttributes(_0x47f75a){try{switch(_0x47f75a[_0xb011('0x3a')]){case _0xb011('0x62'):return[{'name':_0xb011('0x63'),'value':_0x47f75a[_0xb011('0x63')]||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a[_0xb011('0x64')][0x0]?_0x47f75a[_0xb011('0x64')][0x0]['value']:undefined)||'https://'}];case _0xb011('0x65'):return[{'name':_0xb011('0x66'),'value':_0x47f75a[_0xb011('0x66')]||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a['attrs'][0x0]?_0x47f75a[_0xb011('0x64')][0x0][_0xb011('0x67')]:undefined)||''}];case _0xb011('0x68'):return[{'name':_0xb011('0x69'),'value':_0x47f75a[_0xb011('0x69')]||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a['attrs'][0x0]?_0x47f75a['attrs'][0x0][_0xb011('0x67')]:undefined)||_0xb011('0x6a')},{'name':_0xb011('0x6b'),'value':_0x47f75a[_0xb011('0x6b')]||(_0x47f75a['attrs']&&_0x47f75a['attrs'][0x1]?_0x47f75a['attrs'][0x1][_0xb011('0x67')]:undefined)||'0.00'},{'name':_0xb011('0x6c'),'value':_0x47f75a[_0xb011('0x6c')]||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a[_0xb011('0x64')][0x2]?_0x47f75a['attrs'][0x2][_0xb011('0x67')]:undefined)||0xc}];case _0xb011('0x6d'):return[{'name':_0xb011('0x6e'),'value':_0x47f75a['attrMetric']||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a[_0xb011('0x64')][0x0]?_0x47f75a[_0xb011('0x64')][0x0][_0xb011('0x67')]:undefined)||_0xb011('0x6f')},{'name':_0xb011('0x70'),'value':_0x47f75a[_0xb011('0x70')]||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a[_0xb011('0x64')][0x1]?_0x47f75a[_0xb011('0x64')][0x1]['value']:undefined)||[]},{'name':_0xb011('0x6c'),'value':_0x47f75a[_0xb011('0x6c')]||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a['attrs'][0x2]?_0x47f75a[_0xb011('0x64')][0x2][_0xb011('0x67')]:undefined)||0x14}];case'multibar-chart':case _0xb011('0x71'):return[{'name':_0xb011('0x72'),'value':_0x47f75a['attrSerie1']||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a[_0xb011('0x64')][0x0]?_0x47f75a[_0xb011('0x64')][0x0][_0xb011('0x67')]:undefined)||'total'},{'name':_0xb011('0x73'),'value':_0x47f75a[_0xb011('0x73')]||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a['attrs'][0x1]?_0x47f75a[_0xb011('0x64')][0x1][_0xb011('0x67')]:undefined)||null},{'name':'attrSerie3','value':_0x47f75a[_0xb011('0x74')]||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a[_0xb011('0x64')][0x2]?_0x47f75a[_0xb011('0x64')][0x2][_0xb011('0x67')]:undefined)||null},{'name':_0xb011('0x70'),'value':_0x47f75a['attrVoiceQueues']||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a[_0xb011('0x64')][0x3]?_0x47f75a['attrs'][0x3][_0xb011('0x67')]:undefined)||[]}];case _0xb011('0x75'):return[{'name':'attrReport','type':_0x47f75a['reportType']||(_0x47f75a['attrs']&&_0x47f75a[_0xb011('0x64')][0x0]?_0x47f75a[_0xb011('0x64')][0x0]['type']:undefined)||null,'value':_0x47f75a['attrReport']||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a['attrs'][0x0]?_0x47f75a[_0xb011('0x64')][0x0][_0xb011('0x67')]:undefined)||null},{'name':'attrRefresh','value':_0x47f75a[_0xb011('0x76')]||(_0x47f75a[_0xb011('0x64')]&&_0x47f75a['attrs'][0x1]?_0x47f75a[_0xb011('0x64')][0x1][_0xb011('0x67')]:undefined)||0x0}];default:return[];}}catch(_0x2cf409){logger[_0xb011('0x31')](_0xb011('0x77'),JSON[_0xb011('0x78')](_0x2cf409));return[];}}exports['addItem']=function(_0x205ca3,_0x54073b,_0x5dbe68){if(_0x205ca3[_0xb011('0x54')]['id']){delete _0x205ca3[_0xb011('0x54')]['id'];}return db['Dashboard'][_0xb011('0x58')]({'where':{'id':_0x205ca3[_0xb011('0x50')]['id']}})[_0xb011('0x2d')](handleEntityNotFound(_0x54073b,null))['then'](function(_0x5d6cdc){if(_0x5d6cdc){_0x205ca3['body'][_0xb011('0x79')]=_0x5d6cdc['id'];_0x205ca3[_0xb011('0x54')][_0xb011('0x64')]=widgetAttributes(_0x205ca3[_0xb011('0x54')]);return db[_0xb011('0x7a')][_0xb011('0x53')](_0x205ca3[_0xb011('0x54')]);}})['then'](respondWithResult(_0x54073b,null))[_0xb011('0x5b')](handleError(_0x54073b,null));};exports[_0xb011('0x7b')]=function(_0x17eba1,_0x84c1e5,_0x1e0c85){var _0x145d8c={};var _0x37f4e4={};var _0x33bc20;var _0x57d5c8;return db[_0xb011('0x37')][_0xb011('0x7c')]({'where':{'id':_0x17eba1[_0xb011('0x50')]['id']}})[_0xb011('0x2d')](handleEntityNotFound(_0x84c1e5,null))['then'](function(_0x1a08dc){if(_0x1a08dc){_0x33bc20=_0x1a08dc;_0x37f4e4[_0xb011('0x3c')]=_[_0xb011('0x51')](db[_0xb011('0x7a')][_0xb011('0x38')]);_0x37f4e4[_0xb011('0x3d')]=_['keys'](_0x17eba1['query']);_0x37f4e4['filters']=_[_0xb011('0x3f')](_0x37f4e4[_0xb011('0x3c')],_0x37f4e4[_0xb011('0x3d')]);_0x145d8c[_0xb011('0x41')]=_[_0xb011('0x3f')](_0x37f4e4['model'],qs[_0xb011('0x40')](_0x17eba1[_0xb011('0x3d')][_0xb011('0x40')]));_0x145d8c[_0xb011('0x41')]=_0x145d8c[_0xb011('0x41')]['length']?_0x145d8c[_0xb011('0x41')]:_0x37f4e4[_0xb011('0x3c')];_0x145d8c[_0xb011('0x43')]=qs[_0xb011('0x44')](_0x17eba1[_0xb011('0x3d')][_0xb011('0x44')]);_0x145d8c[_0xb011('0x45')]=qs[_0xb011('0x3e')](_[_0xb011('0x46')](_0x17eba1[_0xb011('0x3d')],_0x37f4e4[_0xb011('0x3e')]));if(_0x17eba1['query'][_0xb011('0x47')]){_0x145d8c[_0xb011('0x45')]=_[_0xb011('0x48')](_0x145d8c[_0xb011('0x45')],{'$or':_[_0xb011('0x36')](_0x145d8c[_0xb011('0x41')],function(_0x29eebd){var _0x30beef={};_0x30beef[_0x29eebd]={'$like':'%'+_0x17eba1['query'][_0xb011('0x47')]+'%'};return _0x30beef;})});}_0x145d8c=_[_0xb011('0x48')]({},_0x145d8c,_0x17eba1[_0xb011('0x4a')]);return _0x33bc20[_0xb011('0x7b')](_0x145d8c);}})[_0xb011('0x2d')](function(_0x13f4f8){if(_0x13f4f8){_0x57d5c8=_0x13f4f8[_0xb011('0x52')];if(!_0x17eba1[_0xb011('0x3d')][_0xb011('0x42')](_0xb011('0x7d'))){_0x145d8c[_0xb011('0x25')]=qs[_0xb011('0x25')](_0x17eba1[_0xb011('0x3d')]['limit']);_0x145d8c[_0xb011('0x24')]=qs[_0xb011('0x24')](_0x17eba1[_0xb011('0x3d')][_0xb011('0x24')]);}return _0x33bc20[_0xb011('0x7b')](_0x145d8c);}})['then'](function(_0x24e7ba){if(_0x24e7ba){return _0x24e7ba?{'count':_0x57d5c8,'rows':_0x24e7ba}:null;}})[_0xb011('0x2d')](respondWithResult(_0x84c1e5,null))[_0xb011('0x5b')](handleError(_0x84c1e5,null));};