0c198576e518509f1e82d5ed350c83412cf8b0bf
[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 _0xc059=['path','sox','to-csv','lodash','squel','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./voicePrefix.socket','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','VoicePrefixes','UserProfileResource','error','stack','name','send','index','map','VoicePrefix','rawAttributes','fieldName','type','key','model','query','filters','attributes','intersection','fields','length','nolimit','order','sort','pick','where','merge','VIRTUAL','filter','options','count','includeAll','include','findAll','rows','show','keys','find','catch','params','describe','create','sequelize','transaction','body','VoiceExtension','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','exten','system','description','Voice\x20Prefix\x20Extension','appdata','NoOp','Voice\x20Prefix','VoicePrefixId','bulkCreate','prefix','push','Set','CDR(prefix)=','callerIdAll','PREFIX-CALLERIDALL=','goto','${EXTEN:','charAt','findById','addAgents','omit','ids','spread','emit','userVoicePrefix:save','removeAgents','isArray','userVoicePrefix:remove','findOne','User','hasOwnProperty','getAgents','eml-format','zip-dir','fast-json-patch','bluebird'];(function(_0x4d98dc,_0x558aa9){var _0xc445b9=function(_0xf2c46c){while(--_0xf2c46c){_0x4d98dc['push'](_0x4d98dc['shift']());}};_0xc445b9(++_0x558aa9);}(_0xc059,0x79));var _0x9c05=function(_0x209fce,_0x24b56e){_0x209fce=_0x209fce-0x0;var _0x5ddf8b=_0xc059[_0x209fce];return _0x5ddf8b;};'use strict';var emlformat=require(_0x9c05('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x9c05('0x1'));var jsonpatch=require(_0x9c05('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x9c05('0x3'));var Mustache=require('mustache');var util=require('util');var path=require(_0x9c05('0x4'));var sox=require(_0x9c05('0x5'));var csv=require(_0x9c05('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x9c05('0x7'));var squel=require(_0x9c05('0x8'));var crypto=require('crypto');var jsforce=require(_0x9c05('0x9'));var deskjs=require('desk.js');var toCsv=require(_0x9c05('0x6'));var querystring=require(_0x9c05('0xa'));var Papa=require(_0x9c05('0xb'));var Redis=require('ioredis');var authService=require(_0x9c05('0xc'));var qs=require('../../components/parsers/qs');var as=require(_0x9c05('0xd'));var hardwareService=require(_0x9c05('0xe'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x9c05('0xf'));var licenseUtil=require(_0x9c05('0x10'));var db=require('../../mysqldb')['db'];config[_0x9c05('0x11')]=_[_0x9c05('0x12')](config['redis'],{'host':_0x9c05('0x13'),'port':0x18eb});var socket=require(_0x9c05('0x14'))(new Redis(config[_0x9c05('0x11')]));require(_0x9c05('0x15'))['register'](socket);function respondWithStatusCode(_0x4694bd,_0x3b52b6){_0x3b52b6=_0x3b52b6||0xcc;return function(_0x435820){if(_0x435820){return _0x4694bd[_0x9c05('0x16')](_0x3b52b6);}return _0x4694bd[_0x9c05('0x17')](_0x3b52b6)[_0x9c05('0x18')]();};}function respondWithResult(_0x3416cc,_0x1435fb){_0x1435fb=_0x1435fb||0xc8;return function(_0x539aad){if(_0x539aad){return _0x3416cc['status'](_0x1435fb)[_0x9c05('0x19')](_0x539aad);}};}function respondWithFilteredResult(_0x5c9f76,_0x51a1ad){return function(_0x2ee478){if(_0x2ee478){var _0x1fa51b=typeof _0x51a1ad[_0x9c05('0x1a')]===_0x9c05('0x1b')&&typeof _0x51a1ad[_0x9c05('0x1c')]==='undefined';var _0x48fadf=_0x2ee478['count'];var _0x3a246c=_0x1fa51b?0x0:_0x51a1ad[_0x9c05('0x1a')];var _0x2450cd=_0x1fa51b?_0x2ee478['count']:_0x51a1ad[_0x9c05('0x1a')]+_0x51a1ad[_0x9c05('0x1c')];var _0xf8b5ad;if(_0x2450cd>=_0x48fadf){_0x2450cd=_0x48fadf;_0xf8b5ad=0xc8;}else{_0xf8b5ad=0xce;}_0x5c9f76[_0x9c05('0x17')](_0xf8b5ad);return _0x5c9f76[_0x9c05('0x1d')](_0x9c05('0x1e'),_0x3a246c+'-'+_0x2450cd+'/'+_0x48fadf)[_0x9c05('0x19')](_0x2ee478);}return null;};}function patchUpdates(_0x485be2){return function(_0x2cab1d){try{jsonpatch[_0x9c05('0x1f')](_0x2cab1d,_0x485be2,!![]);}catch(_0x4dcf47){return BPromise[_0x9c05('0x20')](_0x4dcf47);}return _0x2cab1d[_0x9c05('0x21')]();};}function saveUpdates(_0xe360a6,_0x5b0f1b){return function(_0x5828b8){if(_0x5828b8){return _0x5828b8[_0x9c05('0x22')](_0xe360a6)[_0x9c05('0x23')](function(_0x181534){return _0x181534;});}return null;};}function removeEntity(_0x14d956,_0x391634){return function(_0x318829){if(_0x318829){return _0x318829[_0x9c05('0x24')]()[_0x9c05('0x23')](function(){var _0x57dda1=_0x318829[_0x9c05('0x25')]({'plain':!![]});var _0x5c91a6=_0x9c05('0x26');return db[_0x9c05('0x27')][_0x9c05('0x24')]({'where':{'type':_0x5c91a6,'resourceId':_0x57dda1['id']}})['then'](function(){return _0x318829;});})[_0x9c05('0x23')](function(){_0x14d956[_0x9c05('0x17')](0xcc)[_0x9c05('0x18')]();});}};}function handleEntityNotFound(_0x579780,_0x428d07){return function(_0x1080f4){if(!_0x1080f4){_0x579780['sendStatus'](0x194);}return _0x1080f4;};}function handleError(_0x499946,_0x15ff81){_0x15ff81=_0x15ff81||0x1f4;return function(_0x33f9be){logger[_0x9c05('0x28')](_0x33f9be[_0x9c05('0x29')]);if(_0x33f9be[_0x9c05('0x2a')]){delete _0x33f9be[_0x9c05('0x2a')];}_0x499946[_0x9c05('0x17')](_0x15ff81)[_0x9c05('0x2b')](_0x33f9be);};}exports[_0x9c05('0x2c')]=function(_0x2fbbfe,_0xbac694){var _0x743798={},_0x32f5d9={},_0x446807={'count':0x0,'rows':[]};var _0x71bbd9=_[_0x9c05('0x2d')](db[_0x9c05('0x2e')][_0x9c05('0x2f')],function(_0x43c6c5){return{'name':_0x43c6c5[_0x9c05('0x30')],'type':_0x43c6c5[_0x9c05('0x31')][_0x9c05('0x32')]};});_0x32f5d9[_0x9c05('0x33')]=_[_0x9c05('0x2d')](_0x71bbd9,'name');_0x32f5d9[_0x9c05('0x34')]=_['keys'](_0x2fbbfe[_0x9c05('0x34')]);_0x32f5d9[_0x9c05('0x35')]=_['intersection'](_0x32f5d9[_0x9c05('0x33')],_0x32f5d9[_0x9c05('0x34')]);_0x743798[_0x9c05('0x36')]=_[_0x9c05('0x37')](_0x32f5d9[_0x9c05('0x33')],qs['fields'](_0x2fbbfe[_0x9c05('0x34')][_0x9c05('0x38')]));_0x743798[_0x9c05('0x36')]=_0x743798['attributes'][_0x9c05('0x39')]?_0x743798['attributes']:_0x32f5d9[_0x9c05('0x33')];if(!_0x2fbbfe[_0x9c05('0x34')]['hasOwnProperty'](_0x9c05('0x3a'))){_0x743798[_0x9c05('0x1c')]=qs[_0x9c05('0x1c')](_0x2fbbfe['query']['limit']);_0x743798[_0x9c05('0x1a')]=qs[_0x9c05('0x1a')](_0x2fbbfe['query'][_0x9c05('0x1a')]);}_0x743798[_0x9c05('0x3b')]=qs[_0x9c05('0x3c')](_0x2fbbfe[_0x9c05('0x34')][_0x9c05('0x3c')]);_0x743798['where']=qs[_0x9c05('0x35')](_[_0x9c05('0x3d')](_0x2fbbfe[_0x9c05('0x34')],_0x32f5d9[_0x9c05('0x35')]),_0x71bbd9);if(_0x2fbbfe[_0x9c05('0x34')]['filter']){_0x743798[_0x9c05('0x3e')]=_[_0x9c05('0x3f')](_0x743798[_0x9c05('0x3e')],{'$or':_[_0x9c05('0x2d')](_0x71bbd9,function(_0x49305f){if(_0x49305f[_0x9c05('0x31')]!==_0x9c05('0x40')){var _0x4d7344={};_0x4d7344[_0x49305f[_0x9c05('0x2a')]]={'$like':'%'+_0x2fbbfe[_0x9c05('0x34')][_0x9c05('0x41')]+'%'};return _0x4d7344;}})});}_0x743798=_[_0x9c05('0x3f')]({},_0x743798,_0x2fbbfe[_0x9c05('0x42')]);var _0x49da71={'where':_0x743798[_0x9c05('0x3e')]};return db['VoicePrefix'][_0x9c05('0x43')](_0x49da71)[_0x9c05('0x23')](function(_0x5e2d4c){_0x446807[_0x9c05('0x43')]=_0x5e2d4c;if(_0x2fbbfe[_0x9c05('0x34')][_0x9c05('0x44')]){_0x743798[_0x9c05('0x45')]=[{'all':!![]}];}return db[_0x9c05('0x2e')][_0x9c05('0x46')](_0x743798);})[_0x9c05('0x23')](function(_0x1919b5){_0x446807[_0x9c05('0x47')]=_0x1919b5;return _0x446807;})[_0x9c05('0x23')](respondWithFilteredResult(_0xbac694,_0x743798))['catch'](handleError(_0xbac694,null));};exports[_0x9c05('0x48')]=function(_0x25cc3d,_0x1fbba7){var _0x37e1bd={'raw':![],'where':{'id':_0x25cc3d['params']['id']}},_0xfa7412={};_0xfa7412[_0x9c05('0x33')]=_[_0x9c05('0x49')](db['VoicePrefix']['rawAttributes']);_0xfa7412['query']=_[_0x9c05('0x49')](_0x25cc3d[_0x9c05('0x34')]);_0xfa7412['filters']=_['intersection'](_0xfa7412[_0x9c05('0x33')],_0xfa7412[_0x9c05('0x34')]);_0x37e1bd[_0x9c05('0x36')]=_[_0x9c05('0x37')](_0xfa7412[_0x9c05('0x33')],qs[_0x9c05('0x38')](_0x25cc3d['query'][_0x9c05('0x38')]));_0x37e1bd['attributes']=_0x37e1bd[_0x9c05('0x36')]['length']?_0x37e1bd[_0x9c05('0x36')]:_0xfa7412[_0x9c05('0x33')];if(_0x25cc3d[_0x9c05('0x34')][_0x9c05('0x44')]){_0x37e1bd[_0x9c05('0x45')]=[{'all':!![]}];}_0x37e1bd=_[_0x9c05('0x3f')]({},_0x37e1bd,_0x25cc3d['options']);return db[_0x9c05('0x2e')][_0x9c05('0x4a')](_0x37e1bd)[_0x9c05('0x23')](handleEntityNotFound(_0x1fbba7,null))['then'](respondWithResult(_0x1fbba7,null))[_0x9c05('0x4b')](handleError(_0x1fbba7,null));};exports[_0x9c05('0x24')]=function(_0x2f67c9,_0x276b24){return db[_0x9c05('0x2e')]['find']({'where':{'id':_0x2f67c9[_0x9c05('0x4c')]['id']}})[_0x9c05('0x23')](handleEntityNotFound(_0x276b24,null))[_0x9c05('0x23')](removeEntity(_0x276b24,null))[_0x9c05('0x4b')](handleError(_0x276b24,null));};exports[_0x9c05('0x4d')]=function(_0x2a33e3,_0x10f7d0){return db[_0x9c05('0x2e')][_0x9c05('0x4d')]()[_0x9c05('0x23')](respondWithResult(_0x10f7d0,null))[_0x9c05('0x4b')](handleError(_0x10f7d0,null));};exports[_0x9c05('0x4e')]=function(_0x8d210d,_0x57b783){var _0x1ceb6d;return db[_0x9c05('0x4f')][_0x9c05('0x50')](function(_0x195c45){return db[_0x9c05('0x2e')][_0x9c05('0x4e')](_0x8d210d[_0x9c05('0x51')],{'transaction':_0x195c45})[_0x9c05('0x23')](function(_0x49dca5){_0x1ceb6d=_0x49dca5[_0x9c05('0x25')]({'plain':!![]});return db[_0x9c05('0x52')]['find']({'where':{'id':_0x1ceb6d[_0x9c05('0x53')]},'raw':!![]})['then'](function(_0x2f9290){return createVoicePrefixExtensions(_0x1ceb6d,_0x2f9290,_0x195c45);});});})[_0x9c05('0x23')](function(){var _0x1b69ac=_0x8d210d[_0x9c05('0x54')][_0x9c05('0x25')]({'plain':!![]});if(!_0x1b69ac)throw new Error(_0x9c05('0x55'));if(_0x1b69ac[_0x9c05('0x56')]===_0x9c05('0x54')){var _0x4c5519=_0x1ceb6d;return db[_0x9c05('0x57')][_0x9c05('0x4a')]({'where':{'name':'VoicePrefixes','userProfileId':_0x1b69ac[_0x9c05('0x58')]},'raw':!![]})['then'](function(_0x163614){if(_0x163614&&_0x163614[_0x9c05('0x59')]===0x0){return db['UserProfileResource'][_0x9c05('0x4e')]({'name':_0x4c5519['name'],'resourceId':_0x4c5519['id'],'type':_0x163614[_0x9c05('0x2a')],'sectionId':_0x163614['id']},{})['then'](function(){return _0x1ceb6d;});}else{return _0x1ceb6d;}})[_0x9c05('0x4b')](function(_0x2c1862){logger[_0x9c05('0x28')](_0x9c05('0x5a'),_0x2c1862);throw _0x2c1862;});}return _0x1ceb6d;})[_0x9c05('0x23')](respondWithResult(_0x57b783,null))['catch'](handleError(_0x57b783,null));};function Extension(_0x2aa13c,_0xf4e73a,_0x1b4d7e,_0x131874){this[_0x9c05('0x5b')]=_0x9c05('0x5c');this[_0x9c05('0x5d')]=_0x2aa13c;this['app']=_0x1b4d7e;this['type']=_0x9c05('0x5e');this[_0x9c05('0x5f')]=_0x9c05('0x60');this['priority']=_0xf4e73a;this[_0x9c05('0x61')]=_0x131874;}function createVoicePrefixExtensions(_0x160015,_0x4d973,_0x509fe4){return new BPromise(function(_0x24e230,_0xdd7e31){var _0x325412=new Extension(formatPrefixName(_0x160015['prefix']),0x1,_0x9c05('0x62'),_0x9c05('0x63'));_0x325412['VoicePrefixId']=_0x160015['id'];return db[_0x9c05('0x52')]['create'](_0x325412,{'transaction':_0x509fe4})['then'](function(_0x23c6b4){var _0x353da5=_0x23c6b4[_0x9c05('0x25')]({'plain':!![]});var _0x3a75a7=_[_0x9c05('0x2d')](addVoicePrefixExtensions(_0x160015,_0x4d973),function(_0x2afd88){_0x2afd88[_0x9c05('0x53')]=_0x353da5['id'];_0x2afd88[_0x9c05('0x64')]=_0x160015['id'];return _0x2afd88;});return db[_0x9c05('0x52')][_0x9c05('0x65')](_0x3a75a7,{'transaction':_0x509fe4})[_0x9c05('0x23')](function(_0x9d7f3c){if(!_0x9d7f3c){return _0xdd7e31('Extensions\x20creation\x20failed');}else{return _0x24e230(_0x9d7f3c);}})[_0x9c05('0x4b')](function(_0x460654){return _0xdd7e31(_0x460654);});});;});};function addVoicePrefixExtensions(_0x24d710,_0x504650){var _0x1316b9=[];var _0x4737c5=formatPrefixName(_0x24d710[_0x9c05('0x66')]);_0x1316b9[_0x9c05('0x67')](new Extension(_0x4737c5,0x2,_0x9c05('0x68'),_0x9c05('0x69')+_0x24d710[_0x9c05('0x2a')]));if(_0x24d710[_0x9c05('0x6a')]){_0x1316b9[_0x9c05('0x67')](new Extension(_0x4737c5,0x3,_0x9c05('0x68'),_0x9c05('0x6b')+_0x24d710[_0x9c05('0x6a')]));}else{_0x1316b9['push'](new Extension(_0x4737c5,0x3,_0x9c05('0x62'),'No\x20callerid\x20available'));}_0x1316b9[_0x9c05('0x67')](new Extension(_0x4737c5,0x4,_0x9c05('0x6c'),_0x504650['context']+','+_0x9c05('0x6d')+(0x8+_0x24d710['name']['length'])+'}'+','+0x1));return _0x1316b9;}function formatPrefixName(_0x3b07df){var _0x396f25='_';for(var _0x5b638e=0x0;_0x5b638e<_0x3b07df[_0x9c05('0x39')];_0x5b638e++){if(_0x3b07df[_0x9c05('0x6e')](_0x5b638e)=='-'){_0x396f25+=_0x3b07df[_0x9c05('0x6e')](_0x5b638e);}else{_0x396f25+='['+_0x3b07df[_0x9c05('0x6e')](_0x5b638e)+']';}}_0x396f25+='.';return _0x396f25;}exports[_0x9c05('0x22')]=function(_0x2bc767,_0x34b827,_0x11ae20){var _0x3f637f=_0x2bc767[_0x9c05('0x51')];_0x3f637f[_0x9c05('0x66')]='system-'+_0x3f637f[_0x9c05('0x2a')]+'-';return db[_0x9c05('0x4f')][_0x9c05('0x50')](function(_0x53dfb1){return db[_0x9c05('0x2e')][_0x9c05('0x22')](_0x3f637f,{'where':{'id':_0x3f637f['id']},'transaction':_0x53dfb1})[_0x9c05('0x23')](function(){return db['VoiceExtension']['destroy']({'where':{'VoicePrefixId':_0x3f637f['id']},'transaction':_0x53dfb1})[_0x9c05('0x23')](function(){return db[_0x9c05('0x52')][_0x9c05('0x4a')]({'where':{'id':_0x3f637f[_0x9c05('0x53')]},'raw':!![]})[_0x9c05('0x23')](function(_0x5a60ad){return createVoicePrefixExtensions(_0x3f637f,_0x5a60ad,_0x53dfb1);});});});})[_0x9c05('0x23')](function(){return db[_0x9c05('0x2e')][_0x9c05('0x6f')](_0x3f637f['id']);})[_0x9c05('0x23')](respondWithResult(_0x34b827,null))[_0x9c05('0x4b')](handleError(_0x34b827,null));};exports[_0x9c05('0x70')]=function(_0x4c649e,_0x49cf20,_0x47e85d){return db[_0x9c05('0x2e')][_0x9c05('0x4a')]({'where':{'id':_0x4c649e[_0x9c05('0x4c')]['id']}})[_0x9c05('0x23')](handleEntityNotFound(_0x49cf20,null))[_0x9c05('0x23')](function(_0x319f5e){if(_0x319f5e){return _0x319f5e[_0x9c05('0x70')](_0x4c649e[_0x9c05('0x51')]['ids'],_[_0x9c05('0x71')](_0x4c649e[_0x9c05('0x51')],[_0x9c05('0x72'),'id'])||{})[_0x9c05('0x73')](function(_0x2b292b){for(var _0x145569=0x0;_0x145569<_0x4c649e[_0x9c05('0x51')][_0x9c05('0x72')][_0x9c05('0x39')];_0x145569+=0x1){socket[_0x9c05('0x74')](_0x9c05('0x75'),{'UserId':_0x4c649e[_0x9c05('0x51')][_0x9c05('0x72')][_0x145569],'VoicePrefixId':_0x4c649e['params']['id']});}return _0x2b292b;});}})[_0x9c05('0x23')](respondWithResult(_0x49cf20,null))[_0x9c05('0x4b')](handleError(_0x49cf20,null));};exports[_0x9c05('0x76')]=function(_0x3acd0a,_0x23daaa,_0x46beba){return db[_0x9c05('0x2e')][_0x9c05('0x4a')]({'where':{'id':_0x3acd0a[_0x9c05('0x4c')]['id']}})[_0x9c05('0x23')](handleEntityNotFound(_0x23daaa,null))[_0x9c05('0x23')](function(_0x15ed07){if(_0x15ed07){return _0x15ed07[_0x9c05('0x76')](_0x3acd0a[_0x9c05('0x34')][_0x9c05('0x72')])[_0x9c05('0x23')](function(){if(_[_0x9c05('0x77')](_0x3acd0a[_0x9c05('0x34')][_0x9c05('0x72')])){for(var _0x21be8d=0x0;_0x21be8d<_0x3acd0a[_0x9c05('0x34')][_0x9c05('0x72')][_0x9c05('0x39')];_0x21be8d+=0x1){socket['emit'](_0x9c05('0x78'),{'UserId':Number(_0x3acd0a[_0x9c05('0x34')][_0x9c05('0x72')][_0x21be8d]),'VoicePrefixId':Number(_0x3acd0a['params']['id'])});}}else{socket[_0x9c05('0x74')](_0x9c05('0x78'),{'UserId':Number(_0x3acd0a[_0x9c05('0x34')][_0x9c05('0x72')]),'VoicePrefixId':Number(_0x3acd0a[_0x9c05('0x4c')]['id'])});}});}})[_0x9c05('0x23')](respondWithStatusCode(_0x23daaa,null))[_0x9c05('0x4b')](handleError(_0x23daaa,null));};exports['getAgents']=function(_0x5b5f84,_0x3992ab,_0x1308a5){var _0x4ade71={};var _0x1c1628={};var _0x446c57;var _0xa55eaa;return db['VoicePrefix'][_0x9c05('0x79')]({'where':{'id':_0x5b5f84['params']['id']}})['then'](handleEntityNotFound(_0x3992ab,null))[_0x9c05('0x23')](function(_0x5abc03){if(_0x5abc03){_0x446c57=_0x5abc03;_0x1c1628[_0x9c05('0x33')]=_[_0x9c05('0x49')](db[_0x9c05('0x7a')][_0x9c05('0x2f')]);_0x1c1628[_0x9c05('0x34')]=_[_0x9c05('0x49')](_0x5b5f84[_0x9c05('0x34')]);_0x1c1628[_0x9c05('0x35')]=_[_0x9c05('0x37')](_0x1c1628[_0x9c05('0x33')],_0x1c1628[_0x9c05('0x34')]);_0x4ade71[_0x9c05('0x36')]=_['intersection'](_0x1c1628[_0x9c05('0x33')],qs[_0x9c05('0x38')](_0x5b5f84['query'][_0x9c05('0x38')]));_0x4ade71[_0x9c05('0x36')]=_0x4ade71[_0x9c05('0x36')][_0x9c05('0x39')]?_0x4ade71['attributes']:_0x1c1628[_0x9c05('0x33')];_0x4ade71[_0x9c05('0x3b')]=qs[_0x9c05('0x3c')](_0x5b5f84[_0x9c05('0x34')]['sort']);_0x4ade71[_0x9c05('0x3e')]=qs['filters'](_['pick'](_0x5b5f84[_0x9c05('0x34')],_0x1c1628[_0x9c05('0x35')]));if(_0x5b5f84['query'][_0x9c05('0x41')]){_0x4ade71[_0x9c05('0x3e')]=_[_0x9c05('0x3f')](_0x4ade71['where'],{'$or':_[_0x9c05('0x2d')](_0x4ade71[_0x9c05('0x36')],function(_0x3cfc64){var _0x3b6f9e={};_0x3b6f9e[_0x3cfc64]={'$like':'%'+_0x5b5f84['query'][_0x9c05('0x41')]+'%'};return _0x3b6f9e;})});}_0x4ade71=_[_0x9c05('0x3f')]({},_0x4ade71,_0x5b5f84[_0x9c05('0x42')]);return _0x446c57['getAgents'](_0x4ade71);}})[_0x9c05('0x23')](function(_0x2a421f){if(_0x2a421f){_0xa55eaa=_0x2a421f['length'];if(!_0x5b5f84[_0x9c05('0x34')][_0x9c05('0x7b')]('nolimit')){_0x4ade71[_0x9c05('0x1c')]=qs[_0x9c05('0x1c')](_0x5b5f84[_0x9c05('0x34')][_0x9c05('0x1c')]);_0x4ade71[_0x9c05('0x1a')]=qs[_0x9c05('0x1a')](_0x5b5f84['query'][_0x9c05('0x1a')]);}return _0x446c57[_0x9c05('0x7c')](_0x4ade71);}})[_0x9c05('0x23')](function(_0x36d4bf){if(_0x36d4bf){return _0x36d4bf?{'count':_0xa55eaa,'rows':_0x36d4bf}:null;}})[_0x9c05('0x23')](respondWithResult(_0x3992ab,null))[_0x9c05('0x4b')](handleError(_0x3992ab,null));};