df73f92c018944cad45a094d96ba62bbc310ccaa
[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 _0x8612=['eml-format','fast-json-patch','request-promise','bluebird','util','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./dashboard.socket','status','end','count','offset','limit','set','json','apply','reject','save','then','destroy','get','CustomDashboards','UserProfileResource','sendStatus','error','stack','name','send','index','map','fieldName','key','model','keys','query','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','filter','merge','options','Dashboard','includeAll','include','findAll','rows','params','rawAttributes','find','catch','create','body','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','updatedAt','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','update','type','iframe','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','attrTimezone','0.00','attrFontSize','attrMetric','total','attrVoiceQueues','attrSerie1','attrSerie2','attrSerie3','web-report','attrReport','reportType','attrRefresh','widgetAttributes:\x20%s','DashboardId','DashboardItem','getItems','findOne','hasOwnProperty','html-pdf'];(function(_0x1d2b66,_0x256c6e){var _0x445a66=function(_0x2e5845){while(--_0x2e5845){_0x1d2b66['push'](_0x1d2b66['shift']());}};_0x445a66(++_0x256c6e);}(_0x8612,0xed));var _0x2861=function(_0x5652bb,_0x4b74d2){_0x5652bb=_0x5652bb-0x0;var _0x233716=_0x8612[_0x5652bb];return _0x233716;};'use strict';var pdf=require(_0x2861('0x0'));var emlformat=require(_0x2861('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x2861('0x2'));var rp=require(_0x2861('0x3'));var moment=require('moment');var BPromise=require(_0x2861('0x4'));var Mustache=require('mustache');var util=require(_0x2861('0x5'));var path=require(_0x2861('0x6'));var sox=require(_0x2861('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x2861('0x8'));var squel=require(_0x2861('0x9'));var crypto=require(_0x2861('0xa'));var jsforce=require(_0x2861('0xb'));var deskjs=require(_0x2861('0xc'));var toCsv=require(_0x2861('0xd'));var querystring=require('querystring');var Papa=require(_0x2861('0xe'));var Redis=require(_0x2861('0xf'));var authService=require(_0x2861('0x10'));var qs=require(_0x2861('0x11'));var as=require(_0x2861('0x12'));var hardwareService=require(_0x2861('0x13'));var logger=require(_0x2861('0x14'))(_0x2861('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x2861('0x16'));var db=require('../../mysqldb')['db'];config[_0x2861('0x17')]=_[_0x2861('0x18')](config['redis'],{'host':_0x2861('0x19'),'port':0x18eb});var socket=require(_0x2861('0x1a'))(new Redis(config[_0x2861('0x17')]));require(_0x2861('0x1b'))['register'](socket);function respondWithStatusCode(_0x5c803a,_0x19de14){_0x19de14=_0x19de14||0xcc;return function(_0x42b51d){if(_0x42b51d){return _0x5c803a['sendStatus'](_0x19de14);}return _0x5c803a[_0x2861('0x1c')](_0x19de14)[_0x2861('0x1d')]();};}function respondWithResult(_0x5ce3b5,_0x266010){_0x266010=_0x266010||0xc8;return function(_0x4cf01b){if(_0x4cf01b){return _0x5ce3b5['status'](_0x266010)['json'](_0x4cf01b);}};}function respondWithFilteredResult(_0x4041ba,_0x22e233){return function(_0x4d6325){if(_0x4d6325){var _0x3bc193=_0x4d6325[_0x2861('0x1e')],_0x5b96b6=_0x22e233['offset'],_0x50ebbc=_0x22e233[_0x2861('0x1f')]+_0x22e233[_0x2861('0x20')],_0x15c1fe;if(_0x50ebbc>=_0x3bc193){_0x50ebbc=_0x3bc193;_0x15c1fe=0xc8;}else{_0x15c1fe=0xce;}_0x4041ba['status'](_0x15c1fe);return _0x4041ba[_0x2861('0x21')]('Content-Range',_0x5b96b6+'-'+_0x50ebbc+'/'+_0x3bc193)[_0x2861('0x22')](_0x4d6325);}return null;};}function patchUpdates(_0x137875){return function(_0x5b0188){try{jsonpatch[_0x2861('0x23')](_0x5b0188,_0x137875,!![]);}catch(_0x13fa62){return BPromise[_0x2861('0x24')](_0x13fa62);}return _0x5b0188[_0x2861('0x25')]();};}function saveUpdates(_0x2ae7a6,_0x43c9d6){return function(_0x3da2fe){if(_0x3da2fe){return _0x3da2fe['update'](_0x2ae7a6)[_0x2861('0x26')](function(_0xec7040){return _0xec7040;});}return null;};}function removeEntity(_0x1a5d24,_0x11ae9e){return function(_0xa43d44){if(_0xa43d44){return _0xa43d44[_0x2861('0x27')]()[_0x2861('0x26')](function(){var _0x10a28c=_0xa43d44[_0x2861('0x28')]({'plain':!![]});var _0x144637=_0x2861('0x29');return db[_0x2861('0x2a')]['destroy']({'where':{'type':_0x144637,'resourceId':_0x10a28c['id']}})[_0x2861('0x26')](function(){return _0xa43d44;});})[_0x2861('0x26')](function(){_0x1a5d24[_0x2861('0x1c')](0xcc)[_0x2861('0x1d')]();});}};}function handleEntityNotFound(_0x2ae3b4,_0x36fe1a){return function(_0x47b488){if(!_0x47b488){_0x2ae3b4[_0x2861('0x2b')](0x194);}return _0x47b488;};}function handleError(_0x26b913,_0x2ff44d){_0x2ff44d=_0x2ff44d||0x1f4;return function(_0x12f07a){logger[_0x2861('0x2c')](_0x12f07a[_0x2861('0x2d')]);if(_0x12f07a[_0x2861('0x2e')]){delete _0x12f07a['name'];}_0x26b913[_0x2861('0x1c')](_0x2ff44d)[_0x2861('0x2f')](_0x12f07a);};}exports[_0x2861('0x30')]=function(_0x15267f,_0x1d6a82){var _0xc98c51={},_0x4ab290={},_0x19028a={'count':0x0,'rows':[]};var _0x435d5f=_[_0x2861('0x31')](db['Dashboard']['rawAttributes'],function(_0x100d15){return{'name':_0x100d15[_0x2861('0x32')],'type':_0x100d15['type'][_0x2861('0x33')]};});_0x4ab290[_0x2861('0x34')]=_['map'](_0x435d5f,_0x2861('0x2e'));_0x4ab290['query']=_[_0x2861('0x35')](_0x15267f[_0x2861('0x36')]);_0x4ab290[_0x2861('0x37')]=_[_0x2861('0x38')](_0x4ab290[_0x2861('0x34')],_0x4ab290[_0x2861('0x36')]);_0xc98c51['attributes']=_[_0x2861('0x38')](_0x4ab290[_0x2861('0x34')],qs[_0x2861('0x39')](_0x15267f[_0x2861('0x36')][_0x2861('0x39')]));_0xc98c51[_0x2861('0x3a')]=_0xc98c51[_0x2861('0x3a')][_0x2861('0x3b')]?_0xc98c51[_0x2861('0x3a')]:_0x4ab290[_0x2861('0x34')];if(!_0x15267f['query']['hasOwnProperty'](_0x2861('0x3c'))){_0xc98c51[_0x2861('0x20')]=qs[_0x2861('0x20')](_0x15267f[_0x2861('0x36')]['limit']);_0xc98c51[_0x2861('0x1f')]=qs[_0x2861('0x1f')](_0x15267f[_0x2861('0x36')]['offset']);}_0xc98c51[_0x2861('0x3d')]=qs[_0x2861('0x3e')](_0x15267f['query']['sort']);_0xc98c51[_0x2861('0x3f')]=qs[_0x2861('0x37')](_[_0x2861('0x40')](_0x15267f['query'],_0x4ab290[_0x2861('0x37')]),_0x435d5f);if(_0x15267f[_0x2861('0x36')][_0x2861('0x41')]){_0xc98c51['where']=_['merge'](_0xc98c51[_0x2861('0x3f')],{'$or':_[_0x2861('0x31')](_0x435d5f,function(_0x3c1ae6){if(_0x3c1ae6['type']!=='VIRTUAL'){var _0x37fd92={};_0x37fd92[_0x3c1ae6['name']]={'$like':'%'+_0x15267f['query'][_0x2861('0x41')]+'%'};return _0x37fd92;}})});}_0xc98c51=_[_0x2861('0x42')]({},_0xc98c51,_0x15267f[_0x2861('0x43')]);var _0x3155ce={'where':_0xc98c51[_0x2861('0x3f')]};return db[_0x2861('0x44')][_0x2861('0x1e')](_0x3155ce)['then'](function(_0x11bf9a){_0x19028a[_0x2861('0x1e')]=_0x11bf9a;if(_0x15267f[_0x2861('0x36')][_0x2861('0x45')]){_0xc98c51[_0x2861('0x46')]=[{'all':!![]}];}return db['Dashboard'][_0x2861('0x47')](_0xc98c51);})[_0x2861('0x26')](function(_0x243e2d){_0x19028a[_0x2861('0x48')]=_0x243e2d;return _0x19028a;})['then'](respondWithFilteredResult(_0x1d6a82,_0xc98c51))['catch'](handleError(_0x1d6a82,null));};exports['show']=function(_0x588e3b,_0x1d16a3){var _0x46d547={'raw':![],'where':{'id':_0x588e3b[_0x2861('0x49')]['id']}},_0x42ba65={};_0x42ba65[_0x2861('0x34')]=_['keys'](db[_0x2861('0x44')][_0x2861('0x4a')]);_0x42ba65['query']=_[_0x2861('0x35')](_0x588e3b['query']);_0x42ba65['filters']=_[_0x2861('0x38')](_0x42ba65[_0x2861('0x34')],_0x42ba65[_0x2861('0x36')]);_0x46d547[_0x2861('0x3a')]=_[_0x2861('0x38')](_0x42ba65[_0x2861('0x34')],qs[_0x2861('0x39')](_0x588e3b[_0x2861('0x36')][_0x2861('0x39')]));_0x46d547[_0x2861('0x3a')]=_0x46d547[_0x2861('0x3a')][_0x2861('0x3b')]?_0x46d547[_0x2861('0x3a')]:_0x42ba65[_0x2861('0x34')];if(_0x588e3b[_0x2861('0x36')]['includeAll']){_0x46d547['include']=[{'all':!![]}];}_0x46d547=_[_0x2861('0x42')]({},_0x46d547,_0x588e3b[_0x2861('0x43')]);return db[_0x2861('0x44')][_0x2861('0x4b')](_0x46d547)[_0x2861('0x26')](handleEntityNotFound(_0x1d16a3,null))[_0x2861('0x26')](respondWithResult(_0x1d16a3,null))[_0x2861('0x4c')](handleError(_0x1d16a3,null));};exports[_0x2861('0x4d')]=function(_0x28d1af,_0x59535c){return db[_0x2861('0x44')]['create'](_0x28d1af[_0x2861('0x4e')],{})['then'](function(_0x50414a){var _0x5a4c25=_0x28d1af['user']['get']({'plain':!![]});if(!_0x5a4c25)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5a4c25['role']==='user'){var _0x442978=_0x50414a[_0x2861('0x28')]({'plain':!![]});var _0x44a2be=_0x2861('0x29');return db[_0x2861('0x4f')][_0x2861('0x4b')]({'where':{'name':_0x44a2be,'userProfileId':_0x5a4c25[_0x2861('0x50')]},'raw':!![]})['then'](function(_0xedd47d){if(_0xedd47d&&_0xedd47d[_0x2861('0x51')]===0x0){return db[_0x2861('0x2a')]['create']({'name':_0x442978[_0x2861('0x2e')],'resourceId':_0x442978['id'],'type':_0xedd47d['name'],'sectionId':_0xedd47d['id']},{})[_0x2861('0x26')](function(){return _0x50414a;});}else{return _0x50414a;}})['catch'](function(_0x4390f6){logger[_0x2861('0x2c')](_0x2861('0x52'),_0x4390f6);throw _0x4390f6;});}return _0x50414a;})[_0x2861('0x26')](respondWithResult(_0x59535c,0xc9))[_0x2861('0x4c')](handleError(_0x59535c,null));};exports[_0x2861('0x53')]=function(_0x4c6e2b,_0x397a27){var _0x3ba4b2={'where':{'id':_0x4c6e2b['params']['id']}},_0x268d1a={};_0x268d1a['model']=_[_0x2861('0x35')](db['Dashboard'][_0x2861('0x4a')]);_0x3ba4b2[_0x2861('0x3a')]=_[_0x2861('0x38')](_0x268d1a[_0x2861('0x34')],qs['fields'](_0x4c6e2b[_0x2861('0x36')]['fields']));_0x3ba4b2[_0x2861('0x3a')]=_0x3ba4b2['attributes'][_0x2861('0x3b')]?_0x3ba4b2[_0x2861('0x3a')]:_0x268d1a[_0x2861('0x34')];if(_0x4c6e2b[_0x2861('0x36')][_0x2861('0x45')]){_0x3ba4b2[_0x2861('0x46')]=[{'all':!![]}];}_0x3ba4b2=_['merge']({},_0x3ba4b2,_0x4c6e2b[_0x2861('0x43')]);return db[_0x2861('0x44')][_0x2861('0x4b')](_0x3ba4b2)[_0x2861('0x26')](handleEntityNotFound(_0x397a27,null))['then'](function(_0x525789){if(_0x525789){var _0x5a1a4b=_0x525789[_0x2861('0x28')]({'plain':!![]});_0x5a1a4b=qs[_0x2861('0x54')](_0x5a1a4b,['id',_0x2861('0x55'),'updatedAt']);_0x4c6e2b[_0x2861('0x4e')]=_[_0x2861('0x54')](_0x4c6e2b[_0x2861('0x4e')],['id',_0x2861('0x55'),_0x2861('0x56')]);return db['Dashboard'][_0x2861('0x4d')](_[_0x2861('0x42')](_0x5a1a4b,_0x4c6e2b[_0x2861('0x4e')]),{'include':_0x4c6e2b[_0x2861('0x36')][_0x2861('0x45')]?[{'all':!![]}]:undefined})[_0x2861('0x26')](function(_0x2aa556){var _0x3df05c=_0x4c6e2b[_0x2861('0x57')][_0x2861('0x28')]({'plain':!![]});if(!_0x3df05c)throw new Error(_0x2861('0x58'));if(_0x3df05c['role']===_0x2861('0x57')){var _0x364184=_0x2aa556[_0x2861('0x28')]({'plain':!![]});var _0x3bd580=_0x2861('0x29');return db[_0x2861('0x4f')][_0x2861('0x4b')]({'where':{'name':_0x3bd580,'userProfileId':_0x3df05c['userProfileId']},'raw':!![]})['then'](function(_0x3cd20d){if(_0x3cd20d&&_0x3cd20d['autoAssociation']===0x0){return db[_0x2861('0x2a')][_0x2861('0x4d')]({'name':_0x364184[_0x2861('0x2e')],'resourceId':_0x364184['id'],'type':_0x3cd20d[_0x2861('0x2e')],'sectionId':_0x3cd20d['id']},{})[_0x2861('0x26')](function(){return _0x2aa556;});}else{return _0x2aa556;}})['catch'](function(_0x35e6f3){logger[_0x2861('0x2c')](_0x2861('0x52'),_0x35e6f3);throw _0x35e6f3;});}return _0x2aa556;});}})['then'](respondWithResult(_0x397a27,0xc9))[_0x2861('0x4c')](handleError(_0x397a27,null));};exports[_0x2861('0x59')]=function(_0x22ffdd,_0x566180){if(_0x22ffdd[_0x2861('0x4e')]['id']){delete _0x22ffdd[_0x2861('0x4e')]['id'];}return db[_0x2861('0x44')]['find']({'where':{'id':_0x22ffdd[_0x2861('0x49')]['id']}})[_0x2861('0x26')](handleEntityNotFound(_0x566180,null))['then'](saveUpdates(_0x22ffdd[_0x2861('0x4e')],null))[_0x2861('0x26')](respondWithResult(_0x566180,null))['catch'](handleError(_0x566180,null));};exports[_0x2861('0x27')]=function(_0x13e872,_0x5b6771){return db[_0x2861('0x44')][_0x2861('0x4b')]({'where':{'id':_0x13e872[_0x2861('0x49')]['id']}})[_0x2861('0x26')](handleEntityNotFound(_0x5b6771,null))[_0x2861('0x26')](removeEntity(_0x5b6771,null))[_0x2861('0x4c')](handleError(_0x5b6771,null));};function widgetAttributes(_0x4bb810){try{switch(_0x4bb810[_0x2861('0x5a')]){case _0x2861('0x5b'):return[{'name':_0x2861('0x5c'),'value':_0x4bb810[_0x2861('0x5c')]||(_0x4bb810['attrs']&&_0x4bb810['attrs'][0x0]?_0x4bb810[_0x2861('0x5d')][0x0][_0x2861('0x5e')]:undefined)||_0x2861('0x5f')}];case _0x2861('0x60'):return[{'name':_0x2861('0x61'),'value':_0x4bb810['attrPath']||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810[_0x2861('0x5d')][0x0]?_0x4bb810[_0x2861('0x5d')][0x0][_0x2861('0x5e')]:undefined)||''}];case _0x2861('0x62'):return[{'name':_0x2861('0x63'),'value':_0x4bb810[_0x2861('0x63')]||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810[_0x2861('0x5d')][0x0]?_0x4bb810[_0x2861('0x5d')][0x0][_0x2861('0x5e')]:undefined)||'HH:mm:ss'},{'name':'attrTimezone','value':_0x4bb810[_0x2861('0x64')]||(_0x4bb810['attrs']&&_0x4bb810['attrs'][0x1]?_0x4bb810[_0x2861('0x5d')][0x1]['value']:undefined)||_0x2861('0x65')},{'name':_0x2861('0x66'),'value':_0x4bb810[_0x2861('0x66')]||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810[_0x2861('0x5d')][0x2]?_0x4bb810[_0x2861('0x5d')][0x2][_0x2861('0x5e')]:undefined)||0xc}];case'counter':return[{'name':_0x2861('0x67'),'value':_0x4bb810[_0x2861('0x67')]||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810['attrs'][0x0]?_0x4bb810[_0x2861('0x5d')][0x0][_0x2861('0x5e')]:undefined)||_0x2861('0x68')},{'name':_0x2861('0x69'),'value':_0x4bb810[_0x2861('0x69')]||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810[_0x2861('0x5d')][0x1]?_0x4bb810[_0x2861('0x5d')][0x1]['value']:undefined)||[]},{'name':_0x2861('0x66'),'value':_0x4bb810['attrFontSize']||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810[_0x2861('0x5d')][0x2]?_0x4bb810[_0x2861('0x5d')][0x2]['value']:undefined)||0x14}];case'multibar-chart':case'pie-chart':return[{'name':'attrSerie1','value':_0x4bb810[_0x2861('0x6a')]||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810[_0x2861('0x5d')][0x0]?_0x4bb810[_0x2861('0x5d')][0x0][_0x2861('0x5e')]:undefined)||_0x2861('0x68')},{'name':'attrSerie2','value':_0x4bb810[_0x2861('0x6b')]||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810[_0x2861('0x5d')][0x1]?_0x4bb810[_0x2861('0x5d')][0x1][_0x2861('0x5e')]:undefined)||null},{'name':_0x2861('0x6c'),'value':_0x4bb810[_0x2861('0x6c')]||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810[_0x2861('0x5d')][0x2]?_0x4bb810[_0x2861('0x5d')][0x2][_0x2861('0x5e')]:undefined)||null},{'name':_0x2861('0x69'),'value':_0x4bb810[_0x2861('0x69')]||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810[_0x2861('0x5d')][0x3]?_0x4bb810[_0x2861('0x5d')][0x3][_0x2861('0x5e')]:undefined)||[]}];case _0x2861('0x6d'):return[{'name':_0x2861('0x6e'),'type':_0x4bb810[_0x2861('0x6f')]||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810[_0x2861('0x5d')][0x0]?_0x4bb810[_0x2861('0x5d')][0x0]['type']:undefined)||null,'value':_0x4bb810[_0x2861('0x6e')]||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810[_0x2861('0x5d')][0x0]?_0x4bb810['attrs'][0x0][_0x2861('0x5e')]:undefined)||null},{'name':_0x2861('0x70'),'value':_0x4bb810[_0x2861('0x70')]||(_0x4bb810[_0x2861('0x5d')]&&_0x4bb810[_0x2861('0x5d')][0x1]?_0x4bb810['attrs'][0x1][_0x2861('0x5e')]:undefined)||0x0}];default:return[];}}catch(_0x423206){logger[_0x2861('0x2c')](_0x2861('0x71'),JSON['stringify'](_0x423206));return[];}}exports['addItem']=function(_0x5dcb87,_0x5b26d9,_0x44b19e){if(_0x5dcb87['body']['id']){delete _0x5dcb87['body']['id'];}return db[_0x2861('0x44')][_0x2861('0x4b')]({'where':{'id':_0x5dcb87[_0x2861('0x49')]['id']}})[_0x2861('0x26')](handleEntityNotFound(_0x5b26d9,null))[_0x2861('0x26')](function(_0x159beb){if(_0x159beb){_0x5dcb87[_0x2861('0x4e')][_0x2861('0x72')]=_0x159beb['id'];_0x5dcb87[_0x2861('0x4e')]['attrs']=widgetAttributes(_0x5dcb87[_0x2861('0x4e')]);return db[_0x2861('0x73')][_0x2861('0x4d')](_0x5dcb87['body']);}})[_0x2861('0x26')](respondWithResult(_0x5b26d9,null))[_0x2861('0x4c')](handleError(_0x5b26d9,null));};exports[_0x2861('0x74')]=function(_0x1c4548,_0x4d130f,_0x1ca3d3){var _0x1d8ebc={};var _0x7536af={};var _0x5e85a1;var _0x28db18;return db['Dashboard'][_0x2861('0x75')]({'where':{'id':_0x1c4548[_0x2861('0x49')]['id']}})[_0x2861('0x26')](handleEntityNotFound(_0x4d130f,null))[_0x2861('0x26')](function(_0x6ca35){if(_0x6ca35){_0x5e85a1=_0x6ca35;_0x7536af[_0x2861('0x34')]=_[_0x2861('0x35')](db[_0x2861('0x73')][_0x2861('0x4a')]);_0x7536af[_0x2861('0x36')]=_['keys'](_0x1c4548[_0x2861('0x36')]);_0x7536af[_0x2861('0x37')]=_[_0x2861('0x38')](_0x7536af[_0x2861('0x34')],_0x7536af[_0x2861('0x36')]);_0x1d8ebc[_0x2861('0x3a')]=_[_0x2861('0x38')](_0x7536af[_0x2861('0x34')],qs[_0x2861('0x39')](_0x1c4548['query'][_0x2861('0x39')]));_0x1d8ebc['attributes']=_0x1d8ebc[_0x2861('0x3a')]['length']?_0x1d8ebc[_0x2861('0x3a')]:_0x7536af[_0x2861('0x34')];_0x1d8ebc[_0x2861('0x3d')]=qs[_0x2861('0x3e')](_0x1c4548[_0x2861('0x36')][_0x2861('0x3e')]);_0x1d8ebc[_0x2861('0x3f')]=qs[_0x2861('0x37')](_[_0x2861('0x40')](_0x1c4548[_0x2861('0x36')],_0x7536af[_0x2861('0x37')]));if(_0x1c4548['query'][_0x2861('0x41')]){_0x1d8ebc[_0x2861('0x3f')]=_[_0x2861('0x42')](_0x1d8ebc[_0x2861('0x3f')],{'$or':_[_0x2861('0x31')](_0x1d8ebc['attributes'],function(_0x18c43a){var _0x277e0e={};_0x277e0e[_0x18c43a]={'$like':'%'+_0x1c4548[_0x2861('0x36')][_0x2861('0x41')]+'%'};return _0x277e0e;})});}_0x1d8ebc=_['merge']({},_0x1d8ebc,_0x1c4548[_0x2861('0x43')]);return _0x5e85a1['getItems'](_0x1d8ebc);}})[_0x2861('0x26')](function(_0x23ac94){if(_0x23ac94){_0x28db18=_0x23ac94[_0x2861('0x3b')];if(!_0x1c4548[_0x2861('0x36')][_0x2861('0x76')](_0x2861('0x3c'))){_0x1d8ebc[_0x2861('0x20')]=qs['limit'](_0x1c4548[_0x2861('0x36')][_0x2861('0x20')]);_0x1d8ebc[_0x2861('0x1f')]=qs[_0x2861('0x1f')](_0x1c4548['query'][_0x2861('0x1f')]);}return _0x5e85a1[_0x2861('0x74')](_0x1d8ebc);}})[_0x2861('0x26')](function(_0x316212){if(_0x316212){return _0x316212?{'count':_0x28db18,'rows':_0x316212}:null;}})[_0x2861('0x26')](respondWithResult(_0x4d130f,null))[_0x2861('0x4c')](handleError(_0x4d130f,null));};