8dfc21e2d140bc7b040cd9e875b03f78dcf95d94
[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 _0x88b8=['fields','nolimit','order','sort','where','filter','merge','VIRTUAL','options','include','findAll','rows','catch','rawAttributes','filtears','length','includeAll','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','params','omit','createdAt','updatedAt','iframe','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','pie-chart','attrSerie1','attrSerie2','attrSerie3','attrReport','attrRefresh','widgetAttributes:\x20%s','stringify','addItem','DashboardItem','getItems','findOne','pick','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','socket.io-emitter','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','CustomDashboards','UserProfileResource','error','stack','name','send','index','map','Dashboard','fieldName','type','key','model','keys','query','filters','intersection','attributes'];(function(_0x591ef6,_0x5dd38a){var _0x9d2ef6=function(_0x5766a8){while(--_0x5766a8){_0x591ef6['push'](_0x591ef6['shift']());}};_0x9d2ef6(++_0x5dd38a);}(_0x88b8,0x1b6));var _0x888b=function(_0x4e198a,_0x5a6bad){_0x4e198a=_0x4e198a-0x0;var _0xb84bfe=_0x88b8[_0x4e198a];return _0xb84bfe;};'use strict';var pdf=require(_0x888b('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x888b('0x1'));var zipdir=require(_0x888b('0x2'));var jsonpatch=require(_0x888b('0x3'));var rp=require(_0x888b('0x4'));var moment=require(_0x888b('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x888b('0x6'));var util=require(_0x888b('0x7'));var path=require(_0x888b('0x8'));var sox=require(_0x888b('0x9'));var csv=require(_0x888b('0xa'));var ejs=require(_0x888b('0xb'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x888b('0xc'));var deskjs=require(_0x888b('0xd'));var toCsv=require(_0x888b('0xa'));var querystring=require(_0x888b('0xe'));var Papa=require(_0x888b('0xf'));var Redis=require(_0x888b('0x10'));var authService=require(_0x888b('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x888b('0x12'));var hardwareService=require(_0x888b('0x13'));var logger=require(_0x888b('0x14'))(_0x888b('0x15'));var utils=require(_0x888b('0x16'));var config=require(_0x888b('0x17'));var licenseUtil=require(_0x888b('0x18'));var db=require('../../mysqldb')['db'];config[_0x888b('0x19')]=_[_0x888b('0x1a')](config[_0x888b('0x19')],{'host':'localhost','port':0x18eb});var socket=require(_0x888b('0x1b'))(new Redis(config[_0x888b('0x19')]));require('./dashboard.socket')[_0x888b('0x1c')](socket);function respondWithStatusCode(_0x2b166b,_0x5e87be){_0x5e87be=_0x5e87be||0xcc;return function(_0x527eb4){if(_0x527eb4){return _0x2b166b[_0x888b('0x1d')](_0x5e87be);}return _0x2b166b[_0x888b('0x1e')](_0x5e87be)[_0x888b('0x1f')]();};}function respondWithResult(_0x293488,_0x59de5d){_0x59de5d=_0x59de5d||0xc8;return function(_0x4396f3){if(_0x4396f3){return _0x293488[_0x888b('0x1e')](_0x59de5d)[_0x888b('0x20')](_0x4396f3);}};}function respondWithFilteredResult(_0x39ef9f,_0x2245cb){return function(_0x3830a2){if(_0x3830a2){var _0x1a714b=_0x3830a2[_0x888b('0x21')],_0x13aed2=_0x2245cb[_0x888b('0x22')],_0x19bf62=_0x2245cb[_0x888b('0x22')]+_0x2245cb[_0x888b('0x23')],_0x45c035;if(_0x19bf62>=_0x1a714b){_0x19bf62=_0x1a714b;_0x45c035=0xc8;}else{_0x45c035=0xce;}_0x39ef9f[_0x888b('0x1e')](_0x45c035);return _0x39ef9f[_0x888b('0x24')](_0x888b('0x25'),_0x13aed2+'-'+_0x19bf62+'/'+_0x1a714b)[_0x888b('0x20')](_0x3830a2);}return null;};}function patchUpdates(_0x3b2f32){return function(_0x23b416){try{jsonpatch[_0x888b('0x26')](_0x23b416,_0x3b2f32,!![]);}catch(_0x15d8ff){return BPromise[_0x888b('0x27')](_0x15d8ff);}return _0x23b416[_0x888b('0x28')]();};}function saveUpdates(_0x33ffbc,_0x4cfab9){return function(_0x4d3779){if(_0x4d3779){return _0x4d3779[_0x888b('0x29')](_0x33ffbc)[_0x888b('0x2a')](function(_0x39917d){return _0x39917d;});}return null;};}function removeEntity(_0x4c0ea4,_0xd17dc0){return function(_0x574760){if(_0x574760){return _0x574760[_0x888b('0x2b')]()[_0x888b('0x2a')](function(){var _0x30d881=_0x574760['get']({'plain':!![]});var _0x267ac8=_0x888b('0x2c');return db[_0x888b('0x2d')][_0x888b('0x2b')]({'where':{'type':_0x267ac8,'resourceId':_0x30d881['id']}})[_0x888b('0x2a')](function(){return _0x574760;});})[_0x888b('0x2a')](function(){_0x4c0ea4[_0x888b('0x1e')](0xcc)[_0x888b('0x1f')]();});}};}function handleEntityNotFound(_0x489b4d,_0x4a5e81){return function(_0x4ea3b1){if(!_0x4ea3b1){_0x489b4d[_0x888b('0x1d')](0x194);}return _0x4ea3b1;};}function handleError(_0x4e1238,_0x487283){_0x487283=_0x487283||0x1f4;return function(_0x581834){logger[_0x888b('0x2e')](_0x581834[_0x888b('0x2f')]);if(_0x581834[_0x888b('0x30')]){delete _0x581834[_0x888b('0x30')];}_0x4e1238[_0x888b('0x1e')](_0x487283)[_0x888b('0x31')](_0x581834);};}exports[_0x888b('0x32')]=function(_0x6db3b8,_0x374426){var _0x7711c6={},_0x3bde79={},_0x587757={'count':0x0,'rows':[]};var _0x20c5fd=_[_0x888b('0x33')](db[_0x888b('0x34')]['rawAttributes'],function(_0xcf7c16){return{'name':_0xcf7c16[_0x888b('0x35')],'type':_0xcf7c16[_0x888b('0x36')][_0x888b('0x37')]};});_0x3bde79[_0x888b('0x38')]=_[_0x888b('0x33')](_0x20c5fd,_0x888b('0x30'));_0x3bde79['query']=_[_0x888b('0x39')](_0x6db3b8[_0x888b('0x3a')]);_0x3bde79[_0x888b('0x3b')]=_[_0x888b('0x3c')](_0x3bde79[_0x888b('0x38')],_0x3bde79['query']);_0x7711c6[_0x888b('0x3d')]=_[_0x888b('0x3c')](_0x3bde79[_0x888b('0x38')],qs[_0x888b('0x3e')](_0x6db3b8['query'][_0x888b('0x3e')]));_0x7711c6[_0x888b('0x3d')]=_0x7711c6['attributes']['length']?_0x7711c6[_0x888b('0x3d')]:_0x3bde79[_0x888b('0x38')];if(!_0x6db3b8[_0x888b('0x3a')]['hasOwnProperty'](_0x888b('0x3f'))){_0x7711c6[_0x888b('0x23')]=qs[_0x888b('0x23')](_0x6db3b8[_0x888b('0x3a')][_0x888b('0x23')]);_0x7711c6['offset']=qs['offset'](_0x6db3b8[_0x888b('0x3a')][_0x888b('0x22')]);}_0x7711c6[_0x888b('0x40')]=qs[_0x888b('0x41')](_0x6db3b8[_0x888b('0x3a')][_0x888b('0x41')]);_0x7711c6[_0x888b('0x42')]=qs['filters'](_['pick'](_0x6db3b8[_0x888b('0x3a')],_0x3bde79[_0x888b('0x3b')]),_0x20c5fd);if(_0x6db3b8['query'][_0x888b('0x43')]){_0x7711c6['where']=_[_0x888b('0x44')](_0x7711c6[_0x888b('0x42')],{'$or':_[_0x888b('0x33')](_0x20c5fd,function(_0x23a898){if(_0x23a898[_0x888b('0x36')]!==_0x888b('0x45')){var _0xd5d77b={};_0xd5d77b[_0x23a898[_0x888b('0x30')]]={'$like':'%'+_0x6db3b8['query']['filter']+'%'};return _0xd5d77b;}})});}_0x7711c6=_['merge']({},_0x7711c6,_0x6db3b8[_0x888b('0x46')]);var _0x40ebd2={'where':_0x7711c6[_0x888b('0x42')]};return db[_0x888b('0x34')][_0x888b('0x21')](_0x40ebd2)[_0x888b('0x2a')](function(_0x1e50af){_0x587757[_0x888b('0x21')]=_0x1e50af;if(_0x6db3b8[_0x888b('0x3a')]['includeAll']){_0x7711c6[_0x888b('0x47')]=[{'all':!![]}];}return db[_0x888b('0x34')][_0x888b('0x48')](_0x7711c6);})[_0x888b('0x2a')](function(_0x24f8b4){_0x587757[_0x888b('0x49')]=_0x24f8b4;return _0x587757;})[_0x888b('0x2a')](respondWithFilteredResult(_0x374426,_0x7711c6))[_0x888b('0x4a')](handleError(_0x374426,null));};exports['show']=function(_0x451c7b,_0x3535be){var _0x46c83b={'raw':![],'where':{'id':_0x451c7b['params']['id']}},_0x16bb72={};_0x16bb72['model']=_[_0x888b('0x39')](db[_0x888b('0x34')][_0x888b('0x4b')]);_0x16bb72['query']=_['keys'](_0x451c7b[_0x888b('0x3a')]);_0x16bb72[_0x888b('0x4c')]=_['intersection'](_0x16bb72[_0x888b('0x38')],_0x16bb72[_0x888b('0x3a')]);_0x46c83b[_0x888b('0x3d')]=_[_0x888b('0x3c')](_0x16bb72[_0x888b('0x38')],qs[_0x888b('0x3e')](_0x451c7b[_0x888b('0x3a')][_0x888b('0x3e')]));_0x46c83b['attributes']=_0x46c83b[_0x888b('0x3d')][_0x888b('0x4d')]?_0x46c83b[_0x888b('0x3d')]:_0x16bb72[_0x888b('0x38')];if(_0x451c7b[_0x888b('0x3a')][_0x888b('0x4e')]){_0x46c83b[_0x888b('0x47')]=[{'all':!![]}];}_0x46c83b=_[_0x888b('0x44')]({},_0x46c83b,_0x451c7b[_0x888b('0x46')]);return db[_0x888b('0x34')][_0x888b('0x4f')](_0x46c83b)[_0x888b('0x2a')](handleEntityNotFound(_0x3535be,null))[_0x888b('0x2a')](respondWithResult(_0x3535be,null))[_0x888b('0x4a')](handleError(_0x3535be,null));};exports[_0x888b('0x50')]=function(_0x5a665b,_0x44e59a){return db[_0x888b('0x34')][_0x888b('0x50')](_0x5a665b[_0x888b('0x51')],{})['then'](function(_0x8f0f9d){var _0x5d7601=_0x5a665b[_0x888b('0x52')][_0x888b('0x53')]({'plain':!![]});if(!_0x5d7601)throw new Error(_0x888b('0x54'));if(_0x5d7601[_0x888b('0x55')]==='user'){var _0x10d94e=_0x8f0f9d['get']({'plain':!![]});var _0x4517b7='CustomDashboards';return db[_0x888b('0x56')][_0x888b('0x4f')]({'where':{'name':_0x4517b7,'userProfileId':_0x5d7601[_0x888b('0x57')]},'raw':!![]})[_0x888b('0x2a')](function(_0xa26ff8){if(_0xa26ff8&&_0xa26ff8[_0x888b('0x58')]===0x0){return db[_0x888b('0x2d')][_0x888b('0x50')]({'name':_0x10d94e[_0x888b('0x30')],'resourceId':_0x10d94e['id'],'type':_0xa26ff8[_0x888b('0x30')],'sectionId':_0xa26ff8['id']},{})['then'](function(){return _0x8f0f9d;});}else{return _0x8f0f9d;}})[_0x888b('0x4a')](function(_0x21506c){logger[_0x888b('0x2e')](_0x888b('0x59'),_0x21506c);throw _0x21506c;});}return _0x8f0f9d;})['then'](respondWithResult(_0x44e59a,0xc9))[_0x888b('0x4a')](handleError(_0x44e59a,null));};exports[_0x888b('0x5a')]=function(_0x4d3aee,_0x125cd6){var _0xb60fb8={'where':{'id':_0x4d3aee[_0x888b('0x5b')]['id']}},_0xd8f85c={};_0xd8f85c[_0x888b('0x38')]=_[_0x888b('0x39')](db[_0x888b('0x34')][_0x888b('0x4b')]);_0xb60fb8[_0x888b('0x3d')]=_[_0x888b('0x3c')](_0xd8f85c[_0x888b('0x38')],qs['fields'](_0x4d3aee[_0x888b('0x3a')][_0x888b('0x3e')]));_0xb60fb8['attributes']=_0xb60fb8[_0x888b('0x3d')][_0x888b('0x4d')]?_0xb60fb8[_0x888b('0x3d')]:_0xd8f85c[_0x888b('0x38')];if(_0x4d3aee[_0x888b('0x3a')][_0x888b('0x4e')]){_0xb60fb8[_0x888b('0x47')]=[{'all':!![]}];}_0xb60fb8=_[_0x888b('0x44')]({},_0xb60fb8,_0x4d3aee[_0x888b('0x46')]);return db[_0x888b('0x34')]['find'](_0xb60fb8)[_0x888b('0x2a')](handleEntityNotFound(_0x125cd6,null))['then'](function(_0x2e804e){if(_0x2e804e){var _0x478a8e=_0x2e804e[_0x888b('0x53')]({'plain':!![]});_0x478a8e=qs[_0x888b('0x5c')](_0x478a8e,['id',_0x888b('0x5d'),_0x888b('0x5e')]);_0x4d3aee[_0x888b('0x51')]=_['omit'](_0x4d3aee[_0x888b('0x51')],['id',_0x888b('0x5d'),_0x888b('0x5e')]);return db[_0x888b('0x34')][_0x888b('0x50')](_[_0x888b('0x44')](_0x478a8e,_0x4d3aee[_0x888b('0x51')]),{'include':_0x4d3aee[_0x888b('0x3a')]['includeAll']?[{'all':!![]}]:undefined})[_0x888b('0x2a')](function(_0x4b3318){var _0x5975a6=_0x4d3aee[_0x888b('0x52')]['get']({'plain':!![]});if(!_0x5975a6)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5975a6[_0x888b('0x55')]===_0x888b('0x52')){var _0x4bd9d4=_0x4b3318[_0x888b('0x53')]({'plain':!![]});var _0x2305a2=_0x888b('0x2c');return db['UserProfileSection'][_0x888b('0x4f')]({'where':{'name':_0x2305a2,'userProfileId':_0x5975a6['userProfileId']},'raw':!![]})[_0x888b('0x2a')](function(_0x360a9d){if(_0x360a9d&&_0x360a9d['autoAssociation']===0x0){return db['UserProfileResource'][_0x888b('0x50')]({'name':_0x4bd9d4['name'],'resourceId':_0x4bd9d4['id'],'type':_0x360a9d[_0x888b('0x30')],'sectionId':_0x360a9d['id']},{})[_0x888b('0x2a')](function(){return _0x4b3318;});}else{return _0x4b3318;}})['catch'](function(_0x45ee2f){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x45ee2f);throw _0x45ee2f;});}return _0x4b3318;});}})['then'](respondWithResult(_0x125cd6,0xc9))[_0x888b('0x4a')](handleError(_0x125cd6,null));};exports[_0x888b('0x29')]=function(_0xba418c,_0x5b87c0){if(_0xba418c[_0x888b('0x51')]['id']){delete _0xba418c['body']['id'];}return db[_0x888b('0x34')][_0x888b('0x4f')]({'where':{'id':_0xba418c[_0x888b('0x5b')]['id']}})[_0x888b('0x2a')](handleEntityNotFound(_0x5b87c0,null))[_0x888b('0x2a')](saveUpdates(_0xba418c['body'],null))[_0x888b('0x2a')](respondWithResult(_0x5b87c0,null))[_0x888b('0x4a')](handleError(_0x5b87c0,null));};exports[_0x888b('0x2b')]=function(_0x278ca1,_0x177db9){return db[_0x888b('0x34')][_0x888b('0x4f')]({'where':{'id':_0x278ca1[_0x888b('0x5b')]['id']}})[_0x888b('0x2a')](handleEntityNotFound(_0x177db9,null))[_0x888b('0x2a')](removeEntity(_0x177db9,null))[_0x888b('0x4a')](handleError(_0x177db9,null));};function widgetAttributes(_0x34ae20){try{switch(_0x34ae20[_0x888b('0x36')]){case _0x888b('0x5f'):return[{'name':_0x888b('0x60'),'value':_0x34ae20[_0x888b('0x60')]||(_0x34ae20[_0x888b('0x61')]&&_0x34ae20['attrs'][0x0]?_0x34ae20[_0x888b('0x61')][0x0][_0x888b('0x62')]:undefined)||_0x888b('0x63')}];case _0x888b('0x64'):return[{'name':_0x888b('0x65'),'value':_0x34ae20[_0x888b('0x65')]||(_0x34ae20[_0x888b('0x61')]&&_0x34ae20[_0x888b('0x61')][0x0]?_0x34ae20[_0x888b('0x61')][0x0]['value']:undefined)||''}];case _0x888b('0x66'):return[{'name':_0x888b('0x67'),'value':_0x34ae20[_0x888b('0x67')]||(_0x34ae20[_0x888b('0x61')]&&_0x34ae20['attrs'][0x0]?_0x34ae20[_0x888b('0x61')][0x0][_0x888b('0x62')]:undefined)||_0x888b('0x68')},{'name':_0x888b('0x69'),'value':_0x34ae20['attrTimezone']||(_0x34ae20[_0x888b('0x61')]&&_0x34ae20['attrs'][0x1]?_0x34ae20[_0x888b('0x61')][0x1]['value']:undefined)||_0x888b('0x6a')},{'name':_0x888b('0x6b'),'value':_0x34ae20['attrFontSize']||(_0x34ae20[_0x888b('0x61')]&&_0x34ae20['attrs'][0x2]?_0x34ae20[_0x888b('0x61')][0x2][_0x888b('0x62')]:undefined)||0xc}];case _0x888b('0x6c'):return[{'name':_0x888b('0x6d'),'value':_0x34ae20[_0x888b('0x6d')]||(_0x34ae20[_0x888b('0x61')]&&_0x34ae20[_0x888b('0x61')][0x0]?_0x34ae20['attrs'][0x0]['value']:undefined)||_0x888b('0x6e')},{'name':_0x888b('0x6f'),'value':_0x34ae20['attrVoiceQueues']||(_0x34ae20[_0x888b('0x61')]&&_0x34ae20[_0x888b('0x61')][0x1]?_0x34ae20[_0x888b('0x61')][0x1]['value']:undefined)||[]},{'name':_0x888b('0x6b'),'value':_0x34ae20['attrFontSize']||(_0x34ae20['attrs']&&_0x34ae20['attrs'][0x2]?_0x34ae20[_0x888b('0x61')][0x2]['value']:undefined)||0x14}];case'multibar-chart':case _0x888b('0x70'):return[{'name':_0x888b('0x71'),'value':_0x34ae20[_0x888b('0x71')]||(_0x34ae20[_0x888b('0x61')]&&_0x34ae20[_0x888b('0x61')][0x0]?_0x34ae20['attrs'][0x0][_0x888b('0x62')]:undefined)||_0x888b('0x6e')},{'name':_0x888b('0x72'),'value':_0x34ae20[_0x888b('0x72')]||(_0x34ae20['attrs']&&_0x34ae20[_0x888b('0x61')][0x1]?_0x34ae20['attrs'][0x1][_0x888b('0x62')]:undefined)||null},{'name':_0x888b('0x73'),'value':_0x34ae20[_0x888b('0x73')]||(_0x34ae20[_0x888b('0x61')]&&_0x34ae20[_0x888b('0x61')][0x2]?_0x34ae20[_0x888b('0x61')][0x2][_0x888b('0x62')]:undefined)||null},{'name':_0x888b('0x6f'),'value':_0x34ae20['attrVoiceQueues']||(_0x34ae20['attrs']&&_0x34ae20[_0x888b('0x61')][0x3]?_0x34ae20[_0x888b('0x61')][0x3][_0x888b('0x62')]:undefined)||[]}];case'web-report':return[{'name':_0x888b('0x74'),'type':_0x34ae20['reportType']||(_0x34ae20[_0x888b('0x61')]&&_0x34ae20[_0x888b('0x61')][0x0]?_0x34ae20[_0x888b('0x61')][0x0]['type']:undefined)||null,'value':_0x34ae20['attrReport']||(_0x34ae20['attrs']&&_0x34ae20[_0x888b('0x61')][0x0]?_0x34ae20[_0x888b('0x61')][0x0][_0x888b('0x62')]:undefined)||null},{'name':_0x888b('0x75'),'value':_0x34ae20['attrRefresh']||(_0x34ae20[_0x888b('0x61')]&&_0x34ae20[_0x888b('0x61')][0x1]?_0x34ae20[_0x888b('0x61')][0x1][_0x888b('0x62')]:undefined)||0x0}];default:return[];}}catch(_0x4839ec){logger[_0x888b('0x2e')](_0x888b('0x76'),JSON[_0x888b('0x77')](_0x4839ec));return[];}}exports[_0x888b('0x78')]=function(_0x5dc1b5,_0x449f4b,_0xc2be5e){if(_0x5dc1b5[_0x888b('0x51')]['id']){delete _0x5dc1b5['body']['id'];}return db[_0x888b('0x34')][_0x888b('0x4f')]({'where':{'id':_0x5dc1b5[_0x888b('0x5b')]['id']}})[_0x888b('0x2a')](handleEntityNotFound(_0x449f4b,null))[_0x888b('0x2a')](function(_0x3ea726){if(_0x3ea726){_0x5dc1b5[_0x888b('0x51')]['DashboardId']=_0x3ea726['id'];_0x5dc1b5[_0x888b('0x51')][_0x888b('0x61')]=widgetAttributes(_0x5dc1b5[_0x888b('0x51')]);return db[_0x888b('0x79')][_0x888b('0x50')](_0x5dc1b5['body']);}})['then'](respondWithResult(_0x449f4b,null))[_0x888b('0x4a')](handleError(_0x449f4b,null));};exports[_0x888b('0x7a')]=function(_0x476bb7,_0x3aab13,_0xe95438){var _0x4e9abd={};var _0x3f9925={};var _0x53d81a;var _0x44bac5;return db[_0x888b('0x34')][_0x888b('0x7b')]({'where':{'id':_0x476bb7[_0x888b('0x5b')]['id']}})['then'](handleEntityNotFound(_0x3aab13,null))[_0x888b('0x2a')](function(_0x54eb98){if(_0x54eb98){_0x53d81a=_0x54eb98;_0x3f9925[_0x888b('0x38')]=_[_0x888b('0x39')](db[_0x888b('0x79')][_0x888b('0x4b')]);_0x3f9925['query']=_['keys'](_0x476bb7[_0x888b('0x3a')]);_0x3f9925[_0x888b('0x3b')]=_[_0x888b('0x3c')](_0x3f9925[_0x888b('0x38')],_0x3f9925[_0x888b('0x3a')]);_0x4e9abd[_0x888b('0x3d')]=_['intersection'](_0x3f9925[_0x888b('0x38')],qs[_0x888b('0x3e')](_0x476bb7[_0x888b('0x3a')]['fields']));_0x4e9abd[_0x888b('0x3d')]=_0x4e9abd['attributes']['length']?_0x4e9abd[_0x888b('0x3d')]:_0x3f9925['model'];_0x4e9abd[_0x888b('0x40')]=qs[_0x888b('0x41')](_0x476bb7['query']['sort']);_0x4e9abd['where']=qs['filters'](_[_0x888b('0x7c')](_0x476bb7[_0x888b('0x3a')],_0x3f9925[_0x888b('0x3b')]));if(_0x476bb7[_0x888b('0x3a')][_0x888b('0x43')]){_0x4e9abd[_0x888b('0x42')]=_[_0x888b('0x44')](_0x4e9abd[_0x888b('0x42')],{'$or':_[_0x888b('0x33')](_0x4e9abd[_0x888b('0x3d')],function(_0x4a5bfb){var _0x1a1434={};_0x1a1434[_0x4a5bfb]={'$like':'%'+_0x476bb7[_0x888b('0x3a')]['filter']+'%'};return _0x1a1434;})});}_0x4e9abd=_[_0x888b('0x44')]({},_0x4e9abd,_0x476bb7[_0x888b('0x46')]);return _0x53d81a[_0x888b('0x7a')](_0x4e9abd);}})['then'](function(_0x2a9507){if(_0x2a9507){_0x44bac5=_0x2a9507[_0x888b('0x4d')];if(!_0x476bb7['query']['hasOwnProperty'](_0x888b('0x3f'))){_0x4e9abd[_0x888b('0x23')]=qs[_0x888b('0x23')](_0x476bb7[_0x888b('0x3a')][_0x888b('0x23')]);_0x4e9abd['offset']=qs['offset'](_0x476bb7[_0x888b('0x3a')][_0x888b('0x22')]);}return _0x53d81a['getItems'](_0x4e9abd);}})[_0x888b('0x2a')](function(_0xcc8198){if(_0xcc8198){return _0xcc8198?{'count':_0x44bac5,'rows':_0xcc8198}:null;}})[_0x888b('0x2a')](respondWithResult(_0x3aab13,null))[_0x888b('0x4a')](handleError(_0x3aab13,null));};