Built motion from commit 936e8062.|2.5.33
[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 _0x4b0f=['appdata','NoOp','Voice\x20Prefix','VoicePrefixId','VoiceExtensionId','bulkCreate','prefix','Set','callerIdAll','push','PREFIX-CALLERIDALL=','No\x20callerid\x20available','goto','${EXTEN:','charAt','update','body','system-','findById','addAgents','ids','omit','spread','emit','userVoicePrefix:save','removeAgents','isArray','userVoicePrefix:remove','getAgents','findOne','User','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','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','defaults','localhost','socket.io-emitter','./voicePrefix.socket','register','status','end','json','limit','undefined','offset','set','Content-Range','apply','reject','save','then','destroy','VoicePrefixes','UserProfileResource','sendStatus','error','name','send','index','map','fieldName','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','VoicePrefix','count','includeAll','include','findAll','show','rawAttributes','filters','catch','find','params','describe','create','sequelize','transaction','VoiceExtension','get','user','UserProfileSection','userProfileId','autoAssociation','context','from-sip','type','system','description','priority'];(function(_0x4d560a,_0x48d9dd){var _0x368b51=function(_0x4124a8){while(--_0x4124a8){_0x4d560a['push'](_0x4d560a['shift']());}};_0x368b51(++_0x48d9dd);}(_0x4b0f,0xa3));var _0xf4b0=function(_0x36103d,_0x3453b9){_0x36103d=_0x36103d-0x0;var _0x4edadd=_0x4b0f[_0x36103d];return _0x4edadd;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xf4b0('0x0'));var zipdir=require(_0xf4b0('0x1'));var jsonpatch=require(_0xf4b0('0x2'));var rp=require('request-promise');var moment=require(_0xf4b0('0x3'));var BPromise=require(_0xf4b0('0x4'));var Mustache=require(_0xf4b0('0x5'));var util=require(_0xf4b0('0x6'));var path=require(_0xf4b0('0x7'));var sox=require(_0xf4b0('0x8'));var csv=require(_0xf4b0('0x9'));var ejs=require(_0xf4b0('0xa'));var fs=require('fs');var fs_extra=require(_0xf4b0('0xb'));var _=require(_0xf4b0('0xc'));var squel=require(_0xf4b0('0xd'));var crypto=require(_0xf4b0('0xe'));var jsforce=require(_0xf4b0('0xf'));var deskjs=require(_0xf4b0('0x10'));var toCsv=require(_0xf4b0('0x9'));var querystring=require(_0xf4b0('0x11'));var Papa=require('papaparse');var Redis=require(_0xf4b0('0x12'));var authService=require(_0xf4b0('0x13'));var qs=require(_0xf4b0('0x14'));var as=require(_0xf4b0('0x15'));var hardwareService=require(_0xf4b0('0x16'));var logger=require(_0xf4b0('0x17'))(_0xf4b0('0x18'));var utils=require(_0xf4b0('0x19'));var config=require(_0xf4b0('0x1a'));var licenseUtil=require(_0xf4b0('0x1b'));var db=require(_0xf4b0('0x1c'))['db'];config[_0xf4b0('0x1d')]=_[_0xf4b0('0x1e')](config[_0xf4b0('0x1d')],{'host':_0xf4b0('0x1f'),'port':0x18eb});var socket=require(_0xf4b0('0x20'))(new Redis(config[_0xf4b0('0x1d')]));require(_0xf4b0('0x21'))[_0xf4b0('0x22')](socket);function respondWithStatusCode(_0x38f1b4,_0x1d3185){_0x1d3185=_0x1d3185||0xcc;return function(_0x2cb145){if(_0x2cb145){return _0x38f1b4['sendStatus'](_0x1d3185);}return _0x38f1b4[_0xf4b0('0x23')](_0x1d3185)[_0xf4b0('0x24')]();};}function respondWithResult(_0x22173d,_0x54991b){_0x54991b=_0x54991b||0xc8;return function(_0x252835){if(_0x252835){return _0x22173d[_0xf4b0('0x23')](_0x54991b)[_0xf4b0('0x25')](_0x252835);}};}function respondWithFilteredResult(_0x52312c,_0x20b74d){return function(_0x390dbd){if(_0x390dbd){var _0x3e8ade=typeof _0x20b74d['offset']==='undefined'&&typeof _0x20b74d[_0xf4b0('0x26')]===_0xf4b0('0x27');var _0x4f1093=_0x390dbd['count'];var _0x23a4e7=_0x3e8ade?0x0:_0x20b74d[_0xf4b0('0x28')];var _0x2bcaff=_0x3e8ade?_0x390dbd['count']:_0x20b74d[_0xf4b0('0x28')]+_0x20b74d[_0xf4b0('0x26')];var _0x20ecd9;if(_0x2bcaff>=_0x4f1093){_0x2bcaff=_0x4f1093;_0x20ecd9=0xc8;}else{_0x20ecd9=0xce;}_0x52312c[_0xf4b0('0x23')](_0x20ecd9);return _0x52312c[_0xf4b0('0x29')](_0xf4b0('0x2a'),_0x23a4e7+'-'+_0x2bcaff+'/'+_0x4f1093)[_0xf4b0('0x25')](_0x390dbd);}return null;};}function patchUpdates(_0x4df2b4){return function(_0x3d6e8e){try{jsonpatch[_0xf4b0('0x2b')](_0x3d6e8e,_0x4df2b4,!![]);}catch(_0x284809){return BPromise[_0xf4b0('0x2c')](_0x284809);}return _0x3d6e8e[_0xf4b0('0x2d')]();};}function saveUpdates(_0x338975,_0x28ecb0){return function(_0x3d054e){if(_0x3d054e){return _0x3d054e['update'](_0x338975)[_0xf4b0('0x2e')](function(_0x4c9d3c){return _0x4c9d3c;});}return null;};}function removeEntity(_0x1afc91,_0x3fce6e){return function(_0xebf701){if(_0xebf701){return _0xebf701[_0xf4b0('0x2f')]()[_0xf4b0('0x2e')](function(){var _0x44be84=_0xebf701['get']({'plain':!![]});var _0x259106=_0xf4b0('0x30');return db[_0xf4b0('0x31')]['destroy']({'where':{'type':_0x259106,'resourceId':_0x44be84['id']}})[_0xf4b0('0x2e')](function(){return _0xebf701;});})[_0xf4b0('0x2e')](function(){_0x1afc91[_0xf4b0('0x23')](0xcc)['end']();});}};}function handleEntityNotFound(_0x39c8be,_0x1ef8e1){return function(_0xc6b6fb){if(!_0xc6b6fb){_0x39c8be[_0xf4b0('0x32')](0x194);}return _0xc6b6fb;};}function handleError(_0x20478,_0x3d558d){_0x3d558d=_0x3d558d||0x1f4;return function(_0xd94c81){logger[_0xf4b0('0x33')](_0xd94c81['stack']);if(_0xd94c81[_0xf4b0('0x34')]){delete _0xd94c81[_0xf4b0('0x34')];}_0x20478[_0xf4b0('0x23')](_0x3d558d)[_0xf4b0('0x35')](_0xd94c81);};}exports[_0xf4b0('0x36')]=function(_0x23f07b,_0x360e63){var _0x71ef50={},_0x23899e={},_0xd212f2={'count':0x0,'rows':[]};var _0x3cfe9d=_[_0xf4b0('0x37')](db['VoicePrefix']['rawAttributes'],function(_0x36f8c2){return{'name':_0x36f8c2[_0xf4b0('0x38')],'type':_0x36f8c2['type'][_0xf4b0('0x39')]};});_0x23899e[_0xf4b0('0x3a')]=_[_0xf4b0('0x37')](_0x3cfe9d,_0xf4b0('0x34'));_0x23899e[_0xf4b0('0x3b')]=_[_0xf4b0('0x3c')](_0x23f07b[_0xf4b0('0x3b')]);_0x23899e['filters']=_[_0xf4b0('0x3d')](_0x23899e['model'],_0x23899e[_0xf4b0('0x3b')]);_0x71ef50[_0xf4b0('0x3e')]=_[_0xf4b0('0x3d')](_0x23899e[_0xf4b0('0x3a')],qs[_0xf4b0('0x3f')](_0x23f07b[_0xf4b0('0x3b')][_0xf4b0('0x3f')]));_0x71ef50['attributes']=_0x71ef50[_0xf4b0('0x3e')][_0xf4b0('0x40')]?_0x71ef50[_0xf4b0('0x3e')]:_0x23899e['model'];if(!_0x23f07b[_0xf4b0('0x3b')][_0xf4b0('0x41')](_0xf4b0('0x42'))){_0x71ef50[_0xf4b0('0x26')]=qs[_0xf4b0('0x26')](_0x23f07b[_0xf4b0('0x3b')][_0xf4b0('0x26')]);_0x71ef50['offset']=qs[_0xf4b0('0x28')](_0x23f07b[_0xf4b0('0x3b')]['offset']);}_0x71ef50[_0xf4b0('0x43')]=qs[_0xf4b0('0x44')](_0x23f07b['query']['sort']);_0x71ef50[_0xf4b0('0x45')]=qs['filters'](_[_0xf4b0('0x46')](_0x23f07b['query'],_0x23899e['filters']),_0x3cfe9d);if(_0x23f07b[_0xf4b0('0x3b')][_0xf4b0('0x47')]){_0x71ef50[_0xf4b0('0x45')]=_[_0xf4b0('0x48')](_0x71ef50['where'],{'$or':_[_0xf4b0('0x37')](_0x3cfe9d,function(_0x3eddb2){if(_0x3eddb2['type']!=='VIRTUAL'){var _0x1ed464={};_0x1ed464[_0x3eddb2[_0xf4b0('0x34')]]={'$like':'%'+_0x23f07b[_0xf4b0('0x3b')][_0xf4b0('0x47')]+'%'};return _0x1ed464;}})});}_0x71ef50=_['merge']({},_0x71ef50,_0x23f07b[_0xf4b0('0x49')]);var _0x3b9ac8={'where':_0x71ef50[_0xf4b0('0x45')]};return db[_0xf4b0('0x4a')][_0xf4b0('0x4b')](_0x3b9ac8)['then'](function(_0x428b83){_0xd212f2[_0xf4b0('0x4b')]=_0x428b83;if(_0x23f07b['query'][_0xf4b0('0x4c')]){_0x71ef50[_0xf4b0('0x4d')]=[{'all':!![]}];}return db['VoicePrefix'][_0xf4b0('0x4e')](_0x71ef50);})[_0xf4b0('0x2e')](function(_0x327181){_0xd212f2['rows']=_0x327181;return _0xd212f2;})[_0xf4b0('0x2e')](respondWithFilteredResult(_0x360e63,_0x71ef50))['catch'](handleError(_0x360e63,null));};exports[_0xf4b0('0x4f')]=function(_0x213e73,_0x4eb534){var _0x4ce177={'raw':![],'where':{'id':_0x213e73['params']['id']}},_0x1854c9={};_0x1854c9[_0xf4b0('0x3a')]=_[_0xf4b0('0x3c')](db[_0xf4b0('0x4a')][_0xf4b0('0x50')]);_0x1854c9[_0xf4b0('0x3b')]=_[_0xf4b0('0x3c')](_0x213e73[_0xf4b0('0x3b')]);_0x1854c9[_0xf4b0('0x51')]=_[_0xf4b0('0x3d')](_0x1854c9[_0xf4b0('0x3a')],_0x1854c9[_0xf4b0('0x3b')]);_0x4ce177['attributes']=_['intersection'](_0x1854c9[_0xf4b0('0x3a')],qs[_0xf4b0('0x3f')](_0x213e73[_0xf4b0('0x3b')][_0xf4b0('0x3f')]));_0x4ce177[_0xf4b0('0x3e')]=_0x4ce177['attributes']['length']?_0x4ce177[_0xf4b0('0x3e')]:_0x1854c9[_0xf4b0('0x3a')];if(_0x213e73[_0xf4b0('0x3b')]['includeAll']){_0x4ce177['include']=[{'all':!![]}];}_0x4ce177=_['merge']({},_0x4ce177,_0x213e73[_0xf4b0('0x49')]);return db[_0xf4b0('0x4a')]['find'](_0x4ce177)[_0xf4b0('0x2e')](handleEntityNotFound(_0x4eb534,null))[_0xf4b0('0x2e')](respondWithResult(_0x4eb534,null))[_0xf4b0('0x52')](handleError(_0x4eb534,null));};exports[_0xf4b0('0x2f')]=function(_0x2c2e4e,_0x45d8a0){return db[_0xf4b0('0x4a')][_0xf4b0('0x53')]({'where':{'id':_0x2c2e4e[_0xf4b0('0x54')]['id']}})[_0xf4b0('0x2e')](handleEntityNotFound(_0x45d8a0,null))['then'](removeEntity(_0x45d8a0,null))[_0xf4b0('0x52')](handleError(_0x45d8a0,null));};exports['describe']=function(_0x4116ae,_0x5acb26){return db['VoicePrefix'][_0xf4b0('0x55')]()[_0xf4b0('0x2e')](respondWithResult(_0x5acb26,null))[_0xf4b0('0x52')](handleError(_0x5acb26,null));};exports[_0xf4b0('0x56')]=function(_0x48fce7,_0x36aa7b){var _0x2a7d96;return db[_0xf4b0('0x57')][_0xf4b0('0x58')](function(_0x15bdae){return db[_0xf4b0('0x4a')]['create'](_0x48fce7['body'],{'transaction':_0x15bdae})[_0xf4b0('0x2e')](function(_0x12c309){_0x2a7d96=_0x12c309['get']({'plain':!![]});return db[_0xf4b0('0x59')]['find']({'where':{'id':_0x2a7d96['VoiceExtensionId']},'raw':!![]})[_0xf4b0('0x2e')](function(_0x5020f1){return createVoicePrefixExtensions(_0x2a7d96,_0x5020f1,_0x15bdae);});});})[_0xf4b0('0x2e')](function(){var _0x2c9e12=_0x48fce7['user'][_0xf4b0('0x5a')]({'plain':!![]});if(!_0x2c9e12)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2c9e12['role']===_0xf4b0('0x5b')){var _0x183d35=_0x2a7d96;return db[_0xf4b0('0x5c')]['find']({'where':{'name':'VoicePrefixes','userProfileId':_0x2c9e12[_0xf4b0('0x5d')]},'raw':!![]})[_0xf4b0('0x2e')](function(_0x397189){if(_0x397189&&_0x397189[_0xf4b0('0x5e')]===0x0){return db[_0xf4b0('0x31')][_0xf4b0('0x56')]({'name':_0x183d35['name'],'resourceId':_0x183d35['id'],'type':_0x397189[_0xf4b0('0x34')],'sectionId':_0x397189['id']},{})[_0xf4b0('0x2e')](function(){return _0x2a7d96;});}else{return _0x2a7d96;}})[_0xf4b0('0x52')](function(_0x4b0218){logger[_0xf4b0('0x33')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4b0218);throw _0x4b0218;});}return _0x2a7d96;})['then'](respondWithResult(_0x36aa7b,null))[_0xf4b0('0x52')](handleError(_0x36aa7b,null));};function Extension(_0x2629db,_0x5a4f51,_0x1b762e,_0x1bccae){this[_0xf4b0('0x5f')]=_0xf4b0('0x60');this['exten']=_0x2629db;this['app']=_0x1b762e;this[_0xf4b0('0x61')]=_0xf4b0('0x62');this[_0xf4b0('0x63')]='Voice\x20Prefix\x20Extension';this[_0xf4b0('0x64')]=_0x5a4f51;this[_0xf4b0('0x65')]=_0x1bccae;}function createVoicePrefixExtensions(_0x350068,_0x323858,_0x5598bd){return new BPromise(function(_0x3b9340,_0x4346db){var _0x790d32=new Extension(formatPrefixName(_0x350068['prefix']),0x1,_0xf4b0('0x66'),_0xf4b0('0x67'));_0x790d32[_0xf4b0('0x68')]=_0x350068['id'];return db[_0xf4b0('0x59')][_0xf4b0('0x56')](_0x790d32,{'transaction':_0x5598bd})[_0xf4b0('0x2e')](function(_0x1ea18f){var _0x52a622=_0x1ea18f[_0xf4b0('0x5a')]({'plain':!![]});var _0x3279b0=_[_0xf4b0('0x37')](addVoicePrefixExtensions(_0x350068,_0x323858),function(_0x339068){_0x339068[_0xf4b0('0x69')]=_0x52a622['id'];_0x339068['VoicePrefixId']=_0x350068['id'];return _0x339068;});return db[_0xf4b0('0x59')][_0xf4b0('0x6a')](_0x3279b0,{'transaction':_0x5598bd})[_0xf4b0('0x2e')](function(_0x425da7){if(!_0x425da7){return _0x4346db('Extensions\x20creation\x20failed');}else{return _0x3b9340(_0x425da7);}})[_0xf4b0('0x52')](function(_0x4177f1){return _0x4346db(_0x4177f1);});});;});};function addVoicePrefixExtensions(_0x6765f7,_0x405636){var _0x3ce68d=[];var _0x2320c0=formatPrefixName(_0x6765f7[_0xf4b0('0x6b')]);_0x3ce68d['push'](new Extension(_0x2320c0,0x2,_0xf4b0('0x6c'),'CDR(prefix)='+_0x6765f7[_0xf4b0('0x34')]));if(_0x6765f7[_0xf4b0('0x6d')]){_0x3ce68d[_0xf4b0('0x6e')](new Extension(_0x2320c0,0x3,'Set',_0xf4b0('0x6f')+_0x6765f7[_0xf4b0('0x6d')]));}else{_0x3ce68d['push'](new Extension(_0x2320c0,0x3,'NoOp',_0xf4b0('0x70')));}_0x3ce68d[_0xf4b0('0x6e')](new Extension(_0x2320c0,0x4,_0xf4b0('0x71'),_0x405636[_0xf4b0('0x5f')]+','+_0xf4b0('0x72')+(0x8+_0x6765f7[_0xf4b0('0x34')]['length'])+'}'+','+0x1));return _0x3ce68d;}function formatPrefixName(_0x35c09e){var _0x52756d='_';for(var _0x375186=0x0;_0x375186<_0x35c09e[_0xf4b0('0x40')];_0x375186++){if(_0x35c09e[_0xf4b0('0x73')](_0x375186)=='-'){_0x52756d+=_0x35c09e[_0xf4b0('0x73')](_0x375186);}else{_0x52756d+='['+_0x35c09e['charAt'](_0x375186)+']';}}_0x52756d+='.';return _0x52756d;}exports[_0xf4b0('0x74')]=function(_0xbea595,_0x26c18b,_0x576719){var _0x2c1851=_0xbea595[_0xf4b0('0x75')];_0x2c1851['prefix']=_0xf4b0('0x76')+_0x2c1851[_0xf4b0('0x34')]+'-';return db[_0xf4b0('0x57')][_0xf4b0('0x58')](function(_0xb11774){return db['VoicePrefix'][_0xf4b0('0x74')](_0x2c1851,{'where':{'id':_0x2c1851['id']},'transaction':_0xb11774})['then'](function(){return db[_0xf4b0('0x59')][_0xf4b0('0x2f')]({'where':{'VoicePrefixId':_0x2c1851['id']},'transaction':_0xb11774})[_0xf4b0('0x2e')](function(){return db[_0xf4b0('0x59')][_0xf4b0('0x53')]({'where':{'id':_0x2c1851[_0xf4b0('0x69')]},'raw':!![]})[_0xf4b0('0x2e')](function(_0x2040ca){return createVoicePrefixExtensions(_0x2c1851,_0x2040ca,_0xb11774);});});});})[_0xf4b0('0x2e')](function(){return db[_0xf4b0('0x4a')][_0xf4b0('0x77')](_0x2c1851['id']);})['then'](respondWithResult(_0x26c18b,null))['catch'](handleError(_0x26c18b,null));};exports[_0xf4b0('0x78')]=function(_0x14fdca,_0x2770d0,_0x153587){return db[_0xf4b0('0x4a')]['find']({'where':{'id':_0x14fdca[_0xf4b0('0x54')]['id']}})[_0xf4b0('0x2e')](handleEntityNotFound(_0x2770d0,null))[_0xf4b0('0x2e')](function(_0x29a08d){if(_0x29a08d){return _0x29a08d[_0xf4b0('0x78')](_0x14fdca[_0xf4b0('0x75')][_0xf4b0('0x79')],_[_0xf4b0('0x7a')](_0x14fdca['body'],[_0xf4b0('0x79'),'id'])||{})[_0xf4b0('0x7b')](function(_0x2b05fe){for(var _0x14fb2e=0x0;_0x14fb2e<_0x14fdca[_0xf4b0('0x75')][_0xf4b0('0x79')][_0xf4b0('0x40')];_0x14fb2e+=0x1){socket[_0xf4b0('0x7c')](_0xf4b0('0x7d'),{'UserId':Number(_0x14fdca[_0xf4b0('0x75')][_0xf4b0('0x79')][_0x14fb2e]),'VoicePrefixId':Number(_0x14fdca[_0xf4b0('0x54')]['id'])});}return _0x2b05fe;});}})['then'](respondWithResult(_0x2770d0,null))[_0xf4b0('0x52')](handleError(_0x2770d0,null));};exports[_0xf4b0('0x7e')]=function(_0x46576a,_0x42d582,_0x4d8505){return db[_0xf4b0('0x4a')][_0xf4b0('0x53')]({'where':{'id':_0x46576a[_0xf4b0('0x54')]['id']}})['then'](handleEntityNotFound(_0x42d582,null))[_0xf4b0('0x2e')](function(_0x5c67ca){if(_0x5c67ca){return _0x5c67ca[_0xf4b0('0x7e')](_0x46576a[_0xf4b0('0x3b')][_0xf4b0('0x79')])[_0xf4b0('0x2e')](function(){if(_[_0xf4b0('0x7f')](_0x46576a[_0xf4b0('0x3b')][_0xf4b0('0x79')])){for(var _0x27d7fb=0x0;_0x27d7fb<_0x46576a[_0xf4b0('0x3b')][_0xf4b0('0x79')][_0xf4b0('0x40')];_0x27d7fb+=0x1){socket[_0xf4b0('0x7c')](_0xf4b0('0x80'),{'UserId':Number(_0x46576a[_0xf4b0('0x3b')][_0xf4b0('0x79')][_0x27d7fb]),'VoicePrefixId':Number(_0x46576a[_0xf4b0('0x54')]['id'])});}}else{socket[_0xf4b0('0x7c')](_0xf4b0('0x80'),{'UserId':Number(_0x46576a[_0xf4b0('0x3b')][_0xf4b0('0x79')]),'VoicePrefixId':Number(_0x46576a[_0xf4b0('0x54')]['id'])});}});}})[_0xf4b0('0x2e')](respondWithStatusCode(_0x42d582,null))['catch'](handleError(_0x42d582,null));};exports[_0xf4b0('0x81')]=function(_0x2366f4,_0x328626,_0x4f1434){var _0x104032={};var _0x2f55e8={};var _0x2ceb5d;var _0x40a70e;return db[_0xf4b0('0x4a')][_0xf4b0('0x82')]({'where':{'id':_0x2366f4[_0xf4b0('0x54')]['id']}})[_0xf4b0('0x2e')](handleEntityNotFound(_0x328626,null))[_0xf4b0('0x2e')](function(_0x5b0607){if(_0x5b0607){_0x2ceb5d=_0x5b0607;_0x2f55e8[_0xf4b0('0x3a')]=_[_0xf4b0('0x3c')](db[_0xf4b0('0x83')][_0xf4b0('0x50')]);_0x2f55e8['query']=_[_0xf4b0('0x3c')](_0x2366f4[_0xf4b0('0x3b')]);_0x2f55e8[_0xf4b0('0x51')]=_['intersection'](_0x2f55e8['model'],_0x2f55e8[_0xf4b0('0x3b')]);_0x104032['attributes']=_[_0xf4b0('0x3d')](_0x2f55e8[_0xf4b0('0x3a')],qs[_0xf4b0('0x3f')](_0x2366f4[_0xf4b0('0x3b')][_0xf4b0('0x3f')]));_0x104032[_0xf4b0('0x3e')]=_0x104032[_0xf4b0('0x3e')][_0xf4b0('0x40')]?_0x104032[_0xf4b0('0x3e')]:_0x2f55e8[_0xf4b0('0x3a')];_0x104032[_0xf4b0('0x43')]=qs['sort'](_0x2366f4[_0xf4b0('0x3b')]['sort']);_0x104032['where']=qs[_0xf4b0('0x51')](_[_0xf4b0('0x46')](_0x2366f4['query'],_0x2f55e8[_0xf4b0('0x51')]));if(_0x2366f4[_0xf4b0('0x3b')]['filter']){_0x104032[_0xf4b0('0x45')]=_[_0xf4b0('0x48')](_0x104032[_0xf4b0('0x45')],{'$or':_[_0xf4b0('0x37')](_0x104032['attributes'],function(_0x25d202){var _0x2bdf25={};_0x2bdf25[_0x25d202]={'$like':'%'+_0x2366f4[_0xf4b0('0x3b')][_0xf4b0('0x47')]+'%'};return _0x2bdf25;})});}_0x104032=_[_0xf4b0('0x48')]({},_0x104032,_0x2366f4[_0xf4b0('0x49')]);return _0x2ceb5d['getAgents'](_0x104032);}})[_0xf4b0('0x2e')](function(_0x2a7726){if(_0x2a7726){_0x40a70e=_0x2a7726[_0xf4b0('0x40')];if(!_0x2366f4[_0xf4b0('0x3b')][_0xf4b0('0x41')](_0xf4b0('0x42'))){_0x104032['limit']=qs['limit'](_0x2366f4[_0xf4b0('0x3b')][_0xf4b0('0x26')]);_0x104032[_0xf4b0('0x28')]=qs['offset'](_0x2366f4[_0xf4b0('0x3b')][_0xf4b0('0x28')]);}return _0x2ceb5d[_0xf4b0('0x81')](_0x104032);}})[_0xf4b0('0x2e')](function(_0x515404){if(_0x515404){return _0x515404?{'count':_0x40a70e,'rows':_0x515404}:null;}})[_0xf4b0('0x2e')](respondWithResult(_0x328626,null))[_0xf4b0('0x52')](handleError(_0x328626,null));};