5cbe9526e565931e537321e1fbc03697c7f7f487
[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 _0x9c07=['sendStatus','end','status','json','count','offset','limit','apply','reject','update','destroy','then','CustomDashboards','error','stack','name','send','index','map','Dashboard','rawAttributes','type','key','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','filter','where','merge','VIRTUAL','options','includeAll','findAll','rows','catch','params','include','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','updatedAt','createdAt','UserProfileResource','attrUrl','attrs','value','custom','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','multibar-chart','attrSerie1','attrSerie2','attrSerie3','web-report','reportType','attrReport','attrRefresh','widgetAttributes:\x20%s','stringify','addItem','DashboardId','DashboardItem','getItems','pick','nolimit','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','lodash','squel','jsforce','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./dashboard.socket','register'];(function(_0x3947c9,_0x4d6c97){var _0x2e7871=function(_0x1236cc){while(--_0x1236cc){_0x3947c9['push'](_0x3947c9['shift']());}};_0x2e7871(++_0x4d6c97);}(_0x9c07,0xd1));var _0x79c0=function(_0x58c304,_0x5bf411){_0x58c304=_0x58c304-0x0;var _0x4ee5d6=_0x9c07[_0x58c304];return _0x4ee5d6;};'use strict';var pdf=require(_0x79c0('0x0'));var emlformat=require(_0x79c0('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x79c0('0x2'));var jsonpatch=require(_0x79c0('0x3'));var rp=require(_0x79c0('0x4'));var moment=require(_0x79c0('0x5'));var BPromise=require(_0x79c0('0x6'));var Mustache=require(_0x79c0('0x7'));var util=require(_0x79c0('0x8'));var path=require(_0x79c0('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x79c0('0xa'));var squel=require(_0x79c0('0xb'));var crypto=require('crypto');var jsforce=require(_0x79c0('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x79c0('0xd'));var Papa=require('papaparse');var Redis=require(_0x79c0('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x79c0('0xf'));var as=require(_0x79c0('0x10'));var hardwareService=require(_0x79c0('0x11'));var logger=require(_0x79c0('0x12'))('api');var utils=require(_0x79c0('0x13'));var config=require(_0x79c0('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x79c0('0x15'))['db'];config[_0x79c0('0x16')]=_['defaults'](config[_0x79c0('0x16')],{'host':_0x79c0('0x17'),'port':0x18eb});var socket=require(_0x79c0('0x18'))(new Redis(config[_0x79c0('0x16')]));require(_0x79c0('0x19'))[_0x79c0('0x1a')](socket);function respondWithStatusCode(_0x1aef75,_0x3372fe){_0x3372fe=_0x3372fe||0xcc;return function(_0x47c71f){if(_0x47c71f){return _0x1aef75[_0x79c0('0x1b')](_0x3372fe);}return _0x1aef75['status'](_0x3372fe)[_0x79c0('0x1c')]();};}function respondWithResult(_0x1f858a,_0x65d314){_0x65d314=_0x65d314||0xc8;return function(_0x37a4c8){if(_0x37a4c8){return _0x1f858a[_0x79c0('0x1d')](_0x65d314)[_0x79c0('0x1e')](_0x37a4c8);}};}function respondWithFilteredResult(_0x534db0,_0x52b1a7){return function(_0x326bf5){if(_0x326bf5){var _0x4bdf9d=_0x326bf5[_0x79c0('0x1f')],_0x3e7254=_0x52b1a7['offset'],_0x57974a=_0x52b1a7[_0x79c0('0x20')]+_0x52b1a7[_0x79c0('0x21')],_0x248099;if(_0x57974a>=_0x4bdf9d){_0x57974a=_0x4bdf9d;_0x248099=0xc8;}else{_0x248099=0xce;}_0x534db0[_0x79c0('0x1d')](_0x248099);return _0x534db0['set']('Content-Range',_0x3e7254+'-'+_0x57974a+'/'+_0x4bdf9d)[_0x79c0('0x1e')](_0x326bf5);}return null;};}function patchUpdates(_0x2e3931){return function(_0x205de0){try{jsonpatch[_0x79c0('0x22')](_0x205de0,_0x2e3931,!![]);}catch(_0xf95eb9){return BPromise[_0x79c0('0x23')](_0xf95eb9);}return _0x205de0['save']();};}function saveUpdates(_0xce91f7,_0x592728){return function(_0x503cb0){if(_0x503cb0){return _0x503cb0[_0x79c0('0x24')](_0xce91f7)['then'](function(_0x3d1f6d){return _0x3d1f6d;});}return null;};}function removeEntity(_0x2595b5,_0x5d87cf){return function(_0x2063a0){if(_0x2063a0){return _0x2063a0[_0x79c0('0x25')]()[_0x79c0('0x26')](function(){var _0x296780=_0x2063a0['get']({'plain':!![]});var _0x6a0633=_0x79c0('0x27');return db['UserProfileResource'][_0x79c0('0x25')]({'where':{'type':_0x6a0633,'resourceId':_0x296780['id']}})['then'](function(){return _0x2063a0;});})['then'](function(){_0x2595b5[_0x79c0('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x49eace,_0x2e3147){return function(_0x1dfadd){if(!_0x1dfadd){_0x49eace[_0x79c0('0x1b')](0x194);}return _0x1dfadd;};}function handleError(_0x515ba8,_0x470b6f){_0x470b6f=_0x470b6f||0x1f4;return function(_0x2209b3){logger[_0x79c0('0x28')](_0x2209b3[_0x79c0('0x29')]);if(_0x2209b3[_0x79c0('0x2a')]){delete _0x2209b3[_0x79c0('0x2a')];}_0x515ba8['status'](_0x470b6f)[_0x79c0('0x2b')](_0x2209b3);};}exports[_0x79c0('0x2c')]=function(_0x1128d2,_0x5711fd){var _0x2c6c26={},_0x40c64a={},_0x4f6d52={'count':0x0,'rows':[]};var _0x3d7756=_[_0x79c0('0x2d')](db[_0x79c0('0x2e')][_0x79c0('0x2f')],function(_0x144c82){return{'name':_0x144c82['fieldName'],'type':_0x144c82[_0x79c0('0x30')][_0x79c0('0x31')]};});_0x40c64a[_0x79c0('0x32')]=_['map'](_0x3d7756,_0x79c0('0x2a'));_0x40c64a['query']=_[_0x79c0('0x33')](_0x1128d2[_0x79c0('0x34')]);_0x40c64a[_0x79c0('0x35')]=_['intersection'](_0x40c64a[_0x79c0('0x32')],_0x40c64a[_0x79c0('0x34')]);_0x2c6c26[_0x79c0('0x36')]=_[_0x79c0('0x37')](_0x40c64a[_0x79c0('0x32')],qs[_0x79c0('0x38')](_0x1128d2[_0x79c0('0x34')][_0x79c0('0x38')]));_0x2c6c26['attributes']=_0x2c6c26['attributes'][_0x79c0('0x39')]?_0x2c6c26['attributes']:_0x40c64a[_0x79c0('0x32')];if(!_0x1128d2['query'][_0x79c0('0x3a')]('nolimit')){_0x2c6c26[_0x79c0('0x21')]=qs[_0x79c0('0x21')](_0x1128d2[_0x79c0('0x34')][_0x79c0('0x21')]);_0x2c6c26[_0x79c0('0x20')]=qs['offset'](_0x1128d2[_0x79c0('0x34')]['offset']);}_0x2c6c26[_0x79c0('0x3b')]=qs[_0x79c0('0x3c')](_0x1128d2[_0x79c0('0x34')][_0x79c0('0x3c')]);_0x2c6c26['where']=qs['filters'](_['pick'](_0x1128d2[_0x79c0('0x34')],_0x40c64a['filters']),_0x3d7756);if(_0x1128d2[_0x79c0('0x34')][_0x79c0('0x3d')]){_0x2c6c26[_0x79c0('0x3e')]=_[_0x79c0('0x3f')](_0x2c6c26['where'],{'$or':_[_0x79c0('0x2d')](_0x3d7756,function(_0x55f732){if(_0x55f732[_0x79c0('0x30')]!==_0x79c0('0x40')){var _0x94a3c5={};_0x94a3c5[_0x55f732[_0x79c0('0x2a')]]={'$like':'%'+_0x1128d2[_0x79c0('0x34')][_0x79c0('0x3d')]+'%'};return _0x94a3c5;}})});}_0x2c6c26=_[_0x79c0('0x3f')]({},_0x2c6c26,_0x1128d2[_0x79c0('0x41')]);var _0x292bc9={'where':_0x2c6c26['where']};return db['Dashboard'][_0x79c0('0x1f')](_0x292bc9)[_0x79c0('0x26')](function(_0x1e83e8){_0x4f6d52['count']=_0x1e83e8;if(_0x1128d2[_0x79c0('0x34')][_0x79c0('0x42')]){_0x2c6c26['include']=[{'all':!![]}];}return db[_0x79c0('0x2e')][_0x79c0('0x43')](_0x2c6c26);})[_0x79c0('0x26')](function(_0x3f96ff){_0x4f6d52[_0x79c0('0x44')]=_0x3f96ff;return _0x4f6d52;})['then'](respondWithFilteredResult(_0x5711fd,_0x2c6c26))[_0x79c0('0x45')](handleError(_0x5711fd,null));};exports['show']=function(_0x185edb,_0x1308ad){var _0x577167={'raw':![],'where':{'id':_0x185edb[_0x79c0('0x46')]['id']}},_0x40deb5={};_0x40deb5[_0x79c0('0x32')]=_[_0x79c0('0x33')](db[_0x79c0('0x2e')][_0x79c0('0x2f')]);_0x40deb5[_0x79c0('0x34')]=_[_0x79c0('0x33')](_0x185edb[_0x79c0('0x34')]);_0x40deb5[_0x79c0('0x35')]=_['intersection'](_0x40deb5['model'],_0x40deb5[_0x79c0('0x34')]);_0x577167[_0x79c0('0x36')]=_['intersection'](_0x40deb5[_0x79c0('0x32')],qs['fields'](_0x185edb['query'][_0x79c0('0x38')]));_0x577167[_0x79c0('0x36')]=_0x577167[_0x79c0('0x36')][_0x79c0('0x39')]?_0x577167['attributes']:_0x40deb5['model'];if(_0x185edb[_0x79c0('0x34')][_0x79c0('0x42')]){_0x577167[_0x79c0('0x47')]=[{'all':!![]}];}_0x577167=_[_0x79c0('0x3f')]({},_0x577167,_0x185edb[_0x79c0('0x41')]);return db[_0x79c0('0x2e')][_0x79c0('0x48')](_0x577167)[_0x79c0('0x26')](handleEntityNotFound(_0x1308ad,null))[_0x79c0('0x26')](respondWithResult(_0x1308ad,null))[_0x79c0('0x45')](handleError(_0x1308ad,null));};exports[_0x79c0('0x49')]=function(_0x264827,_0x318780){return db[_0x79c0('0x2e')][_0x79c0('0x49')](_0x264827[_0x79c0('0x4a')],{})[_0x79c0('0x26')](function(_0x2f4f68){var _0x57c4c2=_0x264827['user'][_0x79c0('0x4b')]({'plain':!![]});if(!_0x57c4c2)throw new Error(_0x79c0('0x4c'));if(_0x57c4c2[_0x79c0('0x4d')]===_0x79c0('0x4e')){var _0x4af67f=_0x2f4f68[_0x79c0('0x4b')]({'plain':!![]});var _0x536e89=_0x79c0('0x27');return db[_0x79c0('0x4f')][_0x79c0('0x48')]({'where':{'name':_0x536e89,'userProfileId':_0x57c4c2[_0x79c0('0x50')]},'raw':!![]})[_0x79c0('0x26')](function(_0x23ed9f){if(_0x23ed9f&&_0x23ed9f['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x4af67f[_0x79c0('0x2a')],'resourceId':_0x4af67f['id'],'type':_0x23ed9f[_0x79c0('0x2a')],'sectionId':_0x23ed9f['id']},{})['then'](function(){return _0x2f4f68;});}else{return _0x2f4f68;}})['catch'](function(_0x449708){logger[_0x79c0('0x28')](_0x79c0('0x51'),_0x449708);throw _0x449708;});}return _0x2f4f68;})[_0x79c0('0x26')](respondWithResult(_0x318780,0xc9))[_0x79c0('0x45')](handleError(_0x318780,null));};exports[_0x79c0('0x52')]=function(_0x17c8d3,_0x56e8ec){var _0xfd88e2={'where':{'id':_0x17c8d3[_0x79c0('0x46')]['id']}},_0x1eac8d={};_0x1eac8d[_0x79c0('0x32')]=_['keys'](db['Dashboard'][_0x79c0('0x2f')]);_0xfd88e2['attributes']=_[_0x79c0('0x37')](_0x1eac8d['model'],qs[_0x79c0('0x38')](_0x17c8d3[_0x79c0('0x34')][_0x79c0('0x38')]));_0xfd88e2[_0x79c0('0x36')]=_0xfd88e2[_0x79c0('0x36')][_0x79c0('0x39')]?_0xfd88e2['attributes']:_0x1eac8d[_0x79c0('0x32')];if(_0x17c8d3['query']['includeAll']){_0xfd88e2[_0x79c0('0x47')]=[{'all':!![]}];}_0xfd88e2=_[_0x79c0('0x3f')]({},_0xfd88e2,_0x17c8d3['options']);return db['Dashboard'][_0x79c0('0x48')](_0xfd88e2)[_0x79c0('0x26')](handleEntityNotFound(_0x56e8ec,null))[_0x79c0('0x26')](function(_0x2a4424){if(_0x2a4424){var _0x341a77=_0x2a4424['get']({'plain':!![]});_0x341a77=qs[_0x79c0('0x53')](_0x341a77,['id','createdAt',_0x79c0('0x54')]);_0x17c8d3[_0x79c0('0x4a')]=_[_0x79c0('0x53')](_0x17c8d3[_0x79c0('0x4a')],['id',_0x79c0('0x55'),_0x79c0('0x54')]);return db['Dashboard'][_0x79c0('0x49')](_[_0x79c0('0x3f')](_0x341a77,_0x17c8d3[_0x79c0('0x4a')]),{'include':_0x17c8d3[_0x79c0('0x34')][_0x79c0('0x42')]?[{'all':!![]}]:undefined})['then'](function(_0xf12362){var _0x4f5dae=_0x17c8d3['user'][_0x79c0('0x4b')]({'plain':!![]});if(!_0x4f5dae)throw new Error(_0x79c0('0x4c'));if(_0x4f5dae[_0x79c0('0x4d')]===_0x79c0('0x4e')){var _0x107ca9=_0xf12362[_0x79c0('0x4b')]({'plain':!![]});var _0x3b06b0='CustomDashboards';return db[_0x79c0('0x4f')][_0x79c0('0x48')]({'where':{'name':_0x3b06b0,'userProfileId':_0x4f5dae[_0x79c0('0x50')]},'raw':!![]})[_0x79c0('0x26')](function(_0x170cf4){if(_0x170cf4&&_0x170cf4['autoAssociation']===0x0){return db[_0x79c0('0x56')][_0x79c0('0x49')]({'name':_0x107ca9[_0x79c0('0x2a')],'resourceId':_0x107ca9['id'],'type':_0x170cf4[_0x79c0('0x2a')],'sectionId':_0x170cf4['id']},{})[_0x79c0('0x26')](function(){return _0xf12362;});}else{return _0xf12362;}})[_0x79c0('0x45')](function(_0x5b526d){logger[_0x79c0('0x28')](_0x79c0('0x51'),_0x5b526d);throw _0x5b526d;});}return _0xf12362;});}})[_0x79c0('0x26')](respondWithResult(_0x56e8ec,0xc9))[_0x79c0('0x45')](handleError(_0x56e8ec,null));};exports[_0x79c0('0x24')]=function(_0x114b6c,_0x1c6a0b){if(_0x114b6c[_0x79c0('0x4a')]['id']){delete _0x114b6c[_0x79c0('0x4a')]['id'];}return db[_0x79c0('0x2e')][_0x79c0('0x48')]({'where':{'id':_0x114b6c[_0x79c0('0x46')]['id']}})[_0x79c0('0x26')](handleEntityNotFound(_0x1c6a0b,null))[_0x79c0('0x26')](saveUpdates(_0x114b6c[_0x79c0('0x4a')],null))['then'](respondWithResult(_0x1c6a0b,null))[_0x79c0('0x45')](handleError(_0x1c6a0b,null));};exports[_0x79c0('0x25')]=function(_0x11611a,_0x36de2c){return db[_0x79c0('0x2e')]['find']({'where':{'id':_0x11611a['params']['id']}})[_0x79c0('0x26')](handleEntityNotFound(_0x36de2c,null))[_0x79c0('0x26')](removeEntity(_0x36de2c,null))[_0x79c0('0x45')](handleError(_0x36de2c,null));};function widgetAttributes(_0x14367f){try{switch(_0x14367f[_0x79c0('0x30')]){case'iframe':return[{'name':_0x79c0('0x57'),'value':_0x14367f['attrUrl']||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x0]?_0x14367f['attrs'][0x0][_0x79c0('0x59')]:undefined)||'https://'}];case _0x79c0('0x5a'):return[{'name':'attrPath','value':_0x14367f[_0x79c0('0x5b')]||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x0]?_0x14367f['attrs'][0x0][_0x79c0('0x59')]:undefined)||''}];case _0x79c0('0x5c'):return[{'name':_0x79c0('0x5d'),'value':_0x14367f[_0x79c0('0x5d')]||(_0x14367f[_0x79c0('0x58')]&&_0x14367f['attrs'][0x0]?_0x14367f[_0x79c0('0x58')][0x0][_0x79c0('0x59')]:undefined)||_0x79c0('0x5e')},{'name':_0x79c0('0x5f'),'value':_0x14367f[_0x79c0('0x5f')]||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x1]?_0x14367f[_0x79c0('0x58')][0x1]['value']:undefined)||_0x79c0('0x60')},{'name':_0x79c0('0x61'),'value':_0x14367f[_0x79c0('0x61')]||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x2]?_0x14367f[_0x79c0('0x58')][0x2]['value']:undefined)||0xc}];case _0x79c0('0x62'):return[{'name':_0x79c0('0x63'),'value':_0x14367f['attrMetric']||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x0]?_0x14367f['attrs'][0x0][_0x79c0('0x59')]:undefined)||_0x79c0('0x64')},{'name':'attrVoiceQueues','value':_0x14367f[_0x79c0('0x65')]||(_0x14367f['attrs']&&_0x14367f[_0x79c0('0x58')][0x1]?_0x14367f[_0x79c0('0x58')][0x1][_0x79c0('0x59')]:undefined)||[]},{'name':'attrFontSize','value':_0x14367f[_0x79c0('0x61')]||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x2]?_0x14367f[_0x79c0('0x58')][0x2][_0x79c0('0x59')]:undefined)||0x14}];case _0x79c0('0x66'):case'pie-chart':return[{'name':_0x79c0('0x67'),'value':_0x14367f[_0x79c0('0x67')]||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x0]?_0x14367f[_0x79c0('0x58')][0x0][_0x79c0('0x59')]:undefined)||_0x79c0('0x64')},{'name':_0x79c0('0x68'),'value':_0x14367f[_0x79c0('0x68')]||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x1]?_0x14367f[_0x79c0('0x58')][0x1][_0x79c0('0x59')]:undefined)||null},{'name':_0x79c0('0x69'),'value':_0x14367f[_0x79c0('0x69')]||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x2]?_0x14367f['attrs'][0x2][_0x79c0('0x59')]:undefined)||null},{'name':'attrVoiceQueues','value':_0x14367f['attrVoiceQueues']||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x3]?_0x14367f[_0x79c0('0x58')][0x3][_0x79c0('0x59')]:undefined)||[]}];case _0x79c0('0x6a'):return[{'name':'attrReport','type':_0x14367f[_0x79c0('0x6b')]||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x0]?_0x14367f[_0x79c0('0x58')][0x0][_0x79c0('0x30')]:undefined)||null,'value':_0x14367f[_0x79c0('0x6c')]||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x0]?_0x14367f[_0x79c0('0x58')][0x0][_0x79c0('0x59')]:undefined)||null},{'name':_0x79c0('0x6d'),'value':_0x14367f['attrRefresh']||(_0x14367f[_0x79c0('0x58')]&&_0x14367f[_0x79c0('0x58')][0x1]?_0x14367f[_0x79c0('0x58')][0x1][_0x79c0('0x59')]:undefined)||0x0}];default:return[];}}catch(_0x4d5839){logger[_0x79c0('0x28')](_0x79c0('0x6e'),JSON[_0x79c0('0x6f')](_0x4d5839));return[];}}exports[_0x79c0('0x70')]=function(_0x2a9662,_0x5806fc,_0x5ff66e){if(_0x2a9662[_0x79c0('0x4a')]['id']){delete _0x2a9662[_0x79c0('0x4a')]['id'];}return db[_0x79c0('0x2e')][_0x79c0('0x48')]({'where':{'id':_0x2a9662[_0x79c0('0x46')]['id']}})['then'](handleEntityNotFound(_0x5806fc,null))[_0x79c0('0x26')](function(_0x6e64a8){if(_0x6e64a8){_0x2a9662['body'][_0x79c0('0x71')]=_0x6e64a8['id'];_0x2a9662[_0x79c0('0x4a')][_0x79c0('0x58')]=widgetAttributes(_0x2a9662[_0x79c0('0x4a')]);return db[_0x79c0('0x72')][_0x79c0('0x49')](_0x2a9662[_0x79c0('0x4a')]);}})[_0x79c0('0x26')](respondWithResult(_0x5806fc,null))[_0x79c0('0x45')](handleError(_0x5806fc,null));};exports[_0x79c0('0x73')]=function(_0x48c936,_0xf9126d,_0x19ae38){var _0x3f3d86={};var _0x1ec629={};var _0x56b2c3;var _0x131dee;return db[_0x79c0('0x2e')]['findOne']({'where':{'id':_0x48c936[_0x79c0('0x46')]['id']}})[_0x79c0('0x26')](handleEntityNotFound(_0xf9126d,null))[_0x79c0('0x26')](function(_0x40aca9){if(_0x40aca9){_0x56b2c3=_0x40aca9;_0x1ec629[_0x79c0('0x32')]=_['keys'](db[_0x79c0('0x72')][_0x79c0('0x2f')]);_0x1ec629[_0x79c0('0x34')]=_[_0x79c0('0x33')](_0x48c936['query']);_0x1ec629[_0x79c0('0x35')]=_[_0x79c0('0x37')](_0x1ec629[_0x79c0('0x32')],_0x1ec629['query']);_0x3f3d86[_0x79c0('0x36')]=_[_0x79c0('0x37')](_0x1ec629['model'],qs[_0x79c0('0x38')](_0x48c936['query'][_0x79c0('0x38')]));_0x3f3d86[_0x79c0('0x36')]=_0x3f3d86[_0x79c0('0x36')][_0x79c0('0x39')]?_0x3f3d86[_0x79c0('0x36')]:_0x1ec629['model'];_0x3f3d86[_0x79c0('0x3b')]=qs[_0x79c0('0x3c')](_0x48c936[_0x79c0('0x34')][_0x79c0('0x3c')]);_0x3f3d86[_0x79c0('0x3e')]=qs[_0x79c0('0x35')](_[_0x79c0('0x74')](_0x48c936[_0x79c0('0x34')],_0x1ec629[_0x79c0('0x35')]));if(_0x48c936['query']['filter']){_0x3f3d86['where']=_[_0x79c0('0x3f')](_0x3f3d86['where'],{'$or':_[_0x79c0('0x2d')](_0x3f3d86[_0x79c0('0x36')],function(_0x50d91a){var _0x4c5342={};_0x4c5342[_0x50d91a]={'$like':'%'+_0x48c936[_0x79c0('0x34')][_0x79c0('0x3d')]+'%'};return _0x4c5342;})});}_0x3f3d86=_[_0x79c0('0x3f')]({},_0x3f3d86,_0x48c936['options']);return _0x56b2c3['getItems'](_0x3f3d86);}})[_0x79c0('0x26')](function(_0x136697){if(_0x136697){_0x131dee=_0x136697[_0x79c0('0x39')];if(!_0x48c936[_0x79c0('0x34')]['hasOwnProperty'](_0x79c0('0x75'))){_0x3f3d86[_0x79c0('0x21')]=qs[_0x79c0('0x21')](_0x48c936[_0x79c0('0x34')][_0x79c0('0x21')]);_0x3f3d86[_0x79c0('0x20')]=qs['offset'](_0x48c936['query'][_0x79c0('0x20')]);}return _0x56b2c3[_0x79c0('0x73')](_0x3f3d86);}})['then'](function(_0x4533b6){if(_0x4533b6){return _0x4533b6?{'count':_0x131dee,'rows':_0x4533b6}:null;}})[_0x79c0('0x26')](respondWithResult(_0xf9126d,null))[_0x79c0('0x45')](handleError(_0xf9126d,null));};