e645545ac199d343241eb554828c2fe92f24f5f5
[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 _0xb59c=['../../mysqldb','defaults','redis','localhost','./voicePrefix.socket','register','status','json','count','offset','limit','set','Content-Range','reject','update','then','destroy','get','VoicePrefixes','UserProfileResource','error','stack','name','send','key','model','map','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','filter','VoicePrefix','includeAll','findAll','catch','show','rawAttributes','include','options','find','params','describe','create','sequelize','body','VoiceExtension','VoiceExtensionId','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','exten','type','system','description','Voice\x20Prefix\x20Extension','appdata','prefix','NoOp','Voice\x20Prefix','VoicePrefixId','bulkCreate','Extensions\x20creation\x20failed','push','Set','callerIdAll','PREFIX-CALLERIDALL=','goto','${EXTEN:','charAt','system-','transaction','findById','addAgents','ids','omit','spread','emit','userVoicePrefix:save','removeAgents','userVoicePrefix:remove','getAgents','findOne','User','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','ejs','lodash','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment'];(function(_0x2e9d2c,_0x2e97ad){var _0x233caa=function(_0x44a814){while(--_0x44a814){_0x2e9d2c['push'](_0x2e9d2c['shift']());}};_0x233caa(++_0x2e97ad);}(_0xb59c,0xd8));var _0xcb59=function(_0x3388ef,_0x2173f8){_0x3388ef=_0x3388ef-0x0;var _0x2b2289=_0xb59c[_0x3388ef];return _0x2b2289;};'use strict';var pdf=require(_0xcb59('0x0'));var emlformat=require(_0xcb59('0x1'));var rimraf=require(_0xcb59('0x2'));var zipdir=require(_0xcb59('0x3'));var jsonpatch=require(_0xcb59('0x4'));var rp=require(_0xcb59('0x5'));var moment=require('moment');var BPromise=require(_0xcb59('0x6'));var Mustache=require(_0xcb59('0x7'));var util=require(_0xcb59('0x8'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xcb59('0x9'));var fs=require('fs');var _=require(_0xcb59('0xa'));var squel=require('squel');var crypto=require(_0xcb59('0xb'));var jsforce=require(_0xcb59('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xcb59('0xd'));var querystring=require(_0xcb59('0xe'));var Papa=require(_0xcb59('0xf'));var Redis=require(_0xcb59('0x10'));var authService=require(_0xcb59('0x11'));var qs=require(_0xcb59('0x12'));var as=require(_0xcb59('0x13'));var hardwareService=require(_0xcb59('0x14'));var logger=require(_0xcb59('0x15'))('api');var utils=require(_0xcb59('0x16'));var config=require(_0xcb59('0x17'));var db=require(_0xcb59('0x18'))['db'];config['redis']=_[_0xcb59('0x19')](config[_0xcb59('0x1a')],{'host':_0xcb59('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xcb59('0x1a')]));require(_0xcb59('0x1c'))[_0xcb59('0x1d')](socket);function respondWithStatusCode(_0x4db29f,_0x3b44f9){_0x3b44f9=_0x3b44f9||0xcc;return function(_0x301e76){if(_0x301e76){return _0x4db29f['sendStatus'](_0x3b44f9);}return _0x4db29f[_0xcb59('0x1e')](_0x3b44f9)['end']();};}function respondWithResult(_0x257fa6,_0x28023b){_0x28023b=_0x28023b||0xc8;return function(_0x3da37d){if(_0x3da37d){return _0x257fa6[_0xcb59('0x1e')](_0x28023b)[_0xcb59('0x1f')](_0x3da37d);}};}function respondWithFilteredResult(_0x104293,_0x53f051){return function(_0x5d913f){if(_0x5d913f){var _0x2a3fbf=_0x5d913f[_0xcb59('0x20')],_0x43216d=_0x53f051[_0xcb59('0x21')],_0x5563a3=_0x53f051[_0xcb59('0x21')]+_0x53f051[_0xcb59('0x22')],_0x3bd642;if(_0x5563a3>=_0x2a3fbf){_0x5563a3=_0x2a3fbf;_0x3bd642=0xc8;}else{_0x3bd642=0xce;}_0x104293[_0xcb59('0x1e')](_0x3bd642);return _0x104293[_0xcb59('0x23')](_0xcb59('0x24'),_0x43216d+'-'+_0x5563a3+'/'+_0x2a3fbf)[_0xcb59('0x1f')](_0x5d913f);}return null;};}function patchUpdates(_0x52d2a2){return function(_0x105c32){try{jsonpatch['apply'](_0x105c32,_0x52d2a2,!![]);}catch(_0x406259){return BPromise[_0xcb59('0x25')](_0x406259);}return _0x105c32['save']();};}function saveUpdates(_0x45d149,_0x1b3572){return function(_0x411f4e){if(_0x411f4e){return _0x411f4e[_0xcb59('0x26')](_0x45d149)[_0xcb59('0x27')](function(_0x1a4d31){return _0x1a4d31;});}return null;};}function removeEntity(_0x4435a6,_0x10c55c){return function(_0x311f7e){if(_0x311f7e){return _0x311f7e[_0xcb59('0x28')]()[_0xcb59('0x27')](function(){var _0x2aad82=_0x311f7e[_0xcb59('0x29')]({'plain':!![]});var _0x50965f=_0xcb59('0x2a');return db[_0xcb59('0x2b')][_0xcb59('0x28')]({'where':{'type':_0x50965f,'resourceId':_0x2aad82['id']}})['then'](function(){return _0x311f7e;});})[_0xcb59('0x27')](function(){_0x4435a6[_0xcb59('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x444523,_0x3e6271){return function(_0x378688){if(!_0x378688){_0x444523['sendStatus'](0x194);}return _0x378688;};}function handleError(_0x56b8e0,_0x52b04e){_0x52b04e=_0x52b04e||0x1f4;return function(_0x252ce9){logger[_0xcb59('0x2c')](_0x252ce9[_0xcb59('0x2d')]);if(_0x252ce9[_0xcb59('0x2e')]){delete _0x252ce9['name'];}_0x56b8e0[_0xcb59('0x1e')](_0x52b04e)[_0xcb59('0x2f')](_0x252ce9);};}exports['index']=function(_0x2f5b82,_0x4be7c9){var _0x4cd25b={},_0x4f8c4e={},_0x560b1c={'count':0x0,'rows':[]};var _0x19cba3=_['map'](db['VoicePrefix']['rawAttributes'],function(_0x24d9fd){return{'name':_0x24d9fd['fieldName'],'type':_0x24d9fd['type'][_0xcb59('0x30')]};});_0x4f8c4e[_0xcb59('0x31')]=_[_0xcb59('0x32')](_0x19cba3,'name');_0x4f8c4e['query']=_[_0xcb59('0x33')](_0x2f5b82[_0xcb59('0x34')]);_0x4f8c4e[_0xcb59('0x35')]=_[_0xcb59('0x36')](_0x4f8c4e[_0xcb59('0x31')],_0x4f8c4e[_0xcb59('0x34')]);_0x4cd25b[_0xcb59('0x37')]=_[_0xcb59('0x36')](_0x4f8c4e[_0xcb59('0x31')],qs[_0xcb59('0x38')](_0x2f5b82[_0xcb59('0x34')][_0xcb59('0x38')]));_0x4cd25b[_0xcb59('0x37')]=_0x4cd25b[_0xcb59('0x37')][_0xcb59('0x39')]?_0x4cd25b[_0xcb59('0x37')]:_0x4f8c4e[_0xcb59('0x31')];if(!_0x2f5b82['query'][_0xcb59('0x3a')](_0xcb59('0x3b'))){_0x4cd25b['limit']=qs[_0xcb59('0x22')](_0x2f5b82[_0xcb59('0x34')][_0xcb59('0x22')]);_0x4cd25b[_0xcb59('0x21')]=qs[_0xcb59('0x21')](_0x2f5b82[_0xcb59('0x34')][_0xcb59('0x21')]);}_0x4cd25b[_0xcb59('0x3c')]=qs['sort'](_0x2f5b82['query'][_0xcb59('0x3d')]);_0x4cd25b['where']=qs[_0xcb59('0x35')](_[_0xcb59('0x3e')](_0x2f5b82[_0xcb59('0x34')],_0x4f8c4e['filters']),_0x19cba3);if(_0x2f5b82[_0xcb59('0x34')]['filter']){_0x4cd25b[_0xcb59('0x3f')]=_['merge'](_0x4cd25b[_0xcb59('0x3f')],{'$or':_[_0xcb59('0x32')](_0x19cba3,function(_0x2744f2){if(_0x2744f2['type']!=='VIRTUAL'){var _0x33125e={};_0x33125e[_0x2744f2[_0xcb59('0x2e')]]={'$like':'%'+_0x2f5b82[_0xcb59('0x34')][_0xcb59('0x40')]+'%'};return _0x33125e;}})});}_0x4cd25b=_['merge']({},_0x4cd25b,_0x2f5b82['options']);var _0x38bce5={'where':_0x4cd25b[_0xcb59('0x3f')]};return db[_0xcb59('0x41')]['count'](_0x38bce5)[_0xcb59('0x27')](function(_0x576fd3){_0x560b1c[_0xcb59('0x20')]=_0x576fd3;if(_0x2f5b82[_0xcb59('0x34')][_0xcb59('0x42')]){_0x4cd25b['include']=[{'all':!![]}];}return db[_0xcb59('0x41')][_0xcb59('0x43')](_0x4cd25b);})[_0xcb59('0x27')](function(_0xfe8617){_0x560b1c['rows']=_0xfe8617;return _0x560b1c;})[_0xcb59('0x27')](respondWithFilteredResult(_0x4be7c9,_0x4cd25b))[_0xcb59('0x44')](handleError(_0x4be7c9,null));};exports[_0xcb59('0x45')]=function(_0x3239d1,_0x1c06b9){var _0x169cf7={'raw':![],'where':{'id':_0x3239d1['params']['id']}},_0x3b403e={};_0x3b403e['model']=_[_0xcb59('0x33')](db[_0xcb59('0x41')][_0xcb59('0x46')]);_0x3b403e[_0xcb59('0x34')]=_[_0xcb59('0x33')](_0x3239d1[_0xcb59('0x34')]);_0x3b403e[_0xcb59('0x35')]=_['intersection'](_0x3b403e[_0xcb59('0x31')],_0x3b403e['query']);_0x169cf7[_0xcb59('0x37')]=_[_0xcb59('0x36')](_0x3b403e[_0xcb59('0x31')],qs[_0xcb59('0x38')](_0x3239d1['query'][_0xcb59('0x38')]));_0x169cf7[_0xcb59('0x37')]=_0x169cf7[_0xcb59('0x37')]['length']?_0x169cf7[_0xcb59('0x37')]:_0x3b403e['model'];if(_0x3239d1[_0xcb59('0x34')][_0xcb59('0x42')]){_0x169cf7[_0xcb59('0x47')]=[{'all':!![]}];}_0x169cf7=_['merge']({},_0x169cf7,_0x3239d1[_0xcb59('0x48')]);return db['VoicePrefix'][_0xcb59('0x49')](_0x169cf7)[_0xcb59('0x27')](handleEntityNotFound(_0x1c06b9,null))[_0xcb59('0x27')](respondWithResult(_0x1c06b9,null))[_0xcb59('0x44')](handleError(_0x1c06b9,null));};exports['destroy']=function(_0x485e3e,_0x1e80b9){return db[_0xcb59('0x41')]['find']({'where':{'id':_0x485e3e[_0xcb59('0x4a')]['id']}})[_0xcb59('0x27')](handleEntityNotFound(_0x1e80b9,null))[_0xcb59('0x27')](removeEntity(_0x1e80b9,null))['catch'](handleError(_0x1e80b9,null));};exports[_0xcb59('0x4b')]=function(_0x3c09d5,_0x4d7503){return db[_0xcb59('0x41')][_0xcb59('0x4b')]()[_0xcb59('0x27')](respondWithResult(_0x4d7503,null))[_0xcb59('0x44')](handleError(_0x4d7503,null));};exports[_0xcb59('0x4c')]=function(_0x1ab941,_0x535309){var _0x5047cd;return db[_0xcb59('0x4d')]['transaction'](function(_0x3b6823){return db[_0xcb59('0x41')][_0xcb59('0x4c')](_0x1ab941[_0xcb59('0x4e')],{'transaction':_0x3b6823})[_0xcb59('0x27')](function(_0x44dea7){_0x5047cd=_0x44dea7[_0xcb59('0x29')]({'plain':!![]});return db[_0xcb59('0x4f')][_0xcb59('0x49')]({'where':{'id':_0x5047cd[_0xcb59('0x50')]},'raw':!![]})[_0xcb59('0x27')](function(_0x525edf){return createVoicePrefixExtensions(_0x5047cd,_0x525edf,_0x3b6823);});});})[_0xcb59('0x27')](function(){var _0x515d7e=_0x1ab941[_0xcb59('0x51')][_0xcb59('0x29')]({'plain':!![]});if(!_0x515d7e)throw new Error(_0xcb59('0x52'));if(_0x515d7e[_0xcb59('0x53')]===_0xcb59('0x51')){var _0x3555be=_0x5047cd;return db['UserProfileSection']['find']({'where':{'name':_0xcb59('0x2a'),'userProfileId':_0x515d7e[_0xcb59('0x54')]},'raw':!![]})['then'](function(_0x173587){if(_0x173587&&_0x173587[_0xcb59('0x55')]===0x0){return db[_0xcb59('0x2b')][_0xcb59('0x4c')]({'name':_0x3555be[_0xcb59('0x2e')],'resourceId':_0x3555be['id'],'type':_0x173587['name'],'sectionId':_0x173587['id']},{})[_0xcb59('0x27')](function(){return _0x5047cd;});}else{return _0x5047cd;}})['catch'](function(_0x2fc51d){logger[_0xcb59('0x2c')](_0xcb59('0x56'),_0x2fc51d);throw _0x2fc51d;});}return _0x5047cd;})['then'](respondWithResult(_0x535309,null))[_0xcb59('0x44')](handleError(_0x535309,null));};function Extension(_0x1d8eec,_0x5918bc,_0x113284,_0x49ed3e){this['context']='from-sip';this[_0xcb59('0x57')]=_0x1d8eec;this['app']=_0x113284;this[_0xcb59('0x58')]=_0xcb59('0x59');this[_0xcb59('0x5a')]=_0xcb59('0x5b');this['priority']=_0x5918bc;this[_0xcb59('0x5c')]=_0x49ed3e;}function createVoicePrefixExtensions(_0x17f500,_0x955938,_0xf3f0ef){return new BPromise(function(_0xc4601d,_0xbadc6d){var _0x3b56f5=new Extension(formatPrefixName(_0x17f500[_0xcb59('0x5d')]),0x1,_0xcb59('0x5e'),_0xcb59('0x5f'));_0x3b56f5['VoicePrefixId']=_0x17f500['id'];return db[_0xcb59('0x4f')][_0xcb59('0x4c')](_0x3b56f5,{'transaction':_0xf3f0ef})[_0xcb59('0x27')](function(_0x49d862){var _0x16c169=_0x49d862[_0xcb59('0x29')]({'plain':!![]});var _0x1927f3=_[_0xcb59('0x32')](addVoicePrefixExtensions(_0x17f500,_0x955938),function(_0x11c769){_0x11c769[_0xcb59('0x50')]=_0x16c169['id'];_0x11c769[_0xcb59('0x60')]=_0x17f500['id'];return _0x11c769;});return db[_0xcb59('0x4f')][_0xcb59('0x61')](_0x1927f3,{'transaction':_0xf3f0ef})['then'](function(_0x518631){if(!_0x518631){return _0xbadc6d(_0xcb59('0x62'));}else{return _0xc4601d(_0x518631);}})['catch'](function(_0x43f931){return _0xbadc6d(_0x43f931);});});;});};function addVoicePrefixExtensions(_0x6894c7,_0x13b19f){var _0x4f00db=[];var _0x395798=formatPrefixName(_0x6894c7['prefix']);_0x4f00db[_0xcb59('0x63')](new Extension(_0x395798,0x2,_0xcb59('0x64'),'CDR(prefix)='+_0x6894c7[_0xcb59('0x2e')]));if(_0x6894c7[_0xcb59('0x65')]){_0x4f00db['push'](new Extension(_0x395798,0x3,_0xcb59('0x64'),_0xcb59('0x66')+_0x6894c7[_0xcb59('0x65')]));}else{_0x4f00db[_0xcb59('0x63')](new Extension(_0x395798,0x3,'NoOp','No\x20callerid\x20available'));}_0x4f00db[_0xcb59('0x63')](new Extension(_0x395798,0x4,_0xcb59('0x67'),_0x13b19f['context']+','+_0xcb59('0x68')+(0x8+_0x6894c7['name'][_0xcb59('0x39')])+'}'+','+0x1));return _0x4f00db;}function formatPrefixName(_0xaa7bb){var _0x25df34='_';for(var _0x32905c=0x0;_0x32905c<_0xaa7bb[_0xcb59('0x39')];_0x32905c++){if(_0xaa7bb[_0xcb59('0x69')](_0x32905c)=='-'){_0x25df34+=_0xaa7bb[_0xcb59('0x69')](_0x32905c);}else{_0x25df34+='['+_0xaa7bb[_0xcb59('0x69')](_0x32905c)+']';}}_0x25df34+='.';return _0x25df34;}exports[_0xcb59('0x26')]=function(_0x3740cc,_0x4baec7,_0x16dd13){var _0x10ee91=_0x3740cc[_0xcb59('0x4e')];_0x10ee91[_0xcb59('0x5d')]=_0xcb59('0x6a')+_0x10ee91[_0xcb59('0x2e')]+'-';return db[_0xcb59('0x4d')][_0xcb59('0x6b')](function(_0x3017b8){return db[_0xcb59('0x41')][_0xcb59('0x26')](_0x10ee91,{'where':{'id':_0x10ee91['id']},'transaction':_0x3017b8})[_0xcb59('0x27')](function(){return db[_0xcb59('0x4f')][_0xcb59('0x28')]({'where':{'VoicePrefixId':_0x10ee91['id']},'transaction':_0x3017b8})[_0xcb59('0x27')](function(){return db[_0xcb59('0x4f')]['find']({'where':{'id':_0x10ee91[_0xcb59('0x50')]},'raw':!![]})[_0xcb59('0x27')](function(_0x2a0e69){return createVoicePrefixExtensions(_0x10ee91,_0x2a0e69,_0x3017b8);});});});})[_0xcb59('0x27')](function(){return db[_0xcb59('0x41')][_0xcb59('0x6c')](_0x10ee91['id']);})[_0xcb59('0x27')](respondWithResult(_0x4baec7,null))[_0xcb59('0x44')](handleError(_0x4baec7,null));};exports[_0xcb59('0x6d')]=function(_0x1bdab9,_0x1c89e8,_0x1f28ea){return db['VoicePrefix'][_0xcb59('0x49')]({'where':{'id':_0x1bdab9['params']['id']}})[_0xcb59('0x27')](handleEntityNotFound(_0x1c89e8,null))[_0xcb59('0x27')](function(_0x4f8f84){if(_0x4f8f84){return _0x4f8f84[_0xcb59('0x6d')](_0x1bdab9[_0xcb59('0x4e')][_0xcb59('0x6e')],_[_0xcb59('0x6f')](_0x1bdab9[_0xcb59('0x4e')],[_0xcb59('0x6e'),'id'])||{})[_0xcb59('0x70')](function(_0x13f76c){for(var _0x17452e=0x0;_0x17452e<_0x1bdab9[_0xcb59('0x4e')][_0xcb59('0x6e')][_0xcb59('0x39')];_0x17452e+=0x1){socket[_0xcb59('0x71')](_0xcb59('0x72'),{'UserId':_0x1bdab9[_0xcb59('0x4e')][_0xcb59('0x6e')][_0x17452e],'VoicePrefixId':_0x1bdab9[_0xcb59('0x4a')]['id']});}return _0x13f76c;});}})['then'](respondWithResult(_0x1c89e8,null))['catch'](handleError(_0x1c89e8,null));};exports[_0xcb59('0x73')]=function(_0x35f820,_0x127056,_0x27fdd0){return db[_0xcb59('0x41')][_0xcb59('0x49')]({'where':{'id':_0x35f820['params']['id']}})[_0xcb59('0x27')](handleEntityNotFound(_0x127056,null))['then'](function(_0x5294a6){if(_0x5294a6){return _0x5294a6[_0xcb59('0x73')](_0x35f820[_0xcb59('0x34')][_0xcb59('0x6e')])[_0xcb59('0x27')](function(){if(_['isArray'](_0x35f820[_0xcb59('0x34')][_0xcb59('0x6e')])){for(var _0x2ad16e=0x0;_0x2ad16e<_0x35f820[_0xcb59('0x34')][_0xcb59('0x6e')][_0xcb59('0x39')];_0x2ad16e+=0x1){socket['emit'](_0xcb59('0x74'),{'UserId':Number(_0x35f820[_0xcb59('0x34')][_0xcb59('0x6e')][_0x2ad16e]),'VoicePrefixId':Number(_0x35f820['params']['id'])});}}else{socket[_0xcb59('0x71')](_0xcb59('0x74'),{'UserId':Number(_0x35f820[_0xcb59('0x34')][_0xcb59('0x6e')]),'VoicePrefixId':Number(_0x35f820['params']['id'])});}});}})[_0xcb59('0x27')](respondWithStatusCode(_0x127056,null))[_0xcb59('0x44')](handleError(_0x127056,null));};exports[_0xcb59('0x75')]=function(_0x361174,_0x24273f,_0x655542){var _0xd36e3={};var _0x32861c={};var _0x543a5c;var _0x16a269;return db[_0xcb59('0x41')][_0xcb59('0x76')]({'where':{'id':_0x361174[_0xcb59('0x4a')]['id']}})['then'](handleEntityNotFound(_0x24273f,null))[_0xcb59('0x27')](function(_0xdef6d9){if(_0xdef6d9){_0x543a5c=_0xdef6d9;_0x32861c['model']=_[_0xcb59('0x33')](db[_0xcb59('0x77')][_0xcb59('0x46')]);_0x32861c['query']=_[_0xcb59('0x33')](_0x361174[_0xcb59('0x34')]);_0x32861c[_0xcb59('0x35')]=_[_0xcb59('0x36')](_0x32861c['model'],_0x32861c[_0xcb59('0x34')]);_0xd36e3[_0xcb59('0x37')]=_[_0xcb59('0x36')](_0x32861c[_0xcb59('0x31')],qs[_0xcb59('0x38')](_0x361174[_0xcb59('0x34')][_0xcb59('0x38')]));_0xd36e3[_0xcb59('0x37')]=_0xd36e3[_0xcb59('0x37')][_0xcb59('0x39')]?_0xd36e3[_0xcb59('0x37')]:_0x32861c[_0xcb59('0x31')];_0xd36e3[_0xcb59('0x3c')]=qs[_0xcb59('0x3d')](_0x361174[_0xcb59('0x34')][_0xcb59('0x3d')]);_0xd36e3[_0xcb59('0x3f')]=qs[_0xcb59('0x35')](_[_0xcb59('0x3e')](_0x361174['query'],_0x32861c[_0xcb59('0x35')]));if(_0x361174['query'][_0xcb59('0x40')]){_0xd36e3[_0xcb59('0x3f')]=_['merge'](_0xd36e3[_0xcb59('0x3f')],{'$or':_[_0xcb59('0x32')](_0xd36e3['attributes'],function(_0x3806a2){var _0x359f54={};_0x359f54[_0x3806a2]={'$like':'%'+_0x361174[_0xcb59('0x34')][_0xcb59('0x40')]+'%'};return _0x359f54;})});}_0xd36e3=_['merge']({},_0xd36e3,_0x361174[_0xcb59('0x48')]);return _0x543a5c[_0xcb59('0x75')](_0xd36e3);}})[_0xcb59('0x27')](function(_0x48e0d0){if(_0x48e0d0){_0x16a269=_0x48e0d0['length'];if(!_0x361174['query']['hasOwnProperty'](_0xcb59('0x3b'))){_0xd36e3[_0xcb59('0x22')]=qs[_0xcb59('0x22')](_0x361174[_0xcb59('0x34')][_0xcb59('0x22')]);_0xd36e3['offset']=qs['offset'](_0x361174[_0xcb59('0x34')][_0xcb59('0x21')]);}return _0x543a5c[_0xcb59('0x75')](_0xd36e3);}})[_0xcb59('0x27')](function(_0x288a40){if(_0x288a40){return _0x288a40?{'count':_0x16a269,'rows':_0x288a40}:null;}})[_0xcb59('0x27')](respondWithResult(_0x24273f,null))[_0xcb59('0x44')](handleError(_0x24273f,null));};