c98a0f04e98ef2ee49a97c59d18b560164f06e3b
[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 _0x5062=['clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','attrMetric','total','attrVoiceQueues','pie-chart','attrSerie2','attrSerie3','web-report','attrReport','reportType','attrRefresh','widgetAttributes:\x20%s','DashboardItem','getItems','nolimit','html-pdf','eml-format','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','ejs','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./dashboard.socket','register','status','json','count','offset','limit','set','Content-Range','apply','reject','then','get','CustomDashboards','UserProfileResource','end','sendStatus','name','send','index','map','Dashboard','fieldName','type','key','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','options','include','rows','catch','show','params','rawAttributes','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','updatedAt','role','update','attrUrl','attrs','value','https://','attrPath'];(function(_0x179b53,_0x31f6fe){var _0x38a146=function(_0x33f0c2){while(--_0x33f0c2){_0x179b53['push'](_0x179b53['shift']());}};_0x38a146(++_0x31f6fe);}(_0x5062,0x171));var _0x2506=function(_0x3cff94,_0x71a17d){_0x3cff94=_0x3cff94-0x0;var _0xc37d4f=_0x5062[_0x3cff94];return _0xc37d4f;};'use strict';var pdf=require(_0x2506('0x0'));var emlformat=require(_0x2506('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x2506('0x2'));var jsonpatch=require(_0x2506('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x2506('0x4'));var Mustache=require(_0x2506('0x5'));var util=require(_0x2506('0x6'));var path=require(_0x2506('0x7'));var sox=require(_0x2506('0x8'));var csv=require('to-csv');var ejs=require(_0x2506('0x9'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x2506('0xa'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x2506('0xb'));var Papa=require(_0x2506('0xc'));var Redis=require(_0x2506('0xd'));var authService=require(_0x2506('0xe'));var qs=require(_0x2506('0xf'));var as=require(_0x2506('0x10'));var hardwareService=require(_0x2506('0x11'));var logger=require(_0x2506('0x12'))(_0x2506('0x13'));var utils=require(_0x2506('0x14'));var config=require(_0x2506('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x2506('0x16'))['db'];config[_0x2506('0x17')]=_[_0x2506('0x18')](config[_0x2506('0x17')],{'host':_0x2506('0x19'),'port':0x18eb});var socket=require(_0x2506('0x1a'))(new Redis(config[_0x2506('0x17')]));require(_0x2506('0x1b'))[_0x2506('0x1c')](socket);function respondWithStatusCode(_0x4c67a0,_0x2aa2c5){_0x2aa2c5=_0x2aa2c5||0xcc;return function(_0x2d5af7){if(_0x2d5af7){return _0x4c67a0['sendStatus'](_0x2aa2c5);}return _0x4c67a0['status'](_0x2aa2c5)['end']();};}function respondWithResult(_0x2a1b5a,_0x5ea18d){_0x5ea18d=_0x5ea18d||0xc8;return function(_0x5e0d75){if(_0x5e0d75){return _0x2a1b5a[_0x2506('0x1d')](_0x5ea18d)[_0x2506('0x1e')](_0x5e0d75);}};}function respondWithFilteredResult(_0x5195f9,_0x2c7039){return function(_0x329967){if(_0x329967){var _0x322dc5=_0x329967[_0x2506('0x1f')],_0x112c19=_0x2c7039[_0x2506('0x20')],_0x4bcff1=_0x2c7039['offset']+_0x2c7039[_0x2506('0x21')],_0x200ab9;if(_0x4bcff1>=_0x322dc5){_0x4bcff1=_0x322dc5;_0x200ab9=0xc8;}else{_0x200ab9=0xce;}_0x5195f9[_0x2506('0x1d')](_0x200ab9);return _0x5195f9[_0x2506('0x22')](_0x2506('0x23'),_0x112c19+'-'+_0x4bcff1+'/'+_0x322dc5)['json'](_0x329967);}return null;};}function patchUpdates(_0x20b180){return function(_0x107d7d){try{jsonpatch[_0x2506('0x24')](_0x107d7d,_0x20b180,!![]);}catch(_0x5c15be){return BPromise[_0x2506('0x25')](_0x5c15be);}return _0x107d7d['save']();};}function saveUpdates(_0x5bc686,_0x40de13){return function(_0x17819f){if(_0x17819f){return _0x17819f['update'](_0x5bc686)['then'](function(_0x12df2a){return _0x12df2a;});}return null;};}function removeEntity(_0x2bb563,_0x17a968){return function(_0xfb4f83){if(_0xfb4f83){return _0xfb4f83['destroy']()[_0x2506('0x26')](function(){var _0xc76acf=_0xfb4f83[_0x2506('0x27')]({'plain':!![]});var _0x468da1=_0x2506('0x28');return db[_0x2506('0x29')]['destroy']({'where':{'type':_0x468da1,'resourceId':_0xc76acf['id']}})[_0x2506('0x26')](function(){return _0xfb4f83;});})[_0x2506('0x26')](function(){_0x2bb563['status'](0xcc)[_0x2506('0x2a')]();});}};}function handleEntityNotFound(_0x119c50,_0x4b2c95){return function(_0x2ccb4b){if(!_0x2ccb4b){_0x119c50[_0x2506('0x2b')](0x194);}return _0x2ccb4b;};}function handleError(_0x375536,_0x54c724){_0x54c724=_0x54c724||0x1f4;return function(_0x4fb74b){logger['error'](_0x4fb74b['stack']);if(_0x4fb74b['name']){delete _0x4fb74b[_0x2506('0x2c')];}_0x375536['status'](_0x54c724)[_0x2506('0x2d')](_0x4fb74b);};}exports[_0x2506('0x2e')]=function(_0x45c9eb,_0x562e24){var _0x119a75={},_0x5801eb={},_0x45ed83={'count':0x0,'rows':[]};var _0x2a51a2=_[_0x2506('0x2f')](db[_0x2506('0x30')]['rawAttributes'],function(_0x47263a){return{'name':_0x47263a[_0x2506('0x31')],'type':_0x47263a[_0x2506('0x32')][_0x2506('0x33')]};});_0x5801eb[_0x2506('0x34')]=_[_0x2506('0x2f')](_0x2a51a2,'name');_0x5801eb['query']=_[_0x2506('0x35')](_0x45c9eb['query']);_0x5801eb[_0x2506('0x36')]=_[_0x2506('0x37')](_0x5801eb['model'],_0x5801eb[_0x2506('0x38')]);_0x119a75[_0x2506('0x39')]=_['intersection'](_0x5801eb[_0x2506('0x34')],qs[_0x2506('0x3a')](_0x45c9eb['query'][_0x2506('0x3a')]));_0x119a75[_0x2506('0x39')]=_0x119a75[_0x2506('0x39')][_0x2506('0x3b')]?_0x119a75[_0x2506('0x39')]:_0x5801eb[_0x2506('0x34')];if(!_0x45c9eb[_0x2506('0x38')][_0x2506('0x3c')]('nolimit')){_0x119a75[_0x2506('0x21')]=qs[_0x2506('0x21')](_0x45c9eb[_0x2506('0x38')][_0x2506('0x21')]);_0x119a75[_0x2506('0x20')]=qs[_0x2506('0x20')](_0x45c9eb['query'][_0x2506('0x20')]);}_0x119a75['order']=qs[_0x2506('0x3d')](_0x45c9eb[_0x2506('0x38')][_0x2506('0x3d')]);_0x119a75[_0x2506('0x3e')]=qs['filters'](_[_0x2506('0x3f')](_0x45c9eb['query'],_0x5801eb[_0x2506('0x36')]),_0x2a51a2);if(_0x45c9eb[_0x2506('0x38')][_0x2506('0x40')]){_0x119a75[_0x2506('0x3e')]=_[_0x2506('0x41')](_0x119a75[_0x2506('0x3e')],{'$or':_['map'](_0x2a51a2,function(_0x230f5b){if(_0x230f5b['type']!=='VIRTUAL'){var _0x939736={};_0x939736[_0x230f5b[_0x2506('0x2c')]]={'$like':'%'+_0x45c9eb['query']['filter']+'%'};return _0x939736;}})});}_0x119a75=_['merge']({},_0x119a75,_0x45c9eb[_0x2506('0x42')]);var _0x37bf67={'where':_0x119a75['where']};return db[_0x2506('0x30')][_0x2506('0x1f')](_0x37bf67)[_0x2506('0x26')](function(_0x328101){_0x45ed83[_0x2506('0x1f')]=_0x328101;if(_0x45c9eb['query']['includeAll']){_0x119a75[_0x2506('0x43')]=[{'all':!![]}];}return db['Dashboard']['findAll'](_0x119a75);})[_0x2506('0x26')](function(_0xb29c1e){_0x45ed83[_0x2506('0x44')]=_0xb29c1e;return _0x45ed83;})[_0x2506('0x26')](respondWithFilteredResult(_0x562e24,_0x119a75))[_0x2506('0x45')](handleError(_0x562e24,null));};exports[_0x2506('0x46')]=function(_0x5e0e53,_0x1cb02f){var _0x4e05fa={'raw':![],'where':{'id':_0x5e0e53[_0x2506('0x47')]['id']}},_0x4fcb09={};_0x4fcb09[_0x2506('0x34')]=_['keys'](db[_0x2506('0x30')][_0x2506('0x48')]);_0x4fcb09[_0x2506('0x38')]=_[_0x2506('0x35')](_0x5e0e53['query']);_0x4fcb09[_0x2506('0x36')]=_['intersection'](_0x4fcb09[_0x2506('0x34')],_0x4fcb09[_0x2506('0x38')]);_0x4e05fa['attributes']=_['intersection'](_0x4fcb09[_0x2506('0x34')],qs[_0x2506('0x3a')](_0x5e0e53[_0x2506('0x38')]['fields']));_0x4e05fa['attributes']=_0x4e05fa[_0x2506('0x39')]['length']?_0x4e05fa[_0x2506('0x39')]:_0x4fcb09[_0x2506('0x34')];if(_0x5e0e53[_0x2506('0x38')][_0x2506('0x49')]){_0x4e05fa[_0x2506('0x43')]=[{'all':!![]}];}_0x4e05fa=_[_0x2506('0x41')]({},_0x4e05fa,_0x5e0e53[_0x2506('0x42')]);return db[_0x2506('0x30')][_0x2506('0x4a')](_0x4e05fa)[_0x2506('0x26')](handleEntityNotFound(_0x1cb02f,null))[_0x2506('0x26')](respondWithResult(_0x1cb02f,null))['catch'](handleError(_0x1cb02f,null));};exports[_0x2506('0x4b')]=function(_0x58070d,_0x11a207){return db[_0x2506('0x30')]['create'](_0x58070d[_0x2506('0x4c')],{})[_0x2506('0x26')](function(_0x4848cd){var _0xc6b710=_0x58070d[_0x2506('0x4d')][_0x2506('0x27')]({'plain':!![]});if(!_0xc6b710)throw new Error(_0x2506('0x4e'));if(_0xc6b710['role']===_0x2506('0x4d')){var _0x30909d=_0x4848cd[_0x2506('0x27')]({'plain':!![]});var _0x44eef0=_0x2506('0x28');return db[_0x2506('0x4f')][_0x2506('0x4a')]({'where':{'name':_0x44eef0,'userProfileId':_0xc6b710[_0x2506('0x50')]},'raw':!![]})[_0x2506('0x26')](function(_0x50b897){if(_0x50b897&&_0x50b897[_0x2506('0x51')]===0x0){return db[_0x2506('0x29')][_0x2506('0x4b')]({'name':_0x30909d[_0x2506('0x2c')],'resourceId':_0x30909d['id'],'type':_0x50b897[_0x2506('0x2c')],'sectionId':_0x50b897['id']},{})[_0x2506('0x26')](function(){return _0x4848cd;});}else{return _0x4848cd;}})[_0x2506('0x45')](function(_0x45106b){logger[_0x2506('0x52')](_0x2506('0x53'),_0x45106b);throw _0x45106b;});}return _0x4848cd;})['then'](respondWithResult(_0x11a207,0xc9))[_0x2506('0x45')](handleError(_0x11a207,null));};exports[_0x2506('0x54')]=function(_0x436809,_0x455681){var _0x53965b={'where':{'id':_0x436809[_0x2506('0x47')]['id']}},_0x39b013={};_0x39b013[_0x2506('0x34')]=_[_0x2506('0x35')](db[_0x2506('0x30')][_0x2506('0x48')]);_0x53965b[_0x2506('0x39')]=_[_0x2506('0x37')](_0x39b013[_0x2506('0x34')],qs[_0x2506('0x3a')](_0x436809[_0x2506('0x38')][_0x2506('0x3a')]));_0x53965b[_0x2506('0x39')]=_0x53965b['attributes'][_0x2506('0x3b')]?_0x53965b['attributes']:_0x39b013[_0x2506('0x34')];if(_0x436809[_0x2506('0x38')][_0x2506('0x49')]){_0x53965b[_0x2506('0x43')]=[{'all':!![]}];}_0x53965b=_['merge']({},_0x53965b,_0x436809[_0x2506('0x42')]);return db[_0x2506('0x30')]['find'](_0x53965b)[_0x2506('0x26')](handleEntityNotFound(_0x455681,null))[_0x2506('0x26')](function(_0xaf61bf){if(_0xaf61bf){var _0x31b84c=_0xaf61bf[_0x2506('0x27')]({'plain':!![]});_0x31b84c=qs[_0x2506('0x55')](_0x31b84c,['id',_0x2506('0x56'),_0x2506('0x57')]);_0x436809[_0x2506('0x4c')]=_[_0x2506('0x55')](_0x436809['body'],['id',_0x2506('0x56'),_0x2506('0x57')]);return db[_0x2506('0x30')]['create'](_['merge'](_0x31b84c,_0x436809['body']),{'include':_0x436809['query'][_0x2506('0x49')]?[{'all':!![]}]:undefined})[_0x2506('0x26')](function(_0x3ffe93){var _0x7d5b56=_0x436809[_0x2506('0x4d')][_0x2506('0x27')]({'plain':!![]});if(!_0x7d5b56)throw new Error(_0x2506('0x4e'));if(_0x7d5b56[_0x2506('0x58')]==='user'){var _0x3591f6=_0x3ffe93[_0x2506('0x27')]({'plain':!![]});var _0x24b16e='CustomDashboards';return db[_0x2506('0x4f')][_0x2506('0x4a')]({'where':{'name':_0x24b16e,'userProfileId':_0x7d5b56[_0x2506('0x50')]},'raw':!![]})['then'](function(_0x113388){if(_0x113388&&_0x113388['autoAssociation']===0x0){return db[_0x2506('0x29')][_0x2506('0x4b')]({'name':_0x3591f6['name'],'resourceId':_0x3591f6['id'],'type':_0x113388[_0x2506('0x2c')],'sectionId':_0x113388['id']},{})[_0x2506('0x26')](function(){return _0x3ffe93;});}else{return _0x3ffe93;}})[_0x2506('0x45')](function(_0x775639){logger[_0x2506('0x52')](_0x2506('0x53'),_0x775639);throw _0x775639;});}return _0x3ffe93;});}})[_0x2506('0x26')](respondWithResult(_0x455681,0xc9))[_0x2506('0x45')](handleError(_0x455681,null));};exports[_0x2506('0x59')]=function(_0x206d84,_0x41508e){if(_0x206d84[_0x2506('0x4c')]['id']){delete _0x206d84['body']['id'];}return db[_0x2506('0x30')][_0x2506('0x4a')]({'where':{'id':_0x206d84[_0x2506('0x47')]['id']}})[_0x2506('0x26')](handleEntityNotFound(_0x41508e,null))[_0x2506('0x26')](saveUpdates(_0x206d84['body'],null))[_0x2506('0x26')](respondWithResult(_0x41508e,null))[_0x2506('0x45')](handleError(_0x41508e,null));};exports['destroy']=function(_0x510668,_0x225ca9){return db[_0x2506('0x30')][_0x2506('0x4a')]({'where':{'id':_0x510668['params']['id']}})['then'](handleEntityNotFound(_0x225ca9,null))['then'](removeEntity(_0x225ca9,null))['catch'](handleError(_0x225ca9,null));};function widgetAttributes(_0x346e1c){try{switch(_0x346e1c[_0x2506('0x32')]){case'iframe':return[{'name':'attrUrl','value':_0x346e1c[_0x2506('0x5a')]||(_0x346e1c['attrs']&&_0x346e1c[_0x2506('0x5b')][0x0]?_0x346e1c[_0x2506('0x5b')][0x0][_0x2506('0x5c')]:undefined)||_0x2506('0x5d')}];case'custom':return[{'name':'attrPath','value':_0x346e1c[_0x2506('0x5e')]||(_0x346e1c['attrs']&&_0x346e1c['attrs'][0x0]?_0x346e1c['attrs'][0x0][_0x2506('0x5c')]:undefined)||''}];case _0x2506('0x5f'):return[{'name':_0x2506('0x60'),'value':_0x346e1c['attrHourFormat']||(_0x346e1c[_0x2506('0x5b')]&&_0x346e1c['attrs'][0x0]?_0x346e1c['attrs'][0x0][_0x2506('0x5c')]:undefined)||_0x2506('0x61')},{'name':_0x2506('0x62'),'value':_0x346e1c['attrTimezone']||(_0x346e1c[_0x2506('0x5b')]&&_0x346e1c[_0x2506('0x5b')][0x1]?_0x346e1c[_0x2506('0x5b')][0x1][_0x2506('0x5c')]:undefined)||_0x2506('0x63')},{'name':_0x2506('0x64'),'value':_0x346e1c['attrFontSize']||(_0x346e1c[_0x2506('0x5b')]&&_0x346e1c['attrs'][0x2]?_0x346e1c[_0x2506('0x5b')][0x2][_0x2506('0x5c')]:undefined)||0xc}];case _0x2506('0x65'):return[{'name':_0x2506('0x66'),'value':_0x346e1c[_0x2506('0x66')]||(_0x346e1c[_0x2506('0x5b')]&&_0x346e1c[_0x2506('0x5b')][0x0]?_0x346e1c[_0x2506('0x5b')][0x0][_0x2506('0x5c')]:undefined)||_0x2506('0x67')},{'name':_0x2506('0x68'),'value':_0x346e1c[_0x2506('0x68')]||(_0x346e1c[_0x2506('0x5b')]&&_0x346e1c[_0x2506('0x5b')][0x1]?_0x346e1c[_0x2506('0x5b')][0x1]['value']:undefined)||[]},{'name':_0x2506('0x64'),'value':_0x346e1c[_0x2506('0x64')]||(_0x346e1c['attrs']&&_0x346e1c['attrs'][0x2]?_0x346e1c[_0x2506('0x5b')][0x2][_0x2506('0x5c')]:undefined)||0x14}];case'multibar-chart':case _0x2506('0x69'):return[{'name':'attrSerie1','value':_0x346e1c['attrSerie1']||(_0x346e1c[_0x2506('0x5b')]&&_0x346e1c[_0x2506('0x5b')][0x0]?_0x346e1c[_0x2506('0x5b')][0x0][_0x2506('0x5c')]:undefined)||_0x2506('0x67')},{'name':_0x2506('0x6a'),'value':_0x346e1c[_0x2506('0x6a')]||(_0x346e1c['attrs']&&_0x346e1c[_0x2506('0x5b')][0x1]?_0x346e1c['attrs'][0x1][_0x2506('0x5c')]:undefined)||null},{'name':'attrSerie3','value':_0x346e1c[_0x2506('0x6b')]||(_0x346e1c[_0x2506('0x5b')]&&_0x346e1c[_0x2506('0x5b')][0x2]?_0x346e1c[_0x2506('0x5b')][0x2][_0x2506('0x5c')]:undefined)||null},{'name':'attrVoiceQueues','value':_0x346e1c[_0x2506('0x68')]||(_0x346e1c[_0x2506('0x5b')]&&_0x346e1c[_0x2506('0x5b')][0x3]?_0x346e1c[_0x2506('0x5b')][0x3][_0x2506('0x5c')]:undefined)||[]}];case _0x2506('0x6c'):return[{'name':_0x2506('0x6d'),'type':_0x346e1c[_0x2506('0x6e')]||(_0x346e1c['attrs']&&_0x346e1c[_0x2506('0x5b')][0x0]?_0x346e1c[_0x2506('0x5b')][0x0][_0x2506('0x32')]:undefined)||null,'value':_0x346e1c[_0x2506('0x6d')]||(_0x346e1c[_0x2506('0x5b')]&&_0x346e1c['attrs'][0x0]?_0x346e1c[_0x2506('0x5b')][0x0][_0x2506('0x5c')]:undefined)||null},{'name':_0x2506('0x6f'),'value':_0x346e1c[_0x2506('0x6f')]||(_0x346e1c[_0x2506('0x5b')]&&_0x346e1c[_0x2506('0x5b')][0x1]?_0x346e1c[_0x2506('0x5b')][0x1]['value']:undefined)||0x0}];default:return[];}}catch(_0x13b919){logger[_0x2506('0x52')](_0x2506('0x70'),JSON['stringify'](_0x13b919));return[];}}exports['addItem']=function(_0x558a37,_0x377d68,_0x31296d){if(_0x558a37[_0x2506('0x4c')]['id']){delete _0x558a37[_0x2506('0x4c')]['id'];}return db[_0x2506('0x30')][_0x2506('0x4a')]({'where':{'id':_0x558a37[_0x2506('0x47')]['id']}})[_0x2506('0x26')](handleEntityNotFound(_0x377d68,null))[_0x2506('0x26')](function(_0x52d4e4){if(_0x52d4e4){_0x558a37[_0x2506('0x4c')]['DashboardId']=_0x52d4e4['id'];_0x558a37[_0x2506('0x4c')]['attrs']=widgetAttributes(_0x558a37[_0x2506('0x4c')]);return db[_0x2506('0x71')]['create'](_0x558a37['body']);}})['then'](respondWithResult(_0x377d68,null))[_0x2506('0x45')](handleError(_0x377d68,null));};exports[_0x2506('0x72')]=function(_0x3d39bd,_0x326f0d,_0x36f043){var _0x2378d8={};var _0x270124={};var _0x27b459;var _0x494f8f;return db[_0x2506('0x30')]['findOne']({'where':{'id':_0x3d39bd[_0x2506('0x47')]['id']}})[_0x2506('0x26')](handleEntityNotFound(_0x326f0d,null))['then'](function(_0x2a53bb){if(_0x2a53bb){_0x27b459=_0x2a53bb;_0x270124[_0x2506('0x34')]=_[_0x2506('0x35')](db['DashboardItem']['rawAttributes']);_0x270124['query']=_[_0x2506('0x35')](_0x3d39bd[_0x2506('0x38')]);_0x270124[_0x2506('0x36')]=_[_0x2506('0x37')](_0x270124[_0x2506('0x34')],_0x270124['query']);_0x2378d8[_0x2506('0x39')]=_[_0x2506('0x37')](_0x270124[_0x2506('0x34')],qs[_0x2506('0x3a')](_0x3d39bd[_0x2506('0x38')][_0x2506('0x3a')]));_0x2378d8[_0x2506('0x39')]=_0x2378d8[_0x2506('0x39')][_0x2506('0x3b')]?_0x2378d8[_0x2506('0x39')]:_0x270124[_0x2506('0x34')];_0x2378d8['order']=qs[_0x2506('0x3d')](_0x3d39bd[_0x2506('0x38')]['sort']);_0x2378d8['where']=qs[_0x2506('0x36')](_['pick'](_0x3d39bd[_0x2506('0x38')],_0x270124[_0x2506('0x36')]));if(_0x3d39bd[_0x2506('0x38')]['filter']){_0x2378d8['where']=_['merge'](_0x2378d8['where'],{'$or':_[_0x2506('0x2f')](_0x2378d8[_0x2506('0x39')],function(_0x32cbc6){var _0x2ee59b={};_0x2ee59b[_0x32cbc6]={'$like':'%'+_0x3d39bd[_0x2506('0x38')][_0x2506('0x40')]+'%'};return _0x2ee59b;})});}_0x2378d8=_[_0x2506('0x41')]({},_0x2378d8,_0x3d39bd['options']);return _0x27b459[_0x2506('0x72')](_0x2378d8);}})[_0x2506('0x26')](function(_0x3f7ec1){if(_0x3f7ec1){_0x494f8f=_0x3f7ec1[_0x2506('0x3b')];if(!_0x3d39bd['query'][_0x2506('0x3c')](_0x2506('0x73'))){_0x2378d8['limit']=qs[_0x2506('0x21')](_0x3d39bd[_0x2506('0x38')][_0x2506('0x21')]);_0x2378d8['offset']=qs[_0x2506('0x20')](_0x3d39bd[_0x2506('0x38')][_0x2506('0x20')]);}return _0x27b459[_0x2506('0x72')](_0x2378d8);}})[_0x2506('0x26')](function(_0xa50b52){if(_0xa50b52){return _0xa50b52?{'count':_0x494f8f,'rows':_0xa50b52}:null;}})[_0x2506('0x26')](respondWithResult(_0x326f0d,null))[_0x2506('0x45')](handleError(_0x326f0d,null));};