Built motion from commit (unavailable).|2.5.15
[motion2.git] / server / api / voicePrefix / voicePrefix.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 _0x5ae0=['omit','spread','emit','userVoicePrefix:save','removeAgents','isArray','userVoicePrefix:remove','getAgents','findOne','User','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','./voicePrefix.socket','register','sendStatus','status','end','json','count','offset','limit','Content-Range','reject','save','destroy','get','VoicePrefixes','UserProfileResource','then','error','stack','name','send','index','map','VoicePrefix','rawAttributes','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','options','includeAll','findAll','catch','show','params','include','find','create','transaction','VoiceExtensionId','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','context','from-sip','app','description','appdata','prefix','Voice\x20Prefix','VoicePrefixId','VoiceExtension','Extensions\x20creation\x20failed','push','Set','callerIdAll','PREFIX-CALLERIDALL=','NoOp','goto','${EXTEN:','charAt','update','sequelize','addAgents','body','ids'];(function(_0xbfbc64,_0x5a0346){var _0x219f22=function(_0x5a2bd1){while(--_0x5a2bd1){_0xbfbc64['push'](_0xbfbc64['shift']());}};_0x219f22(++_0x5a0346);}(_0x5ae0,0xf8));var _0x05ae=function(_0x4086ce,_0xea2b86){_0x4086ce=_0x4086ce-0x0;var _0x333cf4=_0x5ae0[_0x4086ce];return _0x333cf4;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x05ae('0x0'));var rimraf=require(_0x05ae('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x05ae('0x2'));var rp=require(_0x05ae('0x3'));var moment=require('moment');var BPromise=require(_0x05ae('0x4'));var Mustache=require(_0x05ae('0x5'));var util=require('util');var path=require('path');var sox=require(_0x05ae('0x6'));var csv=require(_0x05ae('0x7'));var ejs=require(_0x05ae('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0x05ae('0x9'));var crypto=require(_0x05ae('0xa'));var jsforce=require(_0x05ae('0xb'));var deskjs=require(_0x05ae('0xc'));var toCsv=require(_0x05ae('0x7'));var querystring=require(_0x05ae('0xd'));var Papa=require(_0x05ae('0xe'));var Redis=require(_0x05ae('0xf'));var authService=require(_0x05ae('0x10'));var qs=require(_0x05ae('0x11'));var as=require(_0x05ae('0x12'));var hardwareService=require(_0x05ae('0x13'));var logger=require(_0x05ae('0x14'))(_0x05ae('0x15'));var utils=require(_0x05ae('0x16'));var config=require(_0x05ae('0x17'));var licenseUtil=require(_0x05ae('0x18'));var db=require(_0x05ae('0x19'))['db'];config[_0x05ae('0x1a')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x05ae('0x1a')]));require(_0x05ae('0x1b'))[_0x05ae('0x1c')](socket);function respondWithStatusCode(_0xd86c16,_0x417064){_0x417064=_0x417064||0xcc;return function(_0x4710c4){if(_0x4710c4){return _0xd86c16[_0x05ae('0x1d')](_0x417064);}return _0xd86c16[_0x05ae('0x1e')](_0x417064)[_0x05ae('0x1f')]();};}function respondWithResult(_0x566f4d,_0x237a99){_0x237a99=_0x237a99||0xc8;return function(_0x38edee){if(_0x38edee){return _0x566f4d[_0x05ae('0x1e')](_0x237a99)[_0x05ae('0x20')](_0x38edee);}};}function respondWithFilteredResult(_0x2104d6,_0xf717f){return function(_0x2e50ba){if(_0x2e50ba){var _0x425c72=_0x2e50ba[_0x05ae('0x21')],_0x2f21dd=_0xf717f['offset'],_0x4e5d6c=_0xf717f[_0x05ae('0x22')]+_0xf717f[_0x05ae('0x23')],_0x1bfea0;if(_0x4e5d6c>=_0x425c72){_0x4e5d6c=_0x425c72;_0x1bfea0=0xc8;}else{_0x1bfea0=0xce;}_0x2104d6[_0x05ae('0x1e')](_0x1bfea0);return _0x2104d6['set'](_0x05ae('0x24'),_0x2f21dd+'-'+_0x4e5d6c+'/'+_0x425c72)[_0x05ae('0x20')](_0x2e50ba);}return null;};}function patchUpdates(_0x4a2a42){return function(_0x84b684){try{jsonpatch['apply'](_0x84b684,_0x4a2a42,!![]);}catch(_0x1e58e3){return BPromise[_0x05ae('0x25')](_0x1e58e3);}return _0x84b684[_0x05ae('0x26')]();};}function saveUpdates(_0x48de5a,_0x1cd7c5){return function(_0x34e275){if(_0x34e275){return _0x34e275['update'](_0x48de5a)['then'](function(_0x39d71c){return _0x39d71c;});}return null;};}function removeEntity(_0x5ddaab,_0x20df1e){return function(_0x22185b){if(_0x22185b){return _0x22185b[_0x05ae('0x27')]()['then'](function(){var _0x5604fd=_0x22185b[_0x05ae('0x28')]({'plain':!![]});var _0x40478c=_0x05ae('0x29');return db[_0x05ae('0x2a')][_0x05ae('0x27')]({'where':{'type':_0x40478c,'resourceId':_0x5604fd['id']}})['then'](function(){return _0x22185b;});})[_0x05ae('0x2b')](function(){_0x5ddaab['status'](0xcc)[_0x05ae('0x1f')]();});}};}function handleEntityNotFound(_0x3efb0f,_0x5bd730){return function(_0xd4bedb){if(!_0xd4bedb){_0x3efb0f[_0x05ae('0x1d')](0x194);}return _0xd4bedb;};}function handleError(_0x43b940,_0x4048bb){_0x4048bb=_0x4048bb||0x1f4;return function(_0x5b9dba){logger[_0x05ae('0x2c')](_0x5b9dba[_0x05ae('0x2d')]);if(_0x5b9dba[_0x05ae('0x2e')]){delete _0x5b9dba['name'];}_0x43b940[_0x05ae('0x1e')](_0x4048bb)[_0x05ae('0x2f')](_0x5b9dba);};}exports[_0x05ae('0x30')]=function(_0x1ea43a,_0x104143){var _0x2f6582={},_0x21d641={},_0x2cb4dd={'count':0x0,'rows':[]};var _0x17c4f2=_[_0x05ae('0x31')](db[_0x05ae('0x32')][_0x05ae('0x33')],function(_0x27c885){return{'name':_0x27c885['fieldName'],'type':_0x27c885[_0x05ae('0x34')][_0x05ae('0x35')]};});_0x21d641['model']=_[_0x05ae('0x31')](_0x17c4f2,_0x05ae('0x2e'));_0x21d641[_0x05ae('0x36')]=_[_0x05ae('0x37')](_0x1ea43a['query']);_0x21d641[_0x05ae('0x38')]=_[_0x05ae('0x39')](_0x21d641[_0x05ae('0x3a')],_0x21d641[_0x05ae('0x36')]);_0x2f6582[_0x05ae('0x3b')]=_[_0x05ae('0x39')](_0x21d641['model'],qs[_0x05ae('0x3c')](_0x1ea43a[_0x05ae('0x36')]['fields']));_0x2f6582[_0x05ae('0x3b')]=_0x2f6582[_0x05ae('0x3b')][_0x05ae('0x3d')]?_0x2f6582[_0x05ae('0x3b')]:_0x21d641[_0x05ae('0x3a')];if(!_0x1ea43a['query'][_0x05ae('0x3e')]('nolimit')){_0x2f6582['limit']=qs[_0x05ae('0x23')](_0x1ea43a[_0x05ae('0x36')][_0x05ae('0x23')]);_0x2f6582['offset']=qs[_0x05ae('0x22')](_0x1ea43a[_0x05ae('0x36')][_0x05ae('0x22')]);}_0x2f6582['order']=qs[_0x05ae('0x3f')](_0x1ea43a[_0x05ae('0x36')][_0x05ae('0x3f')]);_0x2f6582[_0x05ae('0x40')]=qs['filters'](_[_0x05ae('0x41')](_0x1ea43a[_0x05ae('0x36')],_0x21d641[_0x05ae('0x38')]),_0x17c4f2);if(_0x1ea43a['query'][_0x05ae('0x42')]){_0x2f6582[_0x05ae('0x40')]=_[_0x05ae('0x43')](_0x2f6582['where'],{'$or':_[_0x05ae('0x31')](_0x17c4f2,function(_0x2a4d46){if(_0x2a4d46['type']!=='VIRTUAL'){var _0x2272ae={};_0x2272ae[_0x2a4d46['name']]={'$like':'%'+_0x1ea43a[_0x05ae('0x36')][_0x05ae('0x42')]+'%'};return _0x2272ae;}})});}_0x2f6582=_[_0x05ae('0x43')]({},_0x2f6582,_0x1ea43a[_0x05ae('0x44')]);var _0x5ef71a={'where':_0x2f6582[_0x05ae('0x40')]};return db[_0x05ae('0x32')]['count'](_0x5ef71a)['then'](function(_0xef03ef){_0x2cb4dd[_0x05ae('0x21')]=_0xef03ef;if(_0x1ea43a[_0x05ae('0x36')][_0x05ae('0x45')]){_0x2f6582['include']=[{'all':!![]}];}return db[_0x05ae('0x32')][_0x05ae('0x46')](_0x2f6582);})[_0x05ae('0x2b')](function(_0x5aefaa){_0x2cb4dd['rows']=_0x5aefaa;return _0x2cb4dd;})[_0x05ae('0x2b')](respondWithFilteredResult(_0x104143,_0x2f6582))[_0x05ae('0x47')](handleError(_0x104143,null));};exports[_0x05ae('0x48')]=function(_0x46d15d,_0x1fee2b){var _0x1b91a2={'raw':![],'where':{'id':_0x46d15d[_0x05ae('0x49')]['id']}},_0x14977a={};_0x14977a[_0x05ae('0x3a')]=_[_0x05ae('0x37')](db[_0x05ae('0x32')]['rawAttributes']);_0x14977a[_0x05ae('0x36')]=_[_0x05ae('0x37')](_0x46d15d['query']);_0x14977a[_0x05ae('0x38')]=_['intersection'](_0x14977a[_0x05ae('0x3a')],_0x14977a['query']);_0x1b91a2[_0x05ae('0x3b')]=_['intersection'](_0x14977a[_0x05ae('0x3a')],qs[_0x05ae('0x3c')](_0x46d15d[_0x05ae('0x36')][_0x05ae('0x3c')]));_0x1b91a2[_0x05ae('0x3b')]=_0x1b91a2[_0x05ae('0x3b')][_0x05ae('0x3d')]?_0x1b91a2[_0x05ae('0x3b')]:_0x14977a[_0x05ae('0x3a')];if(_0x46d15d[_0x05ae('0x36')][_0x05ae('0x45')]){_0x1b91a2[_0x05ae('0x4a')]=[{'all':!![]}];}_0x1b91a2=_[_0x05ae('0x43')]({},_0x1b91a2,_0x46d15d[_0x05ae('0x44')]);return db[_0x05ae('0x32')][_0x05ae('0x4b')](_0x1b91a2)['then'](handleEntityNotFound(_0x1fee2b,null))['then'](respondWithResult(_0x1fee2b,null))['catch'](handleError(_0x1fee2b,null));};exports[_0x05ae('0x27')]=function(_0x251954,_0x160c50){return db['VoicePrefix'][_0x05ae('0x4b')]({'where':{'id':_0x251954[_0x05ae('0x49')]['id']}})[_0x05ae('0x2b')](handleEntityNotFound(_0x160c50,null))[_0x05ae('0x2b')](removeEntity(_0x160c50,null))[_0x05ae('0x47')](handleError(_0x160c50,null));};exports['describe']=function(_0x5ce039,_0x23afd8){return db[_0x05ae('0x32')]['describe']()['then'](respondWithResult(_0x23afd8,null))[_0x05ae('0x47')](handleError(_0x23afd8,null));};exports[_0x05ae('0x4c')]=function(_0x965bb5,_0x264ff1){var _0x489048;return db['sequelize'][_0x05ae('0x4d')](function(_0x4e547b){return db['VoicePrefix'][_0x05ae('0x4c')](_0x965bb5['body'],{'transaction':_0x4e547b})[_0x05ae('0x2b')](function(_0x2a70e8){_0x489048=_0x2a70e8['get']({'plain':!![]});return db['VoiceExtension'][_0x05ae('0x4b')]({'where':{'id':_0x489048[_0x05ae('0x4e')]},'raw':!![]})[_0x05ae('0x2b')](function(_0x489b1f){return createVoicePrefixExtensions(_0x489048,_0x489b1f,_0x4e547b);});});})[_0x05ae('0x2b')](function(){var _0x3c53d6=_0x965bb5[_0x05ae('0x4f')][_0x05ae('0x28')]({'plain':!![]});if(!_0x3c53d6)throw new Error(_0x05ae('0x50'));if(_0x3c53d6[_0x05ae('0x51')]==='user'){var _0x186889=_0x489048;return db[_0x05ae('0x52')][_0x05ae('0x4b')]({'where':{'name':'VoicePrefixes','userProfileId':_0x3c53d6[_0x05ae('0x53')]},'raw':!![]})[_0x05ae('0x2b')](function(_0x1aa5fb){if(_0x1aa5fb&&_0x1aa5fb[_0x05ae('0x54')]===0x0){return db[_0x05ae('0x2a')][_0x05ae('0x4c')]({'name':_0x186889[_0x05ae('0x2e')],'resourceId':_0x186889['id'],'type':_0x1aa5fb[_0x05ae('0x2e')],'sectionId':_0x1aa5fb['id']},{})[_0x05ae('0x2b')](function(){return _0x489048;});}else{return _0x489048;}})[_0x05ae('0x47')](function(_0x1e6f99){logger[_0x05ae('0x2c')](_0x05ae('0x55'),_0x1e6f99);throw _0x1e6f99;});}return _0x489048;})[_0x05ae('0x2b')](respondWithResult(_0x264ff1,null))[_0x05ae('0x47')](handleError(_0x264ff1,null));};function Extension(_0x55ad67,_0x549a27,_0x290510,_0x379e6a){this[_0x05ae('0x56')]=_0x05ae('0x57');this['exten']=_0x55ad67;this[_0x05ae('0x58')]=_0x290510;this[_0x05ae('0x34')]='system';this[_0x05ae('0x59')]='Voice\x20Prefix\x20Extension';this['priority']=_0x549a27;this[_0x05ae('0x5a')]=_0x379e6a;}function createVoicePrefixExtensions(_0x330b97,_0x2c1bd6,_0xbce116){return new BPromise(function(_0x30adf3,_0xd450d){var _0x5867dc=new Extension(formatPrefixName(_0x330b97[_0x05ae('0x5b')]),0x1,'NoOp',_0x05ae('0x5c'));_0x5867dc[_0x05ae('0x5d')]=_0x330b97['id'];return db[_0x05ae('0x5e')][_0x05ae('0x4c')](_0x5867dc,{'transaction':_0xbce116})['then'](function(_0x1df25a){var _0x3eba49=_0x1df25a[_0x05ae('0x28')]({'plain':!![]});var _0x3cf8f4=_[_0x05ae('0x31')](addVoicePrefixExtensions(_0x330b97,_0x2c1bd6),function(_0x4dfcc6){_0x4dfcc6['VoiceExtensionId']=_0x3eba49['id'];_0x4dfcc6['VoicePrefixId']=_0x330b97['id'];return _0x4dfcc6;});return db['VoiceExtension']['bulkCreate'](_0x3cf8f4,{'transaction':_0xbce116})[_0x05ae('0x2b')](function(_0x47a045){if(!_0x47a045){return _0xd450d(_0x05ae('0x5f'));}else{return _0x30adf3(_0x47a045);}})[_0x05ae('0x47')](function(_0x2aeceb){return _0xd450d(_0x2aeceb);});});;});};function addVoicePrefixExtensions(_0x449f19,_0x18baf9){var _0x3811b0=[];var _0x36af95=formatPrefixName(_0x449f19[_0x05ae('0x5b')]);_0x3811b0[_0x05ae('0x60')](new Extension(_0x36af95,0x2,_0x05ae('0x61'),'CDR(prefix)='+_0x449f19[_0x05ae('0x2e')]));if(_0x449f19[_0x05ae('0x62')]){_0x3811b0[_0x05ae('0x60')](new Extension(_0x36af95,0x3,_0x05ae('0x61'),_0x05ae('0x63')+_0x449f19['callerIdAll']));}else{_0x3811b0['push'](new Extension(_0x36af95,0x3,_0x05ae('0x64'),'No\x20callerid\x20available'));}_0x3811b0[_0x05ae('0x60')](new Extension(_0x36af95,0x4,_0x05ae('0x65'),_0x18baf9['context']+','+_0x05ae('0x66')+(0x8+_0x449f19[_0x05ae('0x2e')]['length'])+'}'+','+0x1));return _0x3811b0;}function formatPrefixName(_0x512fdf){var _0x1818d5='_';for(var _0x24083a=0x0;_0x24083a<_0x512fdf['length'];_0x24083a++){if(_0x512fdf[_0x05ae('0x67')](_0x24083a)=='-'){_0x1818d5+=_0x512fdf[_0x05ae('0x67')](_0x24083a);}else{_0x1818d5+='['+_0x512fdf[_0x05ae('0x67')](_0x24083a)+']';}}_0x1818d5+='.';return _0x1818d5;}exports[_0x05ae('0x68')]=function(_0x56be20,_0x390d97,_0x8a4912){var _0x506fc9=_0x56be20['body'];_0x506fc9[_0x05ae('0x5b')]='system-'+_0x506fc9['name']+'-';return db[_0x05ae('0x69')]['transaction'](function(_0x25430a){return db[_0x05ae('0x32')]['update'](_0x506fc9,{'where':{'id':_0x506fc9['id']},'transaction':_0x25430a})[_0x05ae('0x2b')](function(){return db[_0x05ae('0x5e')][_0x05ae('0x27')]({'where':{'VoicePrefixId':_0x506fc9['id']},'transaction':_0x25430a})['then'](function(){return db['VoiceExtension']['find']({'where':{'id':_0x506fc9['VoiceExtensionId']},'raw':!![]})[_0x05ae('0x2b')](function(_0x36c480){return createVoicePrefixExtensions(_0x506fc9,_0x36c480,_0x25430a);});});});})['then'](function(){return db['VoicePrefix']['findById'](_0x506fc9['id']);})[_0x05ae('0x2b')](respondWithResult(_0x390d97,null))[_0x05ae('0x47')](handleError(_0x390d97,null));};exports['addAgents']=function(_0x1717fb,_0x33efa0,_0x41e28e){return db[_0x05ae('0x32')]['find']({'where':{'id':_0x1717fb['params']['id']}})[_0x05ae('0x2b')](handleEntityNotFound(_0x33efa0,null))[_0x05ae('0x2b')](function(_0x3b8466){if(_0x3b8466){return _0x3b8466[_0x05ae('0x6a')](_0x1717fb[_0x05ae('0x6b')][_0x05ae('0x6c')],_[_0x05ae('0x6d')](_0x1717fb[_0x05ae('0x6b')],[_0x05ae('0x6c'),'id'])||{})[_0x05ae('0x6e')](function(_0x516bef){for(var _0x4a94d5=0x0;_0x4a94d5<_0x1717fb[_0x05ae('0x6b')][_0x05ae('0x6c')][_0x05ae('0x3d')];_0x4a94d5+=0x1){socket[_0x05ae('0x6f')](_0x05ae('0x70'),{'UserId':_0x1717fb['body'][_0x05ae('0x6c')][_0x4a94d5],'VoicePrefixId':_0x1717fb[_0x05ae('0x49')]['id']});}return _0x516bef;});}})['then'](respondWithResult(_0x33efa0,null))[_0x05ae('0x47')](handleError(_0x33efa0,null));};exports[_0x05ae('0x71')]=function(_0x2a2940,_0x44d6e,_0x514935){return db[_0x05ae('0x32')][_0x05ae('0x4b')]({'where':{'id':_0x2a2940[_0x05ae('0x49')]['id']}})[_0x05ae('0x2b')](handleEntityNotFound(_0x44d6e,null))[_0x05ae('0x2b')](function(_0x40409b){if(_0x40409b){return _0x40409b['removeAgents'](_0x2a2940[_0x05ae('0x36')][_0x05ae('0x6c')])[_0x05ae('0x2b')](function(){if(_[_0x05ae('0x72')](_0x2a2940[_0x05ae('0x36')][_0x05ae('0x6c')])){for(var _0x412185=0x0;_0x412185<_0x2a2940[_0x05ae('0x36')][_0x05ae('0x6c')]['length'];_0x412185+=0x1){socket[_0x05ae('0x6f')](_0x05ae('0x73'),{'UserId':Number(_0x2a2940[_0x05ae('0x36')][_0x05ae('0x6c')][_0x412185]),'VoicePrefixId':Number(_0x2a2940[_0x05ae('0x49')]['id'])});}}else{socket[_0x05ae('0x6f')](_0x05ae('0x73'),{'UserId':Number(_0x2a2940[_0x05ae('0x36')][_0x05ae('0x6c')]),'VoicePrefixId':Number(_0x2a2940[_0x05ae('0x49')]['id'])});}});}})[_0x05ae('0x2b')](respondWithStatusCode(_0x44d6e,null))[_0x05ae('0x47')](handleError(_0x44d6e,null));};exports[_0x05ae('0x74')]=function(_0x5cd3c9,_0x3bd45a,_0x2e66c4){var _0xe3196d={};var _0x22ad57={};var _0x331bb2;var _0x3cca2d;return db[_0x05ae('0x32')][_0x05ae('0x75')]({'where':{'id':_0x5cd3c9['params']['id']}})['then'](handleEntityNotFound(_0x3bd45a,null))[_0x05ae('0x2b')](function(_0x22a6cb){if(_0x22a6cb){_0x331bb2=_0x22a6cb;_0x22ad57[_0x05ae('0x3a')]=_[_0x05ae('0x37')](db[_0x05ae('0x76')][_0x05ae('0x33')]);_0x22ad57[_0x05ae('0x36')]=_[_0x05ae('0x37')](_0x5cd3c9[_0x05ae('0x36')]);_0x22ad57[_0x05ae('0x38')]=_[_0x05ae('0x39')](_0x22ad57[_0x05ae('0x3a')],_0x22ad57[_0x05ae('0x36')]);_0xe3196d[_0x05ae('0x3b')]=_[_0x05ae('0x39')](_0x22ad57['model'],qs[_0x05ae('0x3c')](_0x5cd3c9[_0x05ae('0x36')][_0x05ae('0x3c')]));_0xe3196d[_0x05ae('0x3b')]=_0xe3196d['attributes'][_0x05ae('0x3d')]?_0xe3196d[_0x05ae('0x3b')]:_0x22ad57[_0x05ae('0x3a')];_0xe3196d['order']=qs[_0x05ae('0x3f')](_0x5cd3c9[_0x05ae('0x36')][_0x05ae('0x3f')]);_0xe3196d[_0x05ae('0x40')]=qs[_0x05ae('0x38')](_['pick'](_0x5cd3c9['query'],_0x22ad57[_0x05ae('0x38')]));if(_0x5cd3c9[_0x05ae('0x36')][_0x05ae('0x42')]){_0xe3196d[_0x05ae('0x40')]=_[_0x05ae('0x43')](_0xe3196d[_0x05ae('0x40')],{'$or':_['map'](_0xe3196d['attributes'],function(_0x765c79){var _0xbf38bf={};_0xbf38bf[_0x765c79]={'$like':'%'+_0x5cd3c9[_0x05ae('0x36')][_0x05ae('0x42')]+'%'};return _0xbf38bf;})});}_0xe3196d=_[_0x05ae('0x43')]({},_0xe3196d,_0x5cd3c9[_0x05ae('0x44')]);return _0x331bb2[_0x05ae('0x74')](_0xe3196d);}})['then'](function(_0x5c9f05){if(_0x5c9f05){_0x3cca2d=_0x5c9f05['length'];if(!_0x5cd3c9['query'][_0x05ae('0x3e')]('nolimit')){_0xe3196d[_0x05ae('0x23')]=qs[_0x05ae('0x23')](_0x5cd3c9[_0x05ae('0x36')][_0x05ae('0x23')]);_0xe3196d['offset']=qs['offset'](_0x5cd3c9[_0x05ae('0x36')][_0x05ae('0x22')]);}return _0x331bb2[_0x05ae('0x74')](_0xe3196d);}})['then'](function(_0x368323){if(_0x368323){return _0x368323?{'count':_0x3cca2d,'rows':_0x368323}:null;}})[_0x05ae('0x2b')](respondWithResult(_0x3bd45a,null))[_0x05ae('0x47')](handleError(_0x3bd45a,null));};