7aa4a7904b89130f81aff96f8940cd38af4cdd9c
[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 _0x3d3d=['rows','catch','params','keys','intersection','include','options','find','describe','sequelize','transaction','create','body','VoiceExtension','VoiceExtensionId','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','VoicePrefixes','autoAssociation','context','exten','app','description','Voice\x20Prefix\x20Extension','priority','appdata','prefix','NoOp','VoicePrefixId','bulkCreate','Extensions\x20creation\x20failed','push','Set','CDR(prefix)=','callerIdAll','PREFIX-CALLERIDALL=','charAt','system-','findById','addAgents','ids','spread','emit','removeAgents','isArray','getAgents','findOne','User','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','localhost','./voicePrefix.socket','register','status','end','json','count','offset','set','Content-Range','reject','save','update','then','destroy','get','UserProfileResource','sendStatus','error','stack','name','send','index','map','fieldName','key','model','query','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filters','filter','merge','type','VIRTUAL','VoicePrefix'];(function(_0x51a6d6,_0x3c9c49){var _0x5ef1a8=function(_0x8ff84a){while(--_0x8ff84a){_0x51a6d6['push'](_0x51a6d6['shift']());}};_0x5ef1a8(++_0x3c9c49);}(_0x3d3d,0xab));var _0xd3d3=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x3d3d[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xd3d3('0x0'));var rimraf=require(_0xd3d3('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd3d3('0x2'));var rp=require(_0xd3d3('0x3'));var moment=require(_0xd3d3('0x4'));var BPromise=require(_0xd3d3('0x5'));var Mustache=require(_0xd3d3('0x6'));var util=require(_0xd3d3('0x7'));var path=require(_0xd3d3('0x8'));var sox=require(_0xd3d3('0x9'));var csv=require(_0xd3d3('0xa'));var ejs=require(_0xd3d3('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0xd3d3('0xc'));var crypto=require(_0xd3d3('0xd'));var jsforce=require(_0xd3d3('0xe'));var deskjs=require(_0xd3d3('0xf'));var toCsv=require('to-csv');var querystring=require(_0xd3d3('0x10'));var Papa=require(_0xd3d3('0x11'));var Redis=require(_0xd3d3('0x12'));var authService=require(_0xd3d3('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xd3d3('0x14'));var hardwareService=require(_0xd3d3('0x15'));var logger=require(_0xd3d3('0x16'))(_0xd3d3('0x17'));var utils=require(_0xd3d3('0x18'));var config=require(_0xd3d3('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0xd3d3('0x1a'))['db'];config['redis']=_['defaults'](config['redis'],{'host':_0xd3d3('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xd3d3('0x1c'))[_0xd3d3('0x1d')](socket);function respondWithStatusCode(_0x532ee7,_0xefb6ba){_0xefb6ba=_0xefb6ba||0xcc;return function(_0x5419a0){if(_0x5419a0){return _0x532ee7['sendStatus'](_0xefb6ba);}return _0x532ee7[_0xd3d3('0x1e')](_0xefb6ba)[_0xd3d3('0x1f')]();};}function respondWithResult(_0xdced00,_0x1698de){_0x1698de=_0x1698de||0xc8;return function(_0x393b3d){if(_0x393b3d){return _0xdced00['status'](_0x1698de)[_0xd3d3('0x20')](_0x393b3d);}};}function respondWithFilteredResult(_0xa9ce6c,_0x4b663a){return function(_0x4c18e3){if(_0x4c18e3){var _0xd369a3=_0x4c18e3[_0xd3d3('0x21')],_0x39792f=_0x4b663a[_0xd3d3('0x22')],_0x14ee85=_0x4b663a[_0xd3d3('0x22')]+_0x4b663a['limit'],_0x5f4031;if(_0x14ee85>=_0xd369a3){_0x14ee85=_0xd369a3;_0x5f4031=0xc8;}else{_0x5f4031=0xce;}_0xa9ce6c[_0xd3d3('0x1e')](_0x5f4031);return _0xa9ce6c[_0xd3d3('0x23')](_0xd3d3('0x24'),_0x39792f+'-'+_0x14ee85+'/'+_0xd369a3)['json'](_0x4c18e3);}return null;};}function patchUpdates(_0x3e6b49){return function(_0x53ac55){try{jsonpatch['apply'](_0x53ac55,_0x3e6b49,!![]);}catch(_0x3b758c){return BPromise[_0xd3d3('0x25')](_0x3b758c);}return _0x53ac55[_0xd3d3('0x26')]();};}function saveUpdates(_0x1330a1,_0x4b1e6d){return function(_0x258207){if(_0x258207){return _0x258207[_0xd3d3('0x27')](_0x1330a1)[_0xd3d3('0x28')](function(_0x358ecc){return _0x358ecc;});}return null;};}function removeEntity(_0x4130cb,_0xc98ae6){return function(_0x94bc1e){if(_0x94bc1e){return _0x94bc1e[_0xd3d3('0x29')]()[_0xd3d3('0x28')](function(){var _0x1cb091=_0x94bc1e[_0xd3d3('0x2a')]({'plain':!![]});var _0x2a2149='VoicePrefixes';return db[_0xd3d3('0x2b')]['destroy']({'where':{'type':_0x2a2149,'resourceId':_0x1cb091['id']}})[_0xd3d3('0x28')](function(){return _0x94bc1e;});})[_0xd3d3('0x28')](function(){_0x4130cb['status'](0xcc)[_0xd3d3('0x1f')]();});}};}function handleEntityNotFound(_0x1a1933,_0x301d96){return function(_0x536742){if(!_0x536742){_0x1a1933[_0xd3d3('0x2c')](0x194);}return _0x536742;};}function handleError(_0x3227e2,_0xcf96d3){_0xcf96d3=_0xcf96d3||0x1f4;return function(_0x5b58d7){logger[_0xd3d3('0x2d')](_0x5b58d7[_0xd3d3('0x2e')]);if(_0x5b58d7[_0xd3d3('0x2f')]){delete _0x5b58d7[_0xd3d3('0x2f')];}_0x3227e2[_0xd3d3('0x1e')](_0xcf96d3)[_0xd3d3('0x30')](_0x5b58d7);};}exports[_0xd3d3('0x31')]=function(_0x22bcc9,_0x9a03c5){var _0x12a6a9={},_0x1e4b3b={},_0x376a94={'count':0x0,'rows':[]};var _0xba846f=_[_0xd3d3('0x32')](db['VoicePrefix']['rawAttributes'],function(_0x2337a8){return{'name':_0x2337a8[_0xd3d3('0x33')],'type':_0x2337a8['type'][_0xd3d3('0x34')]};});_0x1e4b3b[_0xd3d3('0x35')]=_[_0xd3d3('0x32')](_0xba846f,_0xd3d3('0x2f'));_0x1e4b3b[_0xd3d3('0x36')]=_['keys'](_0x22bcc9[_0xd3d3('0x36')]);_0x1e4b3b['filters']=_['intersection'](_0x1e4b3b[_0xd3d3('0x35')],_0x1e4b3b['query']);_0x12a6a9[_0xd3d3('0x37')]=_['intersection'](_0x1e4b3b[_0xd3d3('0x35')],qs[_0xd3d3('0x38')](_0x22bcc9[_0xd3d3('0x36')][_0xd3d3('0x38')]));_0x12a6a9[_0xd3d3('0x37')]=_0x12a6a9['attributes'][_0xd3d3('0x39')]?_0x12a6a9[_0xd3d3('0x37')]:_0x1e4b3b[_0xd3d3('0x35')];if(!_0x22bcc9[_0xd3d3('0x36')][_0xd3d3('0x3a')](_0xd3d3('0x3b'))){_0x12a6a9[_0xd3d3('0x3c')]=qs[_0xd3d3('0x3c')](_0x22bcc9[_0xd3d3('0x36')]['limit']);_0x12a6a9[_0xd3d3('0x22')]=qs[_0xd3d3('0x22')](_0x22bcc9[_0xd3d3('0x36')][_0xd3d3('0x22')]);}_0x12a6a9[_0xd3d3('0x3d')]=qs['sort'](_0x22bcc9['query'][_0xd3d3('0x3e')]);_0x12a6a9[_0xd3d3('0x3f')]=qs['filters'](_[_0xd3d3('0x40')](_0x22bcc9[_0xd3d3('0x36')],_0x1e4b3b[_0xd3d3('0x41')]),_0xba846f);if(_0x22bcc9[_0xd3d3('0x36')][_0xd3d3('0x42')]){_0x12a6a9[_0xd3d3('0x3f')]=_[_0xd3d3('0x43')](_0x12a6a9['where'],{'$or':_[_0xd3d3('0x32')](_0xba846f,function(_0x23c5c5){if(_0x23c5c5[_0xd3d3('0x44')]!==_0xd3d3('0x45')){var _0x4136aa={};_0x4136aa[_0x23c5c5['name']]={'$like':'%'+_0x22bcc9['query']['filter']+'%'};return _0x4136aa;}})});}_0x12a6a9=_['merge']({},_0x12a6a9,_0x22bcc9['options']);var _0x57d151={'where':_0x12a6a9['where']};return db['VoicePrefix'][_0xd3d3('0x21')](_0x57d151)[_0xd3d3('0x28')](function(_0x367952){_0x376a94[_0xd3d3('0x21')]=_0x367952;if(_0x22bcc9['query']['includeAll']){_0x12a6a9['include']=[{'all':!![]}];}return db[_0xd3d3('0x46')]['findAll'](_0x12a6a9);})[_0xd3d3('0x28')](function(_0x1f7bdd){_0x376a94[_0xd3d3('0x47')]=_0x1f7bdd;return _0x376a94;})[_0xd3d3('0x28')](respondWithFilteredResult(_0x9a03c5,_0x12a6a9))[_0xd3d3('0x48')](handleError(_0x9a03c5,null));};exports['show']=function(_0x3c5f39,_0x534a5e){var _0x261654={'raw':![],'where':{'id':_0x3c5f39[_0xd3d3('0x49')]['id']}},_0x588502={};_0x588502['model']=_[_0xd3d3('0x4a')](db[_0xd3d3('0x46')]['rawAttributes']);_0x588502['query']=_[_0xd3d3('0x4a')](_0x3c5f39['query']);_0x588502[_0xd3d3('0x41')]=_[_0xd3d3('0x4b')](_0x588502[_0xd3d3('0x35')],_0x588502[_0xd3d3('0x36')]);_0x261654[_0xd3d3('0x37')]=_['intersection'](_0x588502[_0xd3d3('0x35')],qs[_0xd3d3('0x38')](_0x3c5f39['query']['fields']));_0x261654[_0xd3d3('0x37')]=_0x261654[_0xd3d3('0x37')][_0xd3d3('0x39')]?_0x261654[_0xd3d3('0x37')]:_0x588502[_0xd3d3('0x35')];if(_0x3c5f39[_0xd3d3('0x36')]['includeAll']){_0x261654[_0xd3d3('0x4c')]=[{'all':!![]}];}_0x261654=_[_0xd3d3('0x43')]({},_0x261654,_0x3c5f39[_0xd3d3('0x4d')]);return db[_0xd3d3('0x46')]['find'](_0x261654)[_0xd3d3('0x28')](handleEntityNotFound(_0x534a5e,null))[_0xd3d3('0x28')](respondWithResult(_0x534a5e,null))[_0xd3d3('0x48')](handleError(_0x534a5e,null));};exports[_0xd3d3('0x29')]=function(_0x3eb32d,_0x2375d1){return db[_0xd3d3('0x46')][_0xd3d3('0x4e')]({'where':{'id':_0x3eb32d[_0xd3d3('0x49')]['id']}})[_0xd3d3('0x28')](handleEntityNotFound(_0x2375d1,null))[_0xd3d3('0x28')](removeEntity(_0x2375d1,null))[_0xd3d3('0x48')](handleError(_0x2375d1,null));};exports['describe']=function(_0x2f4dcd,_0x4d0b16){return db[_0xd3d3('0x46')][_0xd3d3('0x4f')]()[_0xd3d3('0x28')](respondWithResult(_0x4d0b16,null))[_0xd3d3('0x48')](handleError(_0x4d0b16,null));};exports['create']=function(_0x464397,_0x1ddd03){var _0x41fa0e;return db[_0xd3d3('0x50')][_0xd3d3('0x51')](function(_0x2ad450){return db['VoicePrefix'][_0xd3d3('0x52')](_0x464397[_0xd3d3('0x53')],{'transaction':_0x2ad450})[_0xd3d3('0x28')](function(_0x471c51){_0x41fa0e=_0x471c51[_0xd3d3('0x2a')]({'plain':!![]});return db[_0xd3d3('0x54')][_0xd3d3('0x4e')]({'where':{'id':_0x41fa0e[_0xd3d3('0x55')]},'raw':!![]})[_0xd3d3('0x28')](function(_0x51d038){return createVoicePrefixExtensions(_0x41fa0e,_0x51d038,_0x2ad450);});});})['then'](function(){var _0x51ce8d=_0x464397[_0xd3d3('0x56')][_0xd3d3('0x2a')]({'plain':!![]});if(!_0x51ce8d)throw new Error(_0xd3d3('0x57'));if(_0x51ce8d[_0xd3d3('0x58')]===_0xd3d3('0x56')){var _0x4a7ce1=_0x41fa0e;return db[_0xd3d3('0x59')][_0xd3d3('0x4e')]({'where':{'name':_0xd3d3('0x5a'),'userProfileId':_0x51ce8d['userProfileId']},'raw':!![]})[_0xd3d3('0x28')](function(_0x48e0d5){if(_0x48e0d5&&_0x48e0d5[_0xd3d3('0x5b')]===0x0){return db['UserProfileResource'][_0xd3d3('0x52')]({'name':_0x4a7ce1[_0xd3d3('0x2f')],'resourceId':_0x4a7ce1['id'],'type':_0x48e0d5[_0xd3d3('0x2f')],'sectionId':_0x48e0d5['id']},{})[_0xd3d3('0x28')](function(){return _0x41fa0e;});}else{return _0x41fa0e;}})[_0xd3d3('0x48')](function(_0x56e357){logger[_0xd3d3('0x2d')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x56e357);throw _0x56e357;});}return _0x41fa0e;})[_0xd3d3('0x28')](respondWithResult(_0x1ddd03,null))[_0xd3d3('0x48')](handleError(_0x1ddd03,null));};function Extension(_0x5e315e,_0x426703,_0x27d654,_0x9ea0b8){this[_0xd3d3('0x5c')]='from-sip';this[_0xd3d3('0x5d')]=_0x5e315e;this[_0xd3d3('0x5e')]=_0x27d654;this[_0xd3d3('0x44')]='system';this[_0xd3d3('0x5f')]=_0xd3d3('0x60');this[_0xd3d3('0x61')]=_0x426703;this[_0xd3d3('0x62')]=_0x9ea0b8;}function createVoicePrefixExtensions(_0x7656fc,_0x24d4e4,_0x19e28e){return new BPromise(function(_0x5ba504,_0x4e8f06){var _0x2794be=new Extension(formatPrefixName(_0x7656fc[_0xd3d3('0x63')]),0x1,_0xd3d3('0x64'),'Voice\x20Prefix');_0x2794be[_0xd3d3('0x65')]=_0x7656fc['id'];return db[_0xd3d3('0x54')][_0xd3d3('0x52')](_0x2794be,{'transaction':_0x19e28e})['then'](function(_0x31e000){var _0x4b5d13=_0x31e000[_0xd3d3('0x2a')]({'plain':!![]});var _0x57d754=_['map'](addVoicePrefixExtensions(_0x7656fc,_0x24d4e4),function(_0x42733a){_0x42733a[_0xd3d3('0x55')]=_0x4b5d13['id'];_0x42733a[_0xd3d3('0x65')]=_0x7656fc['id'];return _0x42733a;});return db[_0xd3d3('0x54')][_0xd3d3('0x66')](_0x57d754,{'transaction':_0x19e28e})[_0xd3d3('0x28')](function(_0x239b95){if(!_0x239b95){return _0x4e8f06(_0xd3d3('0x67'));}else{return _0x5ba504(_0x239b95);}})[_0xd3d3('0x48')](function(_0x3b39fe){return _0x4e8f06(_0x3b39fe);});});;});};function addVoicePrefixExtensions(_0x16269a,_0x2a3f63){var _0xfec283=[];var _0x1e15d9=formatPrefixName(_0x16269a[_0xd3d3('0x63')]);_0xfec283[_0xd3d3('0x68')](new Extension(_0x1e15d9,0x2,_0xd3d3('0x69'),_0xd3d3('0x6a')+_0x16269a[_0xd3d3('0x2f')]));if(_0x16269a[_0xd3d3('0x6b')]){_0xfec283[_0xd3d3('0x68')](new Extension(_0x1e15d9,0x3,_0xd3d3('0x69'),_0xd3d3('0x6c')+_0x16269a[_0xd3d3('0x6b')]));}else{_0xfec283[_0xd3d3('0x68')](new Extension(_0x1e15d9,0x3,'NoOp','No\x20callerid\x20available'));}_0xfec283['push'](new Extension(_0x1e15d9,0x4,'goto',_0x2a3f63[_0xd3d3('0x5c')]+','+'${EXTEN:'+(0x8+_0x16269a[_0xd3d3('0x2f')]['length'])+'}'+','+0x1));return _0xfec283;}function formatPrefixName(_0x5e13a3){var _0x335f6a='_';for(var _0x4f0b88=0x0;_0x4f0b88<_0x5e13a3[_0xd3d3('0x39')];_0x4f0b88++){if(_0x5e13a3[_0xd3d3('0x6d')](_0x4f0b88)=='-'){_0x335f6a+=_0x5e13a3[_0xd3d3('0x6d')](_0x4f0b88);}else{_0x335f6a+='['+_0x5e13a3['charAt'](_0x4f0b88)+']';}}_0x335f6a+='.';return _0x335f6a;}exports[_0xd3d3('0x27')]=function(_0x39ff59,_0x3f101a,_0x1f55b3){var _0x5019e2=_0x39ff59[_0xd3d3('0x53')];_0x5019e2[_0xd3d3('0x63')]=_0xd3d3('0x6e')+_0x5019e2[_0xd3d3('0x2f')]+'-';return db[_0xd3d3('0x50')][_0xd3d3('0x51')](function(_0x12c721){return db['VoicePrefix'][_0xd3d3('0x27')](_0x5019e2,{'where':{'id':_0x5019e2['id']},'transaction':_0x12c721})[_0xd3d3('0x28')](function(){return db[_0xd3d3('0x54')][_0xd3d3('0x29')]({'where':{'VoicePrefixId':_0x5019e2['id']},'transaction':_0x12c721})[_0xd3d3('0x28')](function(){return db['VoiceExtension']['find']({'where':{'id':_0x5019e2[_0xd3d3('0x55')]},'raw':!![]})[_0xd3d3('0x28')](function(_0x368f7f){return createVoicePrefixExtensions(_0x5019e2,_0x368f7f,_0x12c721);});});});})[_0xd3d3('0x28')](function(){return db['VoicePrefix'][_0xd3d3('0x6f')](_0x5019e2['id']);})['then'](respondWithResult(_0x3f101a,null))[_0xd3d3('0x48')](handleError(_0x3f101a,null));};exports[_0xd3d3('0x70')]=function(_0x1794ad,_0x2132ee,_0x2edcc0){return db[_0xd3d3('0x46')][_0xd3d3('0x4e')]({'where':{'id':_0x1794ad['params']['id']}})[_0xd3d3('0x28')](handleEntityNotFound(_0x2132ee,null))['then'](function(_0x204198){if(_0x204198){return _0x204198[_0xd3d3('0x70')](_0x1794ad[_0xd3d3('0x53')]['ids'],_['omit'](_0x1794ad[_0xd3d3('0x53')],[_0xd3d3('0x71'),'id'])||{})[_0xd3d3('0x72')](function(_0x191cc9){for(var _0x5191d3=0x0;_0x5191d3<_0x1794ad[_0xd3d3('0x53')]['ids'][_0xd3d3('0x39')];_0x5191d3+=0x1){socket[_0xd3d3('0x73')]('userVoicePrefix:save',{'UserId':_0x1794ad[_0xd3d3('0x53')][_0xd3d3('0x71')][_0x5191d3],'VoicePrefixId':_0x1794ad[_0xd3d3('0x49')]['id']});}return _0x191cc9;});}})[_0xd3d3('0x28')](respondWithResult(_0x2132ee,null))['catch'](handleError(_0x2132ee,null));};exports[_0xd3d3('0x74')]=function(_0x5dca39,_0xe8cb7,_0x49a46a){return db[_0xd3d3('0x46')][_0xd3d3('0x4e')]({'where':{'id':_0x5dca39['params']['id']}})[_0xd3d3('0x28')](handleEntityNotFound(_0xe8cb7,null))[_0xd3d3('0x28')](function(_0xaae52c){if(_0xaae52c){return _0xaae52c['removeAgents'](_0x5dca39[_0xd3d3('0x36')]['ids'])[_0xd3d3('0x28')](function(){if(_[_0xd3d3('0x75')](_0x5dca39['query'][_0xd3d3('0x71')])){for(var _0x284bf3=0x0;_0x284bf3<_0x5dca39[_0xd3d3('0x36')][_0xd3d3('0x71')][_0xd3d3('0x39')];_0x284bf3+=0x1){socket[_0xd3d3('0x73')]('userVoicePrefix:remove',{'UserId':Number(_0x5dca39[_0xd3d3('0x36')][_0xd3d3('0x71')][_0x284bf3]),'VoicePrefixId':Number(_0x5dca39[_0xd3d3('0x49')]['id'])});}}else{socket[_0xd3d3('0x73')]('userVoicePrefix:remove',{'UserId':Number(_0x5dca39[_0xd3d3('0x36')][_0xd3d3('0x71')]),'VoicePrefixId':Number(_0x5dca39['params']['id'])});}});}})[_0xd3d3('0x28')](respondWithStatusCode(_0xe8cb7,null))['catch'](handleError(_0xe8cb7,null));};exports[_0xd3d3('0x76')]=function(_0x1e72e6,_0x2a0c90,_0x9f4fe4){var _0x4fecbb={};var _0x298770={};var _0xc2771;var _0x1e8527;return db['VoicePrefix'][_0xd3d3('0x77')]({'where':{'id':_0x1e72e6[_0xd3d3('0x49')]['id']}})[_0xd3d3('0x28')](handleEntityNotFound(_0x2a0c90,null))[_0xd3d3('0x28')](function(_0x4aef5d){if(_0x4aef5d){_0xc2771=_0x4aef5d;_0x298770['model']=_[_0xd3d3('0x4a')](db[_0xd3d3('0x78')]['rawAttributes']);_0x298770[_0xd3d3('0x36')]=_[_0xd3d3('0x4a')](_0x1e72e6[_0xd3d3('0x36')]);_0x298770[_0xd3d3('0x41')]=_[_0xd3d3('0x4b')](_0x298770['model'],_0x298770[_0xd3d3('0x36')]);_0x4fecbb['attributes']=_['intersection'](_0x298770[_0xd3d3('0x35')],qs[_0xd3d3('0x38')](_0x1e72e6[_0xd3d3('0x36')][_0xd3d3('0x38')]));_0x4fecbb[_0xd3d3('0x37')]=_0x4fecbb[_0xd3d3('0x37')][_0xd3d3('0x39')]?_0x4fecbb[_0xd3d3('0x37')]:_0x298770[_0xd3d3('0x35')];_0x4fecbb[_0xd3d3('0x3d')]=qs[_0xd3d3('0x3e')](_0x1e72e6[_0xd3d3('0x36')]['sort']);_0x4fecbb[_0xd3d3('0x3f')]=qs[_0xd3d3('0x41')](_[_0xd3d3('0x40')](_0x1e72e6[_0xd3d3('0x36')],_0x298770[_0xd3d3('0x41')]));if(_0x1e72e6[_0xd3d3('0x36')][_0xd3d3('0x42')]){_0x4fecbb[_0xd3d3('0x3f')]=_['merge'](_0x4fecbb[_0xd3d3('0x3f')],{'$or':_[_0xd3d3('0x32')](_0x4fecbb[_0xd3d3('0x37')],function(_0x1978d6){var _0x25e881={};_0x25e881[_0x1978d6]={'$like':'%'+_0x1e72e6[_0xd3d3('0x36')]['filter']+'%'};return _0x25e881;})});}_0x4fecbb=_[_0xd3d3('0x43')]({},_0x4fecbb,_0x1e72e6[_0xd3d3('0x4d')]);return _0xc2771[_0xd3d3('0x76')](_0x4fecbb);}})[_0xd3d3('0x28')](function(_0x54223e){if(_0x54223e){_0x1e8527=_0x54223e['length'];if(!_0x1e72e6[_0xd3d3('0x36')][_0xd3d3('0x3a')](_0xd3d3('0x3b'))){_0x4fecbb[_0xd3d3('0x3c')]=qs[_0xd3d3('0x3c')](_0x1e72e6['query'][_0xd3d3('0x3c')]);_0x4fecbb['offset']=qs[_0xd3d3('0x22')](_0x1e72e6[_0xd3d3('0x36')]['offset']);}return _0xc2771[_0xd3d3('0x76')](_0x4fecbb);}})[_0xd3d3('0x28')](function(_0x321c83){if(_0x321c83){return _0x321c83?{'count':_0x1e8527,'rows':_0x321c83}:null;}})[_0xd3d3('0x28')](respondWithResult(_0x2a0c90,null))[_0xd3d3('0x48')](handleError(_0x2a0c90,null));};