9289fcffb1a88def96acfba2bc690b2c450cbcd1
[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 _0x6283=['rawAttributes','fieldName','key','query','keys','filters','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','type','VIRTUAL','merge','options','includeAll','include','rows','catch','params','intersection','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','find','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','updatedAt','autoAssociation','update','iframe','attrUrl','attrs','value','attrPath','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','attrMetric','total','attrVoiceQueues','multibar-chart','attrSerie1','attrSerie2','attrSerie3','attrReport','reportType','attrRefresh','stringify','addItem','DashboardId','findOne','pick','getItems','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','redis','defaults','localhost','socket.io-emitter','./dashboard.socket','sendStatus','status','end','json','count','offset','limit','set','apply','reject','get','CustomDashboards','UserProfileResource','destroy','then','error','stack','name','send','index','map','Dashboard'];(function(_0x1f2cb3,_0x1e8162){var _0x2c937c=function(_0x114571){while(--_0x114571){_0x1f2cb3['push'](_0x1f2cb3['shift']());}};_0x2c937c(++_0x1e8162);}(_0x6283,0x12f));var _0x3628=function(_0x3d25d3,_0x3acded){_0x3d25d3=_0x3d25d3-0x0;var _0x1d76a8=_0x6283[_0x3d25d3];return _0x1d76a8;};'use strict';var pdf=require(_0x3628('0x0'));var emlformat=require(_0x3628('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x3628('0x2'));var jsonpatch=require(_0x3628('0x3'));var rp=require(_0x3628('0x4'));var moment=require(_0x3628('0x5'));var BPromise=require(_0x3628('0x6'));var Mustache=require(_0x3628('0x7'));var util=require('util');var path=require(_0x3628('0x8'));var sox=require(_0x3628('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x3628('0xa'));var crypto=require(_0x3628('0xb'));var jsforce=require(_0x3628('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x3628('0xd'));var querystring=require(_0x3628('0xe'));var Papa=require(_0x3628('0xf'));var Redis=require(_0x3628('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x3628('0x11'));var as=require(_0x3628('0x12'));var hardwareService=require(_0x3628('0x13'));var logger=require(_0x3628('0x14'))(_0x3628('0x15'));var utils=require(_0x3628('0x16'));var config=require(_0x3628('0x17'));var db=require('../../mysqldb')['db'];config[_0x3628('0x18')]=_[_0x3628('0x19')](config['redis'],{'host':_0x3628('0x1a'),'port':0x18eb});var socket=require(_0x3628('0x1b'))(new Redis(config[_0x3628('0x18')]));require(_0x3628('0x1c'))['register'](socket);function respondWithStatusCode(_0x10a111,_0x1a2265){_0x1a2265=_0x1a2265||0xcc;return function(_0xed138c){if(_0xed138c){return _0x10a111[_0x3628('0x1d')](_0x1a2265);}return _0x10a111[_0x3628('0x1e')](_0x1a2265)[_0x3628('0x1f')]();};}function respondWithResult(_0x129dc0,_0x274f2e){_0x274f2e=_0x274f2e||0xc8;return function(_0x1b36c4){if(_0x1b36c4){return _0x129dc0['status'](_0x274f2e)[_0x3628('0x20')](_0x1b36c4);}};}function respondWithFilteredResult(_0x550750,_0x1d327b){return function(_0x22d0fd){if(_0x22d0fd){var _0xe50a21=_0x22d0fd[_0x3628('0x21')],_0x341610=_0x1d327b[_0x3628('0x22')],_0x23a6e8=_0x1d327b[_0x3628('0x22')]+_0x1d327b[_0x3628('0x23')],_0x4a0d8e;if(_0x23a6e8>=_0xe50a21){_0x23a6e8=_0xe50a21;_0x4a0d8e=0xc8;}else{_0x4a0d8e=0xce;}_0x550750[_0x3628('0x1e')](_0x4a0d8e);return _0x550750[_0x3628('0x24')]('Content-Range',_0x341610+'-'+_0x23a6e8+'/'+_0xe50a21)['json'](_0x22d0fd);}return null;};}function patchUpdates(_0x498f72){return function(_0x3bea9f){try{jsonpatch[_0x3628('0x25')](_0x3bea9f,_0x498f72,!![]);}catch(_0x518593){return BPromise[_0x3628('0x26')](_0x518593);}return _0x3bea9f['save']();};}function saveUpdates(_0x35a004,_0x25db0a){return function(_0xb37856){if(_0xb37856){return _0xb37856['update'](_0x35a004)['then'](function(_0x503376){return _0x503376;});}return null;};}function removeEntity(_0x4964ef,_0x1fee54){return function(_0x4b3abf){if(_0x4b3abf){return _0x4b3abf['destroy']()['then'](function(){var _0x4d5db0=_0x4b3abf[_0x3628('0x27')]({'plain':!![]});var _0x39f7b2=_0x3628('0x28');return db[_0x3628('0x29')][_0x3628('0x2a')]({'where':{'type':_0x39f7b2,'resourceId':_0x4d5db0['id']}})[_0x3628('0x2b')](function(){return _0x4b3abf;});})[_0x3628('0x2b')](function(){_0x4964ef[_0x3628('0x1e')](0xcc)[_0x3628('0x1f')]();});}};}function handleEntityNotFound(_0x50fd5b,_0xb73a7e){return function(_0x3c0d3c){if(!_0x3c0d3c){_0x50fd5b['sendStatus'](0x194);}return _0x3c0d3c;};}function handleError(_0x5b794b,_0x60db5d){_0x60db5d=_0x60db5d||0x1f4;return function(_0x6a5732){logger[_0x3628('0x2c')](_0x6a5732[_0x3628('0x2d')]);if(_0x6a5732[_0x3628('0x2e')]){delete _0x6a5732[_0x3628('0x2e')];}_0x5b794b[_0x3628('0x1e')](_0x60db5d)[_0x3628('0x2f')](_0x6a5732);};}exports[_0x3628('0x30')]=function(_0x461fca,_0x29d361){var _0x8dd6c={},_0x4d37be={},_0x1a2d84={'count':0x0,'rows':[]};var _0x232421=_[_0x3628('0x31')](db[_0x3628('0x32')][_0x3628('0x33')],function(_0xf1f1f6){return{'name':_0xf1f1f6[_0x3628('0x34')],'type':_0xf1f1f6['type'][_0x3628('0x35')]};});_0x4d37be['model']=_[_0x3628('0x31')](_0x232421,_0x3628('0x2e'));_0x4d37be[_0x3628('0x36')]=_[_0x3628('0x37')](_0x461fca[_0x3628('0x36')]);_0x4d37be[_0x3628('0x38')]=_['intersection'](_0x4d37be[_0x3628('0x39')],_0x4d37be['query']);_0x8dd6c[_0x3628('0x3a')]=_['intersection'](_0x4d37be['model'],qs[_0x3628('0x3b')](_0x461fca[_0x3628('0x36')][_0x3628('0x3b')]));_0x8dd6c[_0x3628('0x3a')]=_0x8dd6c[_0x3628('0x3a')][_0x3628('0x3c')]?_0x8dd6c[_0x3628('0x3a')]:_0x4d37be[_0x3628('0x39')];if(!_0x461fca['query'][_0x3628('0x3d')](_0x3628('0x3e'))){_0x8dd6c['limit']=qs[_0x3628('0x23')](_0x461fca['query'][_0x3628('0x23')]);_0x8dd6c['offset']=qs[_0x3628('0x22')](_0x461fca[_0x3628('0x36')]['offset']);}_0x8dd6c[_0x3628('0x3f')]=qs['sort'](_0x461fca[_0x3628('0x36')][_0x3628('0x40')]);_0x8dd6c[_0x3628('0x41')]=qs[_0x3628('0x38')](_['pick'](_0x461fca[_0x3628('0x36')],_0x4d37be[_0x3628('0x38')]),_0x232421);if(_0x461fca[_0x3628('0x36')][_0x3628('0x42')]){_0x8dd6c['where']=_['merge'](_0x8dd6c[_0x3628('0x41')],{'$or':_[_0x3628('0x31')](_0x232421,function(_0x42e605){if(_0x42e605[_0x3628('0x43')]!==_0x3628('0x44')){var _0xfc94c4={};_0xfc94c4[_0x42e605[_0x3628('0x2e')]]={'$like':'%'+_0x461fca[_0x3628('0x36')]['filter']+'%'};return _0xfc94c4;}})});}_0x8dd6c=_[_0x3628('0x45')]({},_0x8dd6c,_0x461fca[_0x3628('0x46')]);var _0x1f6705={'where':_0x8dd6c['where']};return db[_0x3628('0x32')][_0x3628('0x21')](_0x1f6705)[_0x3628('0x2b')](function(_0x360a42){_0x1a2d84[_0x3628('0x21')]=_0x360a42;if(_0x461fca[_0x3628('0x36')][_0x3628('0x47')]){_0x8dd6c[_0x3628('0x48')]=[{'all':!![]}];}return db['Dashboard']['findAll'](_0x8dd6c);})[_0x3628('0x2b')](function(_0x703350){_0x1a2d84[_0x3628('0x49')]=_0x703350;return _0x1a2d84;})[_0x3628('0x2b')](respondWithFilteredResult(_0x29d361,_0x8dd6c))[_0x3628('0x4a')](handleError(_0x29d361,null));};exports['show']=function(_0x4bf458,_0x2723ac){var _0x3c8be2={'raw':![],'where':{'id':_0x4bf458[_0x3628('0x4b')]['id']}},_0x160576={};_0x160576[_0x3628('0x39')]=_[_0x3628('0x37')](db[_0x3628('0x32')][_0x3628('0x33')]);_0x160576[_0x3628('0x36')]=_[_0x3628('0x37')](_0x4bf458[_0x3628('0x36')]);_0x160576[_0x3628('0x38')]=_[_0x3628('0x4c')](_0x160576[_0x3628('0x39')],_0x160576[_0x3628('0x36')]);_0x3c8be2[_0x3628('0x3a')]=_[_0x3628('0x4c')](_0x160576[_0x3628('0x39')],qs[_0x3628('0x3b')](_0x4bf458[_0x3628('0x36')][_0x3628('0x3b')]));_0x3c8be2[_0x3628('0x3a')]=_0x3c8be2[_0x3628('0x3a')][_0x3628('0x3c')]?_0x3c8be2[_0x3628('0x3a')]:_0x160576[_0x3628('0x39')];if(_0x4bf458[_0x3628('0x36')]['includeAll']){_0x3c8be2['include']=[{'all':!![]}];}_0x3c8be2=_[_0x3628('0x45')]({},_0x3c8be2,_0x4bf458['options']);return db[_0x3628('0x32')]['find'](_0x3c8be2)[_0x3628('0x2b')](handleEntityNotFound(_0x2723ac,null))[_0x3628('0x2b')](respondWithResult(_0x2723ac,null))[_0x3628('0x4a')](handleError(_0x2723ac,null));};exports[_0x3628('0x4d')]=function(_0x14e8ca,_0xf32b81){return db['Dashboard'][_0x3628('0x4d')](_0x14e8ca[_0x3628('0x4e')],{})[_0x3628('0x2b')](function(_0x3c0df7){var _0xc6af39=_0x14e8ca['user']['get']({'plain':!![]});if(!_0xc6af39)throw new Error(_0x3628('0x4f'));if(_0xc6af39[_0x3628('0x50')]===_0x3628('0x51')){var _0x32a858=_0x3c0df7[_0x3628('0x27')]({'plain':!![]});var _0x53a7b5=_0x3628('0x28');return db[_0x3628('0x52')][_0x3628('0x53')]({'where':{'name':_0x53a7b5,'userProfileId':_0xc6af39[_0x3628('0x54')]},'raw':!![]})[_0x3628('0x2b')](function(_0x119478){if(_0x119478&&_0x119478['autoAssociation']===0x0){return db[_0x3628('0x29')]['create']({'name':_0x32a858['name'],'resourceId':_0x32a858['id'],'type':_0x119478['name'],'sectionId':_0x119478['id']},{})[_0x3628('0x2b')](function(){return _0x3c0df7;});}else{return _0x3c0df7;}})['catch'](function(_0x4940f8){logger['error'](_0x3628('0x55'),_0x4940f8);throw _0x4940f8;});}return _0x3c0df7;})[_0x3628('0x2b')](respondWithResult(_0xf32b81,0xc9))[_0x3628('0x4a')](handleError(_0xf32b81,null));};exports[_0x3628('0x56')]=function(_0x4c8846,_0x185497){var _0x56a799={'where':{'id':_0x4c8846[_0x3628('0x4b')]['id']}},_0x146311={};_0x146311[_0x3628('0x39')]=_[_0x3628('0x37')](db[_0x3628('0x32')][_0x3628('0x33')]);_0x56a799[_0x3628('0x3a')]=_[_0x3628('0x4c')](_0x146311[_0x3628('0x39')],qs[_0x3628('0x3b')](_0x4c8846[_0x3628('0x36')][_0x3628('0x3b')]));_0x56a799['attributes']=_0x56a799[_0x3628('0x3a')]['length']?_0x56a799[_0x3628('0x3a')]:_0x146311[_0x3628('0x39')];if(_0x4c8846['query'][_0x3628('0x47')]){_0x56a799['include']=[{'all':!![]}];}_0x56a799=_['merge']({},_0x56a799,_0x4c8846['options']);return db[_0x3628('0x32')]['find'](_0x56a799)[_0x3628('0x2b')](handleEntityNotFound(_0x185497,null))[_0x3628('0x2b')](function(_0x2715d0){if(_0x2715d0){var _0x80adf5=_0x2715d0[_0x3628('0x27')]({'plain':!![]});_0x80adf5=qs[_0x3628('0x57')](_0x80adf5,['id',_0x3628('0x58'),'updatedAt']);_0x4c8846['body']=_[_0x3628('0x57')](_0x4c8846['body'],['id',_0x3628('0x58'),_0x3628('0x59')]);return db['Dashboard'][_0x3628('0x4d')](_[_0x3628('0x45')](_0x80adf5,_0x4c8846[_0x3628('0x4e')]),{'include':_0x4c8846[_0x3628('0x36')][_0x3628('0x47')]?[{'all':!![]}]:undefined})['then'](function(_0x58d52e){var _0x1dd34a=_0x4c8846[_0x3628('0x51')][_0x3628('0x27')]({'plain':!![]});if(!_0x1dd34a)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1dd34a[_0x3628('0x50')]==='user'){var _0x2ac7ac=_0x58d52e[_0x3628('0x27')]({'plain':!![]});var _0x3b1f44='CustomDashboards';return db[_0x3628('0x52')][_0x3628('0x53')]({'where':{'name':_0x3b1f44,'userProfileId':_0x1dd34a[_0x3628('0x54')]},'raw':!![]})[_0x3628('0x2b')](function(_0x1a6136){if(_0x1a6136&&_0x1a6136[_0x3628('0x5a')]===0x0){return db[_0x3628('0x29')][_0x3628('0x4d')]({'name':_0x2ac7ac['name'],'resourceId':_0x2ac7ac['id'],'type':_0x1a6136[_0x3628('0x2e')],'sectionId':_0x1a6136['id']},{})['then'](function(){return _0x58d52e;});}else{return _0x58d52e;}})[_0x3628('0x4a')](function(_0x51cd18){logger['error'](_0x3628('0x55'),_0x51cd18);throw _0x51cd18;});}return _0x58d52e;});}})[_0x3628('0x2b')](respondWithResult(_0x185497,0xc9))[_0x3628('0x4a')](handleError(_0x185497,null));};exports[_0x3628('0x5b')]=function(_0x35caad,_0x436b6d){if(_0x35caad[_0x3628('0x4e')]['id']){delete _0x35caad[_0x3628('0x4e')]['id'];}return db['Dashboard']['find']({'where':{'id':_0x35caad[_0x3628('0x4b')]['id']}})[_0x3628('0x2b')](handleEntityNotFound(_0x436b6d,null))['then'](saveUpdates(_0x35caad['body'],null))[_0x3628('0x2b')](respondWithResult(_0x436b6d,null))[_0x3628('0x4a')](handleError(_0x436b6d,null));};exports[_0x3628('0x2a')]=function(_0x2feedc,_0x53b502){return db[_0x3628('0x32')]['find']({'where':{'id':_0x2feedc[_0x3628('0x4b')]['id']}})['then'](handleEntityNotFound(_0x53b502,null))[_0x3628('0x2b')](removeEntity(_0x53b502,null))['catch'](handleError(_0x53b502,null));};function widgetAttributes(_0x14d449){try{switch(_0x14d449[_0x3628('0x43')]){case _0x3628('0x5c'):return[{'name':_0x3628('0x5d'),'value':_0x14d449[_0x3628('0x5d')]||(_0x14d449[_0x3628('0x5e')]&&_0x14d449['attrs'][0x0]?_0x14d449[_0x3628('0x5e')][0x0][_0x3628('0x5f')]:undefined)||'https://'}];case'custom':return[{'name':'attrPath','value':_0x14d449[_0x3628('0x60')]||(_0x14d449[_0x3628('0x5e')]&&_0x14d449[_0x3628('0x5e')][0x0]?_0x14d449['attrs'][0x0][_0x3628('0x5f')]:undefined)||''}];case'clock':return[{'name':_0x3628('0x61'),'value':_0x14d449[_0x3628('0x61')]||(_0x14d449[_0x3628('0x5e')]&&_0x14d449[_0x3628('0x5e')][0x0]?_0x14d449[_0x3628('0x5e')][0x0][_0x3628('0x5f')]:undefined)||_0x3628('0x62')},{'name':_0x3628('0x63'),'value':_0x14d449[_0x3628('0x63')]||(_0x14d449[_0x3628('0x5e')]&&_0x14d449[_0x3628('0x5e')][0x1]?_0x14d449[_0x3628('0x5e')][0x1][_0x3628('0x5f')]:undefined)||_0x3628('0x64')},{'name':_0x3628('0x65'),'value':_0x14d449['attrFontSize']||(_0x14d449[_0x3628('0x5e')]&&_0x14d449[_0x3628('0x5e')][0x2]?_0x14d449[_0x3628('0x5e')][0x2][_0x3628('0x5f')]:undefined)||0xc}];case'counter':return[{'name':_0x3628('0x66'),'value':_0x14d449[_0x3628('0x66')]||(_0x14d449[_0x3628('0x5e')]&&_0x14d449['attrs'][0x0]?_0x14d449['attrs'][0x0][_0x3628('0x5f')]:undefined)||_0x3628('0x67')},{'name':'attrVoiceQueues','value':_0x14d449[_0x3628('0x68')]||(_0x14d449[_0x3628('0x5e')]&&_0x14d449[_0x3628('0x5e')][0x1]?_0x14d449[_0x3628('0x5e')][0x1]['value']:undefined)||[]},{'name':_0x3628('0x65'),'value':_0x14d449[_0x3628('0x65')]||(_0x14d449[_0x3628('0x5e')]&&_0x14d449[_0x3628('0x5e')][0x2]?_0x14d449[_0x3628('0x5e')][0x2][_0x3628('0x5f')]:undefined)||0x14}];case _0x3628('0x69'):case'pie-chart':return[{'name':_0x3628('0x6a'),'value':_0x14d449['attrSerie1']||(_0x14d449['attrs']&&_0x14d449[_0x3628('0x5e')][0x0]?_0x14d449[_0x3628('0x5e')][0x0][_0x3628('0x5f')]:undefined)||_0x3628('0x67')},{'name':_0x3628('0x6b'),'value':_0x14d449['attrSerie2']||(_0x14d449[_0x3628('0x5e')]&&_0x14d449[_0x3628('0x5e')][0x1]?_0x14d449[_0x3628('0x5e')][0x1]['value']:undefined)||null},{'name':_0x3628('0x6c'),'value':_0x14d449[_0x3628('0x6c')]||(_0x14d449[_0x3628('0x5e')]&&_0x14d449['attrs'][0x2]?_0x14d449['attrs'][0x2][_0x3628('0x5f')]:undefined)||null},{'name':_0x3628('0x68'),'value':_0x14d449[_0x3628('0x68')]||(_0x14d449['attrs']&&_0x14d449['attrs'][0x3]?_0x14d449[_0x3628('0x5e')][0x3][_0x3628('0x5f')]:undefined)||[]}];case'web-report':return[{'name':_0x3628('0x6d'),'type':_0x14d449[_0x3628('0x6e')]||(_0x14d449[_0x3628('0x5e')]&&_0x14d449[_0x3628('0x5e')][0x0]?_0x14d449[_0x3628('0x5e')][0x0][_0x3628('0x43')]:undefined)||null,'value':_0x14d449['attrReport']||(_0x14d449[_0x3628('0x5e')]&&_0x14d449[_0x3628('0x5e')][0x0]?_0x14d449[_0x3628('0x5e')][0x0][_0x3628('0x5f')]:undefined)||null},{'name':'attrRefresh','value':_0x14d449[_0x3628('0x6f')]||(_0x14d449[_0x3628('0x5e')]&&_0x14d449[_0x3628('0x5e')][0x1]?_0x14d449[_0x3628('0x5e')][0x1]['value']:undefined)||0x0}];default:return[];}}catch(_0x484cc5){logger[_0x3628('0x2c')]('widgetAttributes:\x20%s',JSON[_0x3628('0x70')](_0x484cc5));return[];}}exports[_0x3628('0x71')]=function(_0x5a6e6f,_0x1b03e2,_0x21d465){if(_0x5a6e6f[_0x3628('0x4e')]['id']){delete _0x5a6e6f[_0x3628('0x4e')]['id'];}return db[_0x3628('0x32')]['find']({'where':{'id':_0x5a6e6f[_0x3628('0x4b')]['id']}})[_0x3628('0x2b')](handleEntityNotFound(_0x1b03e2,null))[_0x3628('0x2b')](function(_0x2a3984){if(_0x2a3984){_0x5a6e6f[_0x3628('0x4e')][_0x3628('0x72')]=_0x2a3984['id'];_0x5a6e6f[_0x3628('0x4e')][_0x3628('0x5e')]=widgetAttributes(_0x5a6e6f[_0x3628('0x4e')]);return db['DashboardItem'][_0x3628('0x4d')](_0x5a6e6f[_0x3628('0x4e')]);}})[_0x3628('0x2b')](respondWithResult(_0x1b03e2,null))[_0x3628('0x4a')](handleError(_0x1b03e2,null));};exports['getItems']=function(_0x229394,_0x2aa05d,_0x16e365){var _0x412470={};var _0x4436ff={};var _0x2a1966;var _0x100769;return db[_0x3628('0x32')][_0x3628('0x73')]({'where':{'id':_0x229394[_0x3628('0x4b')]['id']}})[_0x3628('0x2b')](handleEntityNotFound(_0x2aa05d,null))[_0x3628('0x2b')](function(_0x4e80fc){if(_0x4e80fc){_0x2a1966=_0x4e80fc;_0x4436ff['model']=_[_0x3628('0x37')](db['DashboardItem'][_0x3628('0x33')]);_0x4436ff[_0x3628('0x36')]=_[_0x3628('0x37')](_0x229394[_0x3628('0x36')]);_0x4436ff[_0x3628('0x38')]=_[_0x3628('0x4c')](_0x4436ff[_0x3628('0x39')],_0x4436ff[_0x3628('0x36')]);_0x412470['attributes']=_[_0x3628('0x4c')](_0x4436ff[_0x3628('0x39')],qs[_0x3628('0x3b')](_0x229394[_0x3628('0x36')][_0x3628('0x3b')]));_0x412470[_0x3628('0x3a')]=_0x412470[_0x3628('0x3a')]['length']?_0x412470['attributes']:_0x4436ff[_0x3628('0x39')];_0x412470[_0x3628('0x3f')]=qs[_0x3628('0x40')](_0x229394[_0x3628('0x36')][_0x3628('0x40')]);_0x412470[_0x3628('0x41')]=qs[_0x3628('0x38')](_[_0x3628('0x74')](_0x229394['query'],_0x4436ff['filters']));if(_0x229394[_0x3628('0x36')][_0x3628('0x42')]){_0x412470[_0x3628('0x41')]=_[_0x3628('0x45')](_0x412470[_0x3628('0x41')],{'$or':_[_0x3628('0x31')](_0x412470[_0x3628('0x3a')],function(_0x11f46b){var _0xd89831={};_0xd89831[_0x11f46b]={'$like':'%'+_0x229394[_0x3628('0x36')][_0x3628('0x42')]+'%'};return _0xd89831;})});}_0x412470=_[_0x3628('0x45')]({},_0x412470,_0x229394[_0x3628('0x46')]);return _0x2a1966[_0x3628('0x75')](_0x412470);}})[_0x3628('0x2b')](function(_0x1ed950){if(_0x1ed950){_0x100769=_0x1ed950[_0x3628('0x3c')];if(!_0x229394['query'][_0x3628('0x3d')](_0x3628('0x3e'))){_0x412470[_0x3628('0x23')]=qs['limit'](_0x229394[_0x3628('0x36')][_0x3628('0x23')]);_0x412470[_0x3628('0x22')]=qs['offset'](_0x229394['query'][_0x3628('0x22')]);}return _0x2a1966[_0x3628('0x75')](_0x412470);}})['then'](function(_0x4721b9){if(_0x4721b9){return _0x4721b9?{'count':_0x100769,'rows':_0x4721b9}:null;}})[_0x3628('0x2b')](respondWithResult(_0x2aa05d,null))[_0x3628('0x4a')](handleError(_0x2aa05d,null));};