2932649ec0e91598ac5033aba5e1e492270ed6d6
[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 _0x2be0=['find','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','params','includeAll','createdAt','updatedAt','UserProfileSection','iframe','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','multibar-chart','pie-chart','attrSerie1','attrSerie2','attrSerie3','reportType','attrReport','attrRefresh','addItem','DashboardId','DashboardItem','findOne','pick','getItems','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','./dashboard.socket','register','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','then','get','end','error','stack','name','send','rawAttributes','fieldName','type','key','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','VIRTUAL','filter','merge','options','include','rows','catch','show','keys','Dashboard','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','CustomDashboards'];(function(_0x138adb,_0x193fee){var _0x1b27f2=function(_0x5e97a2){while(--_0x5e97a2){_0x138adb['push'](_0x138adb['shift']());}};_0x1b27f2(++_0x193fee);}(_0x2be0,0x128));var _0x02be=function(_0x543084,_0x4337f5){_0x543084=_0x543084-0x0;var _0x306a57=_0x2be0[_0x543084];return _0x306a57;};'use strict';var pdf=require(_0x02be('0x0'));var emlformat=require(_0x02be('0x1'));var rimraf=require(_0x02be('0x2'));var zipdir=require(_0x02be('0x3'));var jsonpatch=require(_0x02be('0x4'));var rp=require('request-promise');var moment=require(_0x02be('0x5'));var BPromise=require(_0x02be('0x6'));var Mustache=require(_0x02be('0x7'));var util=require('util');var path=require(_0x02be('0x8'));var sox=require(_0x02be('0x9'));var csv=require(_0x02be('0xa'));var ejs=require(_0x02be('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x02be('0xc'));var crypto=require(_0x02be('0xd'));var jsforce=require(_0x02be('0xe'));var deskjs=require(_0x02be('0xf'));var toCsv=require(_0x02be('0xa'));var querystring=require(_0x02be('0x10'));var Papa=require(_0x02be('0x11'));var Redis=require(_0x02be('0x12'));var authService=require(_0x02be('0x13'));var qs=require(_0x02be('0x14'));var as=require(_0x02be('0x15'));var hardwareService=require(_0x02be('0x16'));var logger=require(_0x02be('0x17'))(_0x02be('0x18'));var utils=require('../../config/utils');var config=require(_0x02be('0x19'));var db=require(_0x02be('0x1a'))['db'];config[_0x02be('0x1b')]=_[_0x02be('0x1c')](config['redis'],{'host':_0x02be('0x1d'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x02be('0x1b')]));require(_0x02be('0x1e'))[_0x02be('0x1f')](socket);function respondWithStatusCode(_0x3179b3,_0x36ff34){_0x36ff34=_0x36ff34||0xcc;return function(_0x27d450){if(_0x27d450){return _0x3179b3[_0x02be('0x20')](_0x36ff34);}return _0x3179b3[_0x02be('0x21')](_0x36ff34)['end']();};}function respondWithResult(_0x3aa477,_0x242dac){_0x242dac=_0x242dac||0xc8;return function(_0x5ed522){if(_0x5ed522){return _0x3aa477['status'](_0x242dac)[_0x02be('0x22')](_0x5ed522);}};}function respondWithFilteredResult(_0x4888f1,_0x578d38){return function(_0x410584){if(_0x410584){var _0x492f93=_0x410584[_0x02be('0x23')],_0x2afd83=_0x578d38[_0x02be('0x24')],_0x1eadc5=_0x578d38[_0x02be('0x24')]+_0x578d38[_0x02be('0x25')],_0x172a40;if(_0x1eadc5>=_0x492f93){_0x1eadc5=_0x492f93;_0x172a40=0xc8;}else{_0x172a40=0xce;}_0x4888f1['status'](_0x172a40);return _0x4888f1[_0x02be('0x26')](_0x02be('0x27'),_0x2afd83+'-'+_0x1eadc5+'/'+_0x492f93)[_0x02be('0x22')](_0x410584);}return null;};}function patchUpdates(_0xb0d70a){return function(_0x423d1d){try{jsonpatch[_0x02be('0x28')](_0x423d1d,_0xb0d70a,!![]);}catch(_0x114b79){return BPromise[_0x02be('0x29')](_0x114b79);}return _0x423d1d[_0x02be('0x2a')]();};}function saveUpdates(_0x26a8ec,_0x2357ab){return function(_0x55ffc9){if(_0x55ffc9){return _0x55ffc9[_0x02be('0x2b')](_0x26a8ec)['then'](function(_0x2b73ae){return _0x2b73ae;});}return null;};}function removeEntity(_0x11ea4e,_0x7f4b6e){return function(_0x3c644b){if(_0x3c644b){return _0x3c644b[_0x02be('0x2c')]()[_0x02be('0x2d')](function(){var _0x48c6d2=_0x3c644b[_0x02be('0x2e')]({'plain':!![]});var _0x301348='CustomDashboards';return db['UserProfileResource'][_0x02be('0x2c')]({'where':{'type':_0x301348,'resourceId':_0x48c6d2['id']}})[_0x02be('0x2d')](function(){return _0x3c644b;});})[_0x02be('0x2d')](function(){_0x11ea4e[_0x02be('0x21')](0xcc)[_0x02be('0x2f')]();});}};}function handleEntityNotFound(_0x4f3650,_0x462098){return function(_0x9d8baa){if(!_0x9d8baa){_0x4f3650[_0x02be('0x20')](0x194);}return _0x9d8baa;};}function handleError(_0x2c6ba4,_0x3a59e0){_0x3a59e0=_0x3a59e0||0x1f4;return function(_0x251ee8){logger[_0x02be('0x30')](_0x251ee8[_0x02be('0x31')]);if(_0x251ee8[_0x02be('0x32')]){delete _0x251ee8['name'];}_0x2c6ba4[_0x02be('0x21')](_0x3a59e0)[_0x02be('0x33')](_0x251ee8);};}exports['index']=function(_0x261655,_0x5117ed){var _0x10c891={},_0x5122d1={},_0x4841eb={'count':0x0,'rows':[]};var _0x142856=_['map'](db['Dashboard'][_0x02be('0x34')],function(_0x19c215){return{'name':_0x19c215[_0x02be('0x35')],'type':_0x19c215[_0x02be('0x36')][_0x02be('0x37')]};});_0x5122d1[_0x02be('0x38')]=_[_0x02be('0x39')](_0x142856,'name');_0x5122d1[_0x02be('0x3a')]=_['keys'](_0x261655[_0x02be('0x3a')]);_0x5122d1[_0x02be('0x3b')]=_[_0x02be('0x3c')](_0x5122d1[_0x02be('0x38')],_0x5122d1['query']);_0x10c891[_0x02be('0x3d')]=_[_0x02be('0x3c')](_0x5122d1[_0x02be('0x38')],qs['fields'](_0x261655[_0x02be('0x3a')][_0x02be('0x3e')]));_0x10c891['attributes']=_0x10c891[_0x02be('0x3d')][_0x02be('0x3f')]?_0x10c891[_0x02be('0x3d')]:_0x5122d1[_0x02be('0x38')];if(!_0x261655[_0x02be('0x3a')][_0x02be('0x40')](_0x02be('0x41'))){_0x10c891[_0x02be('0x25')]=qs[_0x02be('0x25')](_0x261655[_0x02be('0x3a')][_0x02be('0x25')]);_0x10c891['offset']=qs[_0x02be('0x24')](_0x261655[_0x02be('0x3a')]['offset']);}_0x10c891[_0x02be('0x42')]=qs[_0x02be('0x43')](_0x261655[_0x02be('0x3a')][_0x02be('0x43')]);_0x10c891[_0x02be('0x44')]=qs[_0x02be('0x3b')](_['pick'](_0x261655[_0x02be('0x3a')],_0x5122d1['filters']));if(_0x261655[_0x02be('0x3a')]['filter']){_0x10c891[_0x02be('0x44')]=_['merge'](_0x10c891[_0x02be('0x44')],{'$or':_[_0x02be('0x39')](_0x142856,function(_0x14b9e0){if(_0x14b9e0[_0x02be('0x36')]!==_0x02be('0x45')){var _0x28eebc={};_0x28eebc[_0x14b9e0[_0x02be('0x32')]]={'$like':'%'+_0x261655[_0x02be('0x3a')][_0x02be('0x46')]+'%'};return _0x28eebc;}})});}_0x10c891=_[_0x02be('0x47')]({},_0x10c891,_0x261655[_0x02be('0x48')]);var _0x1541ef={'where':_0x10c891[_0x02be('0x44')]};return db['Dashboard'][_0x02be('0x23')](_0x1541ef)[_0x02be('0x2d')](function(_0x577b0d){_0x4841eb[_0x02be('0x23')]=_0x577b0d;if(_0x261655[_0x02be('0x3a')]['includeAll']){_0x10c891[_0x02be('0x49')]=[{'all':!![]}];}return db['Dashboard']['findAll'](_0x10c891);})[_0x02be('0x2d')](function(_0x322f4e){_0x4841eb[_0x02be('0x4a')]=_0x322f4e;return _0x4841eb;})[_0x02be('0x2d')](respondWithFilteredResult(_0x5117ed,_0x10c891))[_0x02be('0x4b')](handleError(_0x5117ed,null));};exports[_0x02be('0x4c')]=function(_0x581713,_0x9828b3){var _0x25b087={'raw':![],'where':{'id':_0x581713['params']['id']}},_0x512adc={};_0x512adc[_0x02be('0x38')]=_[_0x02be('0x4d')](db[_0x02be('0x4e')][_0x02be('0x34')]);_0x512adc[_0x02be('0x3a')]=_[_0x02be('0x4d')](_0x581713[_0x02be('0x3a')]);_0x512adc[_0x02be('0x3b')]=_[_0x02be('0x3c')](_0x512adc[_0x02be('0x38')],_0x512adc['query']);_0x25b087[_0x02be('0x3d')]=_[_0x02be('0x3c')](_0x512adc[_0x02be('0x38')],qs[_0x02be('0x3e')](_0x581713['query']['fields']));_0x25b087['attributes']=_0x25b087[_0x02be('0x3d')][_0x02be('0x3f')]?_0x25b087['attributes']:_0x512adc[_0x02be('0x38')];if(_0x581713['query']['includeAll']){_0x25b087[_0x02be('0x49')]=[{'all':!![]}];}_0x25b087=_[_0x02be('0x47')]({},_0x25b087,_0x581713[_0x02be('0x48')]);return db[_0x02be('0x4e')]['find'](_0x25b087)[_0x02be('0x2d')](handleEntityNotFound(_0x9828b3,null))[_0x02be('0x2d')](respondWithResult(_0x9828b3,null))['catch'](handleError(_0x9828b3,null));};exports[_0x02be('0x4f')]=function(_0x48711a,_0x1708da){return db[_0x02be('0x4e')]['create'](_0x48711a[_0x02be('0x50')],{})['then'](function(_0x5eb3cd){var _0x456e76=_0x48711a[_0x02be('0x51')][_0x02be('0x2e')]({'plain':!![]});if(!_0x456e76)throw new Error(_0x02be('0x52'));if(_0x456e76[_0x02be('0x53')]==='user'){var _0x4c57cf=_0x5eb3cd[_0x02be('0x2e')]({'plain':!![]});var _0x5bad18=_0x02be('0x54');return db['UserProfileSection'][_0x02be('0x55')]({'where':{'name':_0x5bad18,'userProfileId':_0x456e76[_0x02be('0x56')]},'raw':!![]})[_0x02be('0x2d')](function(_0x2ca651){if(_0x2ca651&&_0x2ca651[_0x02be('0x57')]===0x0){return db[_0x02be('0x58')]['create']({'name':_0x4c57cf['name'],'resourceId':_0x4c57cf['id'],'type':_0x2ca651['name'],'sectionId':_0x2ca651['id']},{})[_0x02be('0x2d')](function(){return _0x5eb3cd;});}else{return _0x5eb3cd;}})[_0x02be('0x4b')](function(_0x5b3d6c){logger[_0x02be('0x30')](_0x02be('0x59'),_0x5b3d6c);throw _0x5b3d6c;});}return _0x5eb3cd;})[_0x02be('0x2d')](respondWithResult(_0x1708da,0xc9))[_0x02be('0x4b')](handleError(_0x1708da,null));};exports[_0x02be('0x5a')]=function(_0x169148,_0x143ea7){var _0x399186={'where':{'id':_0x169148[_0x02be('0x5b')]['id']}},_0x20c7b8={};_0x20c7b8[_0x02be('0x38')]=_[_0x02be('0x4d')](db[_0x02be('0x4e')]['rawAttributes']);_0x399186[_0x02be('0x3d')]=_['intersection'](_0x20c7b8[_0x02be('0x38')],qs[_0x02be('0x3e')](_0x169148['query'][_0x02be('0x3e')]));_0x399186[_0x02be('0x3d')]=_0x399186[_0x02be('0x3d')][_0x02be('0x3f')]?_0x399186['attributes']:_0x20c7b8['model'];if(_0x169148[_0x02be('0x3a')][_0x02be('0x5c')]){_0x399186[_0x02be('0x49')]=[{'all':!![]}];}_0x399186=_[_0x02be('0x47')]({},_0x399186,_0x169148['options']);return db[_0x02be('0x4e')][_0x02be('0x55')](_0x399186)[_0x02be('0x2d')](handleEntityNotFound(_0x143ea7,null))[_0x02be('0x2d')](function(_0x5ac5e0){if(_0x5ac5e0){var _0x5a4dcb=_0x5ac5e0[_0x02be('0x2e')]({'plain':!![]});_0x5a4dcb=qs['omit'](_0x5a4dcb,['id',_0x02be('0x5d'),'updatedAt']);_0x169148[_0x02be('0x50')]=_['omit'](_0x169148[_0x02be('0x50')],['id',_0x02be('0x5d'),_0x02be('0x5e')]);return db['Dashboard'][_0x02be('0x4f')](_[_0x02be('0x47')](_0x5a4dcb,_0x169148[_0x02be('0x50')]),{'include':_0x169148[_0x02be('0x3a')][_0x02be('0x5c')]?[{'all':!![]}]:undefined})[_0x02be('0x2d')](function(_0x5b3ff8){var _0x5936ff=_0x169148[_0x02be('0x51')][_0x02be('0x2e')]({'plain':!![]});if(!_0x5936ff)throw new Error(_0x02be('0x52'));if(_0x5936ff[_0x02be('0x53')]===_0x02be('0x51')){var _0x46e466=_0x5b3ff8[_0x02be('0x2e')]({'plain':!![]});var _0x4e0e5f=_0x02be('0x54');return db[_0x02be('0x5f')][_0x02be('0x55')]({'where':{'name':_0x4e0e5f,'userProfileId':_0x5936ff[_0x02be('0x56')]},'raw':!![]})[_0x02be('0x2d')](function(_0x381f7b){if(_0x381f7b&&_0x381f7b[_0x02be('0x57')]===0x0){return db['UserProfileResource'][_0x02be('0x4f')]({'name':_0x46e466[_0x02be('0x32')],'resourceId':_0x46e466['id'],'type':_0x381f7b[_0x02be('0x32')],'sectionId':_0x381f7b['id']},{})[_0x02be('0x2d')](function(){return _0x5b3ff8;});}else{return _0x5b3ff8;}})[_0x02be('0x4b')](function(_0x5bf3b8){logger[_0x02be('0x30')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5bf3b8);throw _0x5bf3b8;});}return _0x5b3ff8;});}})[_0x02be('0x2d')](respondWithResult(_0x143ea7,0xc9))[_0x02be('0x4b')](handleError(_0x143ea7,null));};exports[_0x02be('0x2b')]=function(_0x377c38,_0x818180){if(_0x377c38[_0x02be('0x50')]['id']){delete _0x377c38[_0x02be('0x50')]['id'];}return db[_0x02be('0x4e')][_0x02be('0x55')]({'where':{'id':_0x377c38[_0x02be('0x5b')]['id']}})['then'](handleEntityNotFound(_0x818180,null))[_0x02be('0x2d')](saveUpdates(_0x377c38[_0x02be('0x50')],null))[_0x02be('0x2d')](respondWithResult(_0x818180,null))[_0x02be('0x4b')](handleError(_0x818180,null));};exports['destroy']=function(_0x13d795,_0x1d514c){return db[_0x02be('0x4e')][_0x02be('0x55')]({'where':{'id':_0x13d795[_0x02be('0x5b')]['id']}})[_0x02be('0x2d')](handleEntityNotFound(_0x1d514c,null))[_0x02be('0x2d')](removeEntity(_0x1d514c,null))[_0x02be('0x4b')](handleError(_0x1d514c,null));};function widgetAttributes(_0x3cb556){try{switch(_0x3cb556[_0x02be('0x36')]){case _0x02be('0x60'):return[{'name':_0x02be('0x61'),'value':_0x3cb556['attrUrl']||(_0x3cb556[_0x02be('0x62')]&&_0x3cb556[_0x02be('0x62')][0x0]?_0x3cb556[_0x02be('0x62')][0x0][_0x02be('0x63')]:undefined)||_0x02be('0x64')}];case _0x02be('0x65'):return[{'name':_0x02be('0x66'),'value':_0x3cb556['attrPath']||(_0x3cb556[_0x02be('0x62')]&&_0x3cb556['attrs'][0x0]?_0x3cb556[_0x02be('0x62')][0x0][_0x02be('0x63')]:undefined)||''}];case _0x02be('0x67'):return[{'name':_0x02be('0x68'),'value':_0x3cb556[_0x02be('0x68')]||(_0x3cb556[_0x02be('0x62')]&&_0x3cb556[_0x02be('0x62')][0x0]?_0x3cb556[_0x02be('0x62')][0x0][_0x02be('0x63')]:undefined)||_0x02be('0x69')},{'name':'attrTimezone','value':_0x3cb556[_0x02be('0x6a')]||(_0x3cb556[_0x02be('0x62')]&&_0x3cb556[_0x02be('0x62')][0x1]?_0x3cb556['attrs'][0x1][_0x02be('0x63')]:undefined)||_0x02be('0x6b')},{'name':_0x02be('0x6c'),'value':_0x3cb556[_0x02be('0x6c')]||(_0x3cb556['attrs']&&_0x3cb556[_0x02be('0x62')][0x2]?_0x3cb556[_0x02be('0x62')][0x2][_0x02be('0x63')]:undefined)||0xc}];case _0x02be('0x6d'):return[{'name':_0x02be('0x6e'),'value':_0x3cb556[_0x02be('0x6e')]||(_0x3cb556['attrs']&&_0x3cb556[_0x02be('0x62')][0x0]?_0x3cb556['attrs'][0x0][_0x02be('0x63')]:undefined)||_0x02be('0x6f')},{'name':_0x02be('0x70'),'value':_0x3cb556[_0x02be('0x70')]||(_0x3cb556[_0x02be('0x62')]&&_0x3cb556[_0x02be('0x62')][0x1]?_0x3cb556[_0x02be('0x62')][0x1][_0x02be('0x63')]:undefined)||[]},{'name':_0x02be('0x6c'),'value':_0x3cb556['attrFontSize']||(_0x3cb556[_0x02be('0x62')]&&_0x3cb556[_0x02be('0x62')][0x2]?_0x3cb556[_0x02be('0x62')][0x2][_0x02be('0x63')]:undefined)||0x14}];case _0x02be('0x71'):case _0x02be('0x72'):return[{'name':_0x02be('0x73'),'value':_0x3cb556[_0x02be('0x73')]||(_0x3cb556[_0x02be('0x62')]&&_0x3cb556[_0x02be('0x62')][0x0]?_0x3cb556[_0x02be('0x62')][0x0][_0x02be('0x63')]:undefined)||_0x02be('0x6f')},{'name':_0x02be('0x74'),'value':_0x3cb556[_0x02be('0x74')]||(_0x3cb556['attrs']&&_0x3cb556[_0x02be('0x62')][0x1]?_0x3cb556[_0x02be('0x62')][0x1]['value']:undefined)||null},{'name':'attrSerie3','value':_0x3cb556[_0x02be('0x75')]||(_0x3cb556[_0x02be('0x62')]&&_0x3cb556[_0x02be('0x62')][0x2]?_0x3cb556[_0x02be('0x62')][0x2][_0x02be('0x63')]:undefined)||null},{'name':_0x02be('0x70'),'value':_0x3cb556[_0x02be('0x70')]||(_0x3cb556[_0x02be('0x62')]&&_0x3cb556[_0x02be('0x62')][0x3]?_0x3cb556[_0x02be('0x62')][0x3][_0x02be('0x63')]:undefined)||[]}];case'web-report':return[{'name':'attrReport','type':_0x3cb556[_0x02be('0x76')]||(_0x3cb556[_0x02be('0x62')]&&_0x3cb556[_0x02be('0x62')][0x0]?_0x3cb556[_0x02be('0x62')][0x0]['type']:undefined)||null,'value':_0x3cb556[_0x02be('0x77')]||(_0x3cb556['attrs']&&_0x3cb556['attrs'][0x0]?_0x3cb556[_0x02be('0x62')][0x0][_0x02be('0x63')]:undefined)||null},{'name':_0x02be('0x78'),'value':_0x3cb556[_0x02be('0x78')]||(_0x3cb556[_0x02be('0x62')]&&_0x3cb556[_0x02be('0x62')][0x1]?_0x3cb556[_0x02be('0x62')][0x1][_0x02be('0x63')]:undefined)||0x0}];default:return[];}}catch(_0x1039c5){logger[_0x02be('0x30')]('widgetAttributes:\x20%s',JSON['stringify'](_0x1039c5));return[];}}exports[_0x02be('0x79')]=function(_0x23c453,_0xda6dd0,_0x2ec667){if(_0x23c453[_0x02be('0x50')]['id']){delete _0x23c453[_0x02be('0x50')]['id'];}return db['Dashboard']['find']({'where':{'id':_0x23c453[_0x02be('0x5b')]['id']}})[_0x02be('0x2d')](handleEntityNotFound(_0xda6dd0,null))['then'](function(_0x25c36e){if(_0x25c36e){_0x23c453[_0x02be('0x50')][_0x02be('0x7a')]=_0x25c36e['id'];_0x23c453['body'][_0x02be('0x62')]=widgetAttributes(_0x23c453[_0x02be('0x50')]);return db[_0x02be('0x7b')][_0x02be('0x4f')](_0x23c453[_0x02be('0x50')]);}})['then'](respondWithResult(_0xda6dd0,null))[_0x02be('0x4b')](handleError(_0xda6dd0,null));};exports['getItems']=function(_0x20da2e,_0x49b2b5,_0x11d5bf){var _0x36cd50={};var _0x4d0906={};var _0x1c0cdf;var _0x12db55;return db['Dashboard'][_0x02be('0x7c')]({'where':{'id':_0x20da2e[_0x02be('0x5b')]['id']}})[_0x02be('0x2d')](handleEntityNotFound(_0x49b2b5,null))['then'](function(_0x569f51){if(_0x569f51){_0x1c0cdf=_0x569f51;_0x4d0906[_0x02be('0x38')]=_[_0x02be('0x4d')](db[_0x02be('0x7b')][_0x02be('0x34')]);_0x4d0906[_0x02be('0x3a')]=_[_0x02be('0x4d')](_0x20da2e[_0x02be('0x3a')]);_0x4d0906[_0x02be('0x3b')]=_[_0x02be('0x3c')](_0x4d0906[_0x02be('0x38')],_0x4d0906[_0x02be('0x3a')]);_0x36cd50[_0x02be('0x3d')]=_['intersection'](_0x4d0906[_0x02be('0x38')],qs[_0x02be('0x3e')](_0x20da2e[_0x02be('0x3a')][_0x02be('0x3e')]));_0x36cd50[_0x02be('0x3d')]=_0x36cd50[_0x02be('0x3d')]['length']?_0x36cd50[_0x02be('0x3d')]:_0x4d0906['model'];_0x36cd50[_0x02be('0x42')]=qs[_0x02be('0x43')](_0x20da2e[_0x02be('0x3a')]['sort']);_0x36cd50['where']=qs['filters'](_[_0x02be('0x7d')](_0x20da2e['query'],_0x4d0906['filters']));if(_0x20da2e['query'][_0x02be('0x46')]){_0x36cd50['where']=_[_0x02be('0x47')](_0x36cd50[_0x02be('0x44')],{'$or':_[_0x02be('0x39')](_0x36cd50[_0x02be('0x3d')],function(_0x21d37b){var _0x449323={};_0x449323[_0x21d37b]={'$like':'%'+_0x20da2e[_0x02be('0x3a')][_0x02be('0x46')]+'%'};return _0x449323;})});}_0x36cd50=_[_0x02be('0x47')]({},_0x36cd50,_0x20da2e[_0x02be('0x48')]);return _0x1c0cdf[_0x02be('0x7e')](_0x36cd50);}})['then'](function(_0x4e6a14){if(_0x4e6a14){_0x12db55=_0x4e6a14[_0x02be('0x3f')];if(!_0x20da2e[_0x02be('0x3a')][_0x02be('0x40')](_0x02be('0x41'))){_0x36cd50[_0x02be('0x25')]=qs[_0x02be('0x25')](_0x20da2e[_0x02be('0x3a')][_0x02be('0x25')]);_0x36cd50[_0x02be('0x24')]=qs[_0x02be('0x24')](_0x20da2e[_0x02be('0x3a')][_0x02be('0x24')]);}return _0x1c0cdf[_0x02be('0x7e')](_0x36cd50);}})[_0x02be('0x2d')](function(_0x24d9b3){if(_0x24d9b3){return _0x24d9b3?{'count':_0x12db55,'rows':_0x24d9b3}:null;}})[_0x02be('0x2d')](respondWithResult(_0x49b2b5,null))[_0x02be('0x4b')](handleError(_0x49b2b5,null));};