a5c21c4b54d54dbf218002946d58b1e2614e5413
[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 _0x186e=['../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','redis','defaults','localhost','register','end','status','json','count','offset','limit','set','Content-Range','apply','reject','update','then','destroy','get','UserProfileResource','sendStatus','error','name','send','map','rawAttributes','fieldName','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','VIRTUAL','filter','options','Dashboard','include','findAll','rows','catch','show','params','length','find','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','CustomDashboards','UserProfileSection','autoAssociation','includeAll','omit','createdAt','updatedAt','body','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','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','attrReport','attrRefresh','widgetAttributes:\x20%s','stringify','addItem','DashboardId','DashboardItem','getItems','html-pdf','eml-format','rimraf','zip-dir','bluebird','mustache','path','sox','to-csv','ejs','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x53ccf2,_0x13cb67){var _0x5a2964=function(_0x3b0514){while(--_0x3b0514){_0x53ccf2['push'](_0x53ccf2['shift']());}};_0x5a2964(++_0x13cb67);}(_0x186e,0x65));var _0xe186=function(_0x318201,_0x2c580c){_0x318201=_0x318201-0x0;var _0x22d52f=_0x186e[_0x318201];return _0x22d52f;};'use strict';var pdf=require(_0xe186('0x0'));var emlformat=require(_0xe186('0x1'));var rimraf=require(_0xe186('0x2'));var zipdir=require(_0xe186('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xe186('0x4'));var Mustache=require(_0xe186('0x5'));var util=require('util');var path=require(_0xe186('0x6'));var sox=require(_0xe186('0x7'));var csv=require(_0xe186('0x8'));var ejs=require(_0xe186('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xe186('0xa'));var crypto=require('crypto');var jsforce=require(_0xe186('0xb'));var deskjs=require(_0xe186('0xc'));var toCsv=require('to-csv');var querystring=require(_0xe186('0xd'));var Papa=require('papaparse');var Redis=require(_0xe186('0xe'));var authService=require(_0xe186('0xf'));var qs=require(_0xe186('0x10'));var as=require(_0xe186('0x11'));var hardwareService=require(_0xe186('0x12'));var logger=require(_0xe186('0x13'))('api');var utils=require(_0xe186('0x14'));var config=require(_0xe186('0x15'));var db=require('../../mysqldb')['db'];config[_0xe186('0x16')]=_[_0xe186('0x17')](config[_0xe186('0x16')],{'host':_0xe186('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xe186('0x16')]));require('./dashboard.socket')[_0xe186('0x19')](socket);function respondWithStatusCode(_0x5ac5b5,_0x1216a2){_0x1216a2=_0x1216a2||0xcc;return function(_0x2e0540){if(_0x2e0540){return _0x5ac5b5['sendStatus'](_0x1216a2);}return _0x5ac5b5['status'](_0x1216a2)[_0xe186('0x1a')]();};}function respondWithResult(_0x482521,_0x44aedf){_0x44aedf=_0x44aedf||0xc8;return function(_0x397b74){if(_0x397b74){return _0x482521[_0xe186('0x1b')](_0x44aedf)[_0xe186('0x1c')](_0x397b74);}};}function respondWithFilteredResult(_0x2884e6,_0x4a7a4d){return function(_0x266ce2){if(_0x266ce2){var _0x248a38=_0x266ce2[_0xe186('0x1d')],_0x557231=_0x4a7a4d['offset'],_0xc0474c=_0x4a7a4d[_0xe186('0x1e')]+_0x4a7a4d[_0xe186('0x1f')],_0x34f44c;if(_0xc0474c>=_0x248a38){_0xc0474c=_0x248a38;_0x34f44c=0xc8;}else{_0x34f44c=0xce;}_0x2884e6[_0xe186('0x1b')](_0x34f44c);return _0x2884e6[_0xe186('0x20')](_0xe186('0x21'),_0x557231+'-'+_0xc0474c+'/'+_0x248a38)['json'](_0x266ce2);}return null;};}function patchUpdates(_0x203da5){return function(_0x22298e){try{jsonpatch[_0xe186('0x22')](_0x22298e,_0x203da5,!![]);}catch(_0x2b7659){return BPromise[_0xe186('0x23')](_0x2b7659);}return _0x22298e['save']();};}function saveUpdates(_0x45e64,_0x1b34ca){return function(_0x5a06ba){if(_0x5a06ba){return _0x5a06ba[_0xe186('0x24')](_0x45e64)[_0xe186('0x25')](function(_0x1ce809){return _0x1ce809;});}return null;};}function removeEntity(_0x43e608,_0x5e3cc5){return function(_0x1cfda5){if(_0x1cfda5){return _0x1cfda5[_0xe186('0x26')]()[_0xe186('0x25')](function(){var _0x54566a=_0x1cfda5[_0xe186('0x27')]({'plain':!![]});var _0x3a87ef='CustomDashboards';return db[_0xe186('0x28')][_0xe186('0x26')]({'where':{'type':_0x3a87ef,'resourceId':_0x54566a['id']}})[_0xe186('0x25')](function(){return _0x1cfda5;});})[_0xe186('0x25')](function(){_0x43e608[_0xe186('0x1b')](0xcc)[_0xe186('0x1a')]();});}};}function handleEntityNotFound(_0x3d7fae,_0x937eb8){return function(_0x441b78){if(!_0x441b78){_0x3d7fae[_0xe186('0x29')](0x194);}return _0x441b78;};}function handleError(_0x2da440,_0x3ffaf7){_0x3ffaf7=_0x3ffaf7||0x1f4;return function(_0x3a1d58){logger[_0xe186('0x2a')](_0x3a1d58['stack']);if(_0x3a1d58[_0xe186('0x2b')]){delete _0x3a1d58[_0xe186('0x2b')];}_0x2da440[_0xe186('0x1b')](_0x3ffaf7)[_0xe186('0x2c')](_0x3a1d58);};}exports['index']=function(_0x9bb9dd,_0x10b8f2){var _0x4ddd08={},_0x3a3ddd={},_0x55da05={'count':0x0,'rows':[]};var _0x599a2a=_[_0xe186('0x2d')](db['Dashboard'][_0xe186('0x2e')],function(_0x242532){return{'name':_0x242532[_0xe186('0x2f')],'type':_0x242532['type'][_0xe186('0x30')]};});_0x3a3ddd[_0xe186('0x31')]=_[_0xe186('0x2d')](_0x599a2a,_0xe186('0x2b'));_0x3a3ddd[_0xe186('0x32')]=_[_0xe186('0x33')](_0x9bb9dd[_0xe186('0x32')]);_0x3a3ddd[_0xe186('0x34')]=_['intersection'](_0x3a3ddd[_0xe186('0x31')],_0x3a3ddd[_0xe186('0x32')]);_0x4ddd08[_0xe186('0x35')]=_[_0xe186('0x36')](_0x3a3ddd[_0xe186('0x31')],qs[_0xe186('0x37')](_0x9bb9dd[_0xe186('0x32')][_0xe186('0x37')]));_0x4ddd08[_0xe186('0x35')]=_0x4ddd08[_0xe186('0x35')]['length']?_0x4ddd08[_0xe186('0x35')]:_0x3a3ddd[_0xe186('0x31')];if(!_0x9bb9dd[_0xe186('0x32')][_0xe186('0x38')](_0xe186('0x39'))){_0x4ddd08['limit']=qs['limit'](_0x9bb9dd['query'][_0xe186('0x1f')]);_0x4ddd08[_0xe186('0x1e')]=qs[_0xe186('0x1e')](_0x9bb9dd['query']['offset']);}_0x4ddd08[_0xe186('0x3a')]=qs[_0xe186('0x3b')](_0x9bb9dd[_0xe186('0x32')]['sort']);_0x4ddd08[_0xe186('0x3c')]=qs[_0xe186('0x34')](_[_0xe186('0x3d')](_0x9bb9dd['query'],_0x3a3ddd[_0xe186('0x34')]),_0x599a2a);if(_0x9bb9dd['query']['filter']){_0x4ddd08['where']=_[_0xe186('0x3e')](_0x4ddd08[_0xe186('0x3c')],{'$or':_[_0xe186('0x2d')](_0x599a2a,function(_0xef7092){if(_0xef7092[_0xe186('0x3f')]!==_0xe186('0x40')){var _0x2a72ea={};_0x2a72ea[_0xef7092[_0xe186('0x2b')]]={'$like':'%'+_0x9bb9dd[_0xe186('0x32')][_0xe186('0x41')]+'%'};return _0x2a72ea;}})});}_0x4ddd08=_['merge']({},_0x4ddd08,_0x9bb9dd[_0xe186('0x42')]);var _0x4b8974={'where':_0x4ddd08[_0xe186('0x3c')]};return db[_0xe186('0x43')][_0xe186('0x1d')](_0x4b8974)['then'](function(_0x11106a){_0x55da05[_0xe186('0x1d')]=_0x11106a;if(_0x9bb9dd[_0xe186('0x32')]['includeAll']){_0x4ddd08[_0xe186('0x44')]=[{'all':!![]}];}return db[_0xe186('0x43')][_0xe186('0x45')](_0x4ddd08);})['then'](function(_0x83258e){_0x55da05[_0xe186('0x46')]=_0x83258e;return _0x55da05;})['then'](respondWithFilteredResult(_0x10b8f2,_0x4ddd08))[_0xe186('0x47')](handleError(_0x10b8f2,null));};exports[_0xe186('0x48')]=function(_0x1349a1,_0x1064d5){var _0x9dcfe={'raw':![],'where':{'id':_0x1349a1[_0xe186('0x49')]['id']}},_0x3632a7={};_0x3632a7[_0xe186('0x31')]=_[_0xe186('0x33')](db[_0xe186('0x43')][_0xe186('0x2e')]);_0x3632a7[_0xe186('0x32')]=_[_0xe186('0x33')](_0x1349a1['query']);_0x3632a7[_0xe186('0x34')]=_['intersection'](_0x3632a7[_0xe186('0x31')],_0x3632a7[_0xe186('0x32')]);_0x9dcfe[_0xe186('0x35')]=_[_0xe186('0x36')](_0x3632a7[_0xe186('0x31')],qs[_0xe186('0x37')](_0x1349a1['query'][_0xe186('0x37')]));_0x9dcfe[_0xe186('0x35')]=_0x9dcfe['attributes'][_0xe186('0x4a')]?_0x9dcfe['attributes']:_0x3632a7['model'];if(_0x1349a1[_0xe186('0x32')]['includeAll']){_0x9dcfe[_0xe186('0x44')]=[{'all':!![]}];}_0x9dcfe=_[_0xe186('0x3e')]({},_0x9dcfe,_0x1349a1[_0xe186('0x42')]);return db['Dashboard'][_0xe186('0x4b')](_0x9dcfe)[_0xe186('0x25')](handleEntityNotFound(_0x1064d5,null))[_0xe186('0x25')](respondWithResult(_0x1064d5,null))[_0xe186('0x47')](handleError(_0x1064d5,null));};exports[_0xe186('0x4c')]=function(_0x38b53b,_0x47f139){return db[_0xe186('0x43')][_0xe186('0x4c')](_0x38b53b['body'],{})[_0xe186('0x25')](function(_0xc2f7bb){var _0x1e3530=_0x38b53b['user'][_0xe186('0x27')]({'plain':!![]});if(!_0x1e3530)throw new Error(_0xe186('0x4d'));if(_0x1e3530[_0xe186('0x4e')]===_0xe186('0x4f')){var _0x257c64=_0xc2f7bb['get']({'plain':!![]});var _0x3ebbea=_0xe186('0x50');return db[_0xe186('0x51')][_0xe186('0x4b')]({'where':{'name':_0x3ebbea,'userProfileId':_0x1e3530['userProfileId']},'raw':!![]})[_0xe186('0x25')](function(_0x42519b){if(_0x42519b&&_0x42519b[_0xe186('0x52')]===0x0){return db['UserProfileResource'][_0xe186('0x4c')]({'name':_0x257c64[_0xe186('0x2b')],'resourceId':_0x257c64['id'],'type':_0x42519b[_0xe186('0x2b')],'sectionId':_0x42519b['id']},{})[_0xe186('0x25')](function(){return _0xc2f7bb;});}else{return _0xc2f7bb;}})[_0xe186('0x47')](function(_0x4c2810){logger[_0xe186('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4c2810);throw _0x4c2810;});}return _0xc2f7bb;})[_0xe186('0x25')](respondWithResult(_0x47f139,0xc9))['catch'](handleError(_0x47f139,null));};exports['clone']=function(_0x52827f,_0x29ff2c){var _0x44088a={'where':{'id':_0x52827f['params']['id']}},_0x2733d5={};_0x2733d5['model']=_['keys'](db[_0xe186('0x43')][_0xe186('0x2e')]);_0x44088a['attributes']=_['intersection'](_0x2733d5[_0xe186('0x31')],qs[_0xe186('0x37')](_0x52827f[_0xe186('0x32')][_0xe186('0x37')]));_0x44088a['attributes']=_0x44088a[_0xe186('0x35')]['length']?_0x44088a['attributes']:_0x2733d5[_0xe186('0x31')];if(_0x52827f[_0xe186('0x32')][_0xe186('0x53')]){_0x44088a[_0xe186('0x44')]=[{'all':!![]}];}_0x44088a=_['merge']({},_0x44088a,_0x52827f[_0xe186('0x42')]);return db['Dashboard'][_0xe186('0x4b')](_0x44088a)[_0xe186('0x25')](handleEntityNotFound(_0x29ff2c,null))[_0xe186('0x25')](function(_0x541740){if(_0x541740){var _0x204d46=_0x541740['get']({'plain':!![]});_0x204d46=qs[_0xe186('0x54')](_0x204d46,['id',_0xe186('0x55'),_0xe186('0x56')]);_0x52827f[_0xe186('0x57')]=_[_0xe186('0x54')](_0x52827f[_0xe186('0x57')],['id','createdAt',_0xe186('0x56')]);return db[_0xe186('0x43')][_0xe186('0x4c')](_[_0xe186('0x3e')](_0x204d46,_0x52827f[_0xe186('0x57')]),{'include':_0x52827f[_0xe186('0x32')]['includeAll']?[{'all':!![]}]:undefined})['then'](function(_0x4a565c){var _0x59c607=_0x52827f[_0xe186('0x4f')][_0xe186('0x27')]({'plain':!![]});if(!_0x59c607)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x59c607[_0xe186('0x4e')]==='user'){var _0x3e5429=_0x4a565c[_0xe186('0x27')]({'plain':!![]});var _0x2060aa=_0xe186('0x50');return db[_0xe186('0x51')][_0xe186('0x4b')]({'where':{'name':_0x2060aa,'userProfileId':_0x59c607['userProfileId']},'raw':!![]})[_0xe186('0x25')](function(_0x45068d){if(_0x45068d&&_0x45068d[_0xe186('0x52')]===0x0){return db[_0xe186('0x28')][_0xe186('0x4c')]({'name':_0x3e5429[_0xe186('0x2b')],'resourceId':_0x3e5429['id'],'type':_0x45068d['name'],'sectionId':_0x45068d['id']},{})[_0xe186('0x25')](function(){return _0x4a565c;});}else{return _0x4a565c;}})[_0xe186('0x47')](function(_0x8482a4){logger[_0xe186('0x2a')](_0xe186('0x58'),_0x8482a4);throw _0x8482a4;});}return _0x4a565c;});}})['then'](respondWithResult(_0x29ff2c,0xc9))[_0xe186('0x47')](handleError(_0x29ff2c,null));};exports[_0xe186('0x24')]=function(_0x42117d,_0x542159){if(_0x42117d['body']['id']){delete _0x42117d[_0xe186('0x57')]['id'];}return db[_0xe186('0x43')][_0xe186('0x4b')]({'where':{'id':_0x42117d[_0xe186('0x49')]['id']}})['then'](handleEntityNotFound(_0x542159,null))['then'](saveUpdates(_0x42117d[_0xe186('0x57')],null))[_0xe186('0x25')](respondWithResult(_0x542159,null))[_0xe186('0x47')](handleError(_0x542159,null));};exports[_0xe186('0x26')]=function(_0x2b29ba,_0x396ca4){return db[_0xe186('0x43')]['find']({'where':{'id':_0x2b29ba[_0xe186('0x49')]['id']}})['then'](handleEntityNotFound(_0x396ca4,null))[_0xe186('0x25')](removeEntity(_0x396ca4,null))['catch'](handleError(_0x396ca4,null));};function widgetAttributes(_0x36289d){try{switch(_0x36289d['type']){case'iframe':return[{'name':'attrUrl','value':_0x36289d[_0xe186('0x59')]||(_0x36289d[_0xe186('0x5a')]&&_0x36289d[_0xe186('0x5a')][0x0]?_0x36289d['attrs'][0x0][_0xe186('0x5b')]:undefined)||_0xe186('0x5c')}];case _0xe186('0x5d'):return[{'name':_0xe186('0x5e'),'value':_0x36289d[_0xe186('0x5e')]||(_0x36289d[_0xe186('0x5a')]&&_0x36289d[_0xe186('0x5a')][0x0]?_0x36289d['attrs'][0x0][_0xe186('0x5b')]:undefined)||''}];case _0xe186('0x5f'):return[{'name':_0xe186('0x60'),'value':_0x36289d[_0xe186('0x60')]||(_0x36289d['attrs']&&_0x36289d['attrs'][0x0]?_0x36289d[_0xe186('0x5a')][0x0][_0xe186('0x5b')]:undefined)||_0xe186('0x61')},{'name':'attrTimezone','value':_0x36289d[_0xe186('0x62')]||(_0x36289d[_0xe186('0x5a')]&&_0x36289d[_0xe186('0x5a')][0x1]?_0x36289d[_0xe186('0x5a')][0x1]['value']:undefined)||_0xe186('0x63')},{'name':'attrFontSize','value':_0x36289d[_0xe186('0x64')]||(_0x36289d[_0xe186('0x5a')]&&_0x36289d[_0xe186('0x5a')][0x2]?_0x36289d[_0xe186('0x5a')][0x2][_0xe186('0x5b')]:undefined)||0xc}];case _0xe186('0x65'):return[{'name':_0xe186('0x66'),'value':_0x36289d[_0xe186('0x66')]||(_0x36289d['attrs']&&_0x36289d[_0xe186('0x5a')][0x0]?_0x36289d[_0xe186('0x5a')][0x0]['value']:undefined)||_0xe186('0x67')},{'name':_0xe186('0x68'),'value':_0x36289d['attrVoiceQueues']||(_0x36289d[_0xe186('0x5a')]&&_0x36289d[_0xe186('0x5a')][0x1]?_0x36289d[_0xe186('0x5a')][0x1][_0xe186('0x5b')]:undefined)||[]},{'name':_0xe186('0x64'),'value':_0x36289d[_0xe186('0x64')]||(_0x36289d['attrs']&&_0x36289d[_0xe186('0x5a')][0x2]?_0x36289d[_0xe186('0x5a')][0x2][_0xe186('0x5b')]:undefined)||0x14}];case _0xe186('0x69'):case _0xe186('0x6a'):return[{'name':'attrSerie1','value':_0x36289d[_0xe186('0x6b')]||(_0x36289d['attrs']&&_0x36289d['attrs'][0x0]?_0x36289d[_0xe186('0x5a')][0x0][_0xe186('0x5b')]:undefined)||_0xe186('0x67')},{'name':'attrSerie2','value':_0x36289d[_0xe186('0x6c')]||(_0x36289d[_0xe186('0x5a')]&&_0x36289d[_0xe186('0x5a')][0x1]?_0x36289d[_0xe186('0x5a')][0x1][_0xe186('0x5b')]:undefined)||null},{'name':'attrSerie3','value':_0x36289d[_0xe186('0x6d')]||(_0x36289d['attrs']&&_0x36289d[_0xe186('0x5a')][0x2]?_0x36289d['attrs'][0x2]['value']:undefined)||null},{'name':_0xe186('0x68'),'value':_0x36289d[_0xe186('0x68')]||(_0x36289d[_0xe186('0x5a')]&&_0x36289d['attrs'][0x3]?_0x36289d[_0xe186('0x5a')][0x3][_0xe186('0x5b')]:undefined)||[]}];case'web-report':return[{'name':'attrReport','type':_0x36289d['reportType']||(_0x36289d[_0xe186('0x5a')]&&_0x36289d['attrs'][0x0]?_0x36289d[_0xe186('0x5a')][0x0][_0xe186('0x3f')]:undefined)||null,'value':_0x36289d[_0xe186('0x6e')]||(_0x36289d[_0xe186('0x5a')]&&_0x36289d[_0xe186('0x5a')][0x0]?_0x36289d[_0xe186('0x5a')][0x0][_0xe186('0x5b')]:undefined)||null},{'name':_0xe186('0x6f'),'value':_0x36289d[_0xe186('0x6f')]||(_0x36289d[_0xe186('0x5a')]&&_0x36289d['attrs'][0x1]?_0x36289d[_0xe186('0x5a')][0x1][_0xe186('0x5b')]:undefined)||0x0}];default:return[];}}catch(_0xbd284e){logger['error'](_0xe186('0x70'),JSON[_0xe186('0x71')](_0xbd284e));return[];}}exports[_0xe186('0x72')]=function(_0x5d9fdd,_0x334858,_0xf3794c){if(_0x5d9fdd[_0xe186('0x57')]['id']){delete _0x5d9fdd['body']['id'];}return db['Dashboard'][_0xe186('0x4b')]({'where':{'id':_0x5d9fdd[_0xe186('0x49')]['id']}})['then'](handleEntityNotFound(_0x334858,null))[_0xe186('0x25')](function(_0x4ae2fe){if(_0x4ae2fe){_0x5d9fdd[_0xe186('0x57')][_0xe186('0x73')]=_0x4ae2fe['id'];_0x5d9fdd[_0xe186('0x57')][_0xe186('0x5a')]=widgetAttributes(_0x5d9fdd['body']);return db[_0xe186('0x74')]['create'](_0x5d9fdd['body']);}})[_0xe186('0x25')](respondWithResult(_0x334858,null))[_0xe186('0x47')](handleError(_0x334858,null));};exports[_0xe186('0x75')]=function(_0x371ccf,_0x3fe76e,_0x347ef3){var _0x27ca79={};var _0x28d628={};var _0x30a195;var _0x3a083a;return db[_0xe186('0x43')]['findOne']({'where':{'id':_0x371ccf[_0xe186('0x49')]['id']}})[_0xe186('0x25')](handleEntityNotFound(_0x3fe76e,null))[_0xe186('0x25')](function(_0x576d2e){if(_0x576d2e){_0x30a195=_0x576d2e;_0x28d628['model']=_[_0xe186('0x33')](db[_0xe186('0x74')][_0xe186('0x2e')]);_0x28d628['query']=_[_0xe186('0x33')](_0x371ccf[_0xe186('0x32')]);_0x28d628[_0xe186('0x34')]=_[_0xe186('0x36')](_0x28d628['model'],_0x28d628[_0xe186('0x32')]);_0x27ca79[_0xe186('0x35')]=_[_0xe186('0x36')](_0x28d628[_0xe186('0x31')],qs[_0xe186('0x37')](_0x371ccf[_0xe186('0x32')][_0xe186('0x37')]));_0x27ca79[_0xe186('0x35')]=_0x27ca79[_0xe186('0x35')][_0xe186('0x4a')]?_0x27ca79[_0xe186('0x35')]:_0x28d628[_0xe186('0x31')];_0x27ca79[_0xe186('0x3a')]=qs[_0xe186('0x3b')](_0x371ccf[_0xe186('0x32')][_0xe186('0x3b')]);_0x27ca79['where']=qs[_0xe186('0x34')](_['pick'](_0x371ccf['query'],_0x28d628['filters']));if(_0x371ccf[_0xe186('0x32')][_0xe186('0x41')]){_0x27ca79[_0xe186('0x3c')]=_[_0xe186('0x3e')](_0x27ca79[_0xe186('0x3c')],{'$or':_[_0xe186('0x2d')](_0x27ca79[_0xe186('0x35')],function(_0x42f3fc){var _0x7dcdc5={};_0x7dcdc5[_0x42f3fc]={'$like':'%'+_0x371ccf[_0xe186('0x32')][_0xe186('0x41')]+'%'};return _0x7dcdc5;})});}_0x27ca79=_['merge']({},_0x27ca79,_0x371ccf[_0xe186('0x42')]);return _0x30a195[_0xe186('0x75')](_0x27ca79);}})['then'](function(_0x2bdc16){if(_0x2bdc16){_0x3a083a=_0x2bdc16[_0xe186('0x4a')];if(!_0x371ccf[_0xe186('0x32')][_0xe186('0x38')](_0xe186('0x39'))){_0x27ca79[_0xe186('0x1f')]=qs[_0xe186('0x1f')](_0x371ccf['query'][_0xe186('0x1f')]);_0x27ca79[_0xe186('0x1e')]=qs[_0xe186('0x1e')](_0x371ccf['query'][_0xe186('0x1e')]);}return _0x30a195[_0xe186('0x75')](_0x27ca79);}})[_0xe186('0x25')](function(_0x7b44b4){if(_0x7b44b4){return _0x7b44b4?{'count':_0x3a083a,'rows':_0x7b44b4}:null;}})[_0xe186('0x25')](respondWithResult(_0x3fe76e,null))[_0xe186('0x47')](handleError(_0x3fe76e,null));};