08dca42254ee4e95957feb6354a5af66df272e5f
[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 _0x5e8d=['status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','get','VoicePrefixes','UserProfileResource','error','stack','name','send','index','type','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','pick','filter','where','merge','options','includeAll','include','VoicePrefix','findAll','rows','catch','show','params','rawAttributes','find','destroy','describe','create','sequelize','body','VoiceExtension','role','user','UserProfileSection','userProfileId','autoAssociation','context','from-sip','exten','app','description','Voice\x20Prefix\x20Extension','priority','prefix','NoOp','Voice\x20Prefix','VoicePrefixId','bulkCreate','push','Set','CDR(prefix)=','callerIdAll','No\x20callerid\x20available','goto','${EXTEN:','charAt','system-','transaction','findById','addAgents','ids','emit','removeAgents','userVoicePrefix:remove','getAgents','User','order','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','./voicePrefix.socket'];(function(_0x5d2cf3,_0x16bfd2){var _0x45a3fc=function(_0x24e67f){while(--_0x24e67f){_0x5d2cf3['push'](_0x5d2cf3['shift']());}};_0x45a3fc(++_0x16bfd2);}(_0x5e8d,0xcc));var _0xd5e8=function(_0x3540e9,_0x40c4e3){_0x3540e9=_0x3540e9-0x0;var _0x2ddb43=_0x5e8d[_0x3540e9];return _0x2ddb43;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xd5e8('0x0'));var zipdir=require(_0xd5e8('0x1'));var jsonpatch=require(_0xd5e8('0x2'));var rp=require(_0xd5e8('0x3'));var moment=require(_0xd5e8('0x4'));var BPromise=require(_0xd5e8('0x5'));var Mustache=require('mustache');var util=require(_0xd5e8('0x6'));var path=require(_0xd5e8('0x7'));var sox=require(_0xd5e8('0x8'));var csv=require(_0xd5e8('0x9'));var ejs=require(_0xd5e8('0xa'));var fs=require('fs');var _=require(_0xd5e8('0xb'));var squel=require(_0xd5e8('0xc'));var crypto=require(_0xd5e8('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xd5e8('0xe'));var toCsv=require(_0xd5e8('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xd5e8('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xd5e8('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd5e8('0x11'));var logger=require(_0xd5e8('0x12'))('api');var utils=require(_0xd5e8('0x13'));var config=require(_0xd5e8('0x14'));var db=require(_0xd5e8('0x15'))['db'];config[_0xd5e8('0x16')]=_[_0xd5e8('0x17')](config['redis'],{'host':_0xd5e8('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xd5e8('0x16')]));require(_0xd5e8('0x19'))['register'](socket);function respondWithStatusCode(_0x16cb6d,_0x2b6025){_0x2b6025=_0x2b6025||0xcc;return function(_0x213b3f){if(_0x213b3f){return _0x16cb6d['sendStatus'](_0x2b6025);}return _0x16cb6d[_0xd5e8('0x1a')](_0x2b6025)['end']();};}function respondWithResult(_0x286810,_0x478dd4){_0x478dd4=_0x478dd4||0xc8;return function(_0xfebd5f){if(_0xfebd5f){return _0x286810['status'](_0x478dd4)[_0xd5e8('0x1b')](_0xfebd5f);}};}function respondWithFilteredResult(_0x2c3904,_0x298d9c){return function(_0x4b2e95){if(_0x4b2e95){var _0x55d727=_0x4b2e95[_0xd5e8('0x1c')],_0x34f513=_0x298d9c[_0xd5e8('0x1d')],_0x3b5e93=_0x298d9c[_0xd5e8('0x1d')]+_0x298d9c[_0xd5e8('0x1e')],_0x5c416c;if(_0x3b5e93>=_0x55d727){_0x3b5e93=_0x55d727;_0x5c416c=0xc8;}else{_0x5c416c=0xce;}_0x2c3904[_0xd5e8('0x1a')](_0x5c416c);return _0x2c3904[_0xd5e8('0x1f')](_0xd5e8('0x20'),_0x34f513+'-'+_0x3b5e93+'/'+_0x55d727)['json'](_0x4b2e95);}return null;};}function patchUpdates(_0x28455c){return function(_0x5cfb04){try{jsonpatch[_0xd5e8('0x21')](_0x5cfb04,_0x28455c,!![]);}catch(_0x50897a){return BPromise[_0xd5e8('0x22')](_0x50897a);}return _0x5cfb04[_0xd5e8('0x23')]();};}function saveUpdates(_0x593dab,_0x3dc49f){return function(_0x1009f2){if(_0x1009f2){return _0x1009f2[_0xd5e8('0x24')](_0x593dab)[_0xd5e8('0x25')](function(_0x1af8b2){return _0x1af8b2;});}return null;};}function removeEntity(_0x35a818,_0x2b5cb2){return function(_0x2716f3){if(_0x2716f3){return _0x2716f3['destroy']()['then'](function(){var _0x2f0412=_0x2716f3[_0xd5e8('0x26')]({'plain':!![]});var _0x2dc6c7=_0xd5e8('0x27');return db[_0xd5e8('0x28')]['destroy']({'where':{'type':_0x2dc6c7,'resourceId':_0x2f0412['id']}})[_0xd5e8('0x25')](function(){return _0x2716f3;});})[_0xd5e8('0x25')](function(){_0x35a818[_0xd5e8('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0xe7782f,_0x2a5f35){return function(_0x22f63a){if(!_0x22f63a){_0xe7782f['sendStatus'](0x194);}return _0x22f63a;};}function handleError(_0x21e85d,_0x5a9666){_0x5a9666=_0x5a9666||0x1f4;return function(_0x1a4606){logger[_0xd5e8('0x29')](_0x1a4606[_0xd5e8('0x2a')]);if(_0x1a4606[_0xd5e8('0x2b')]){delete _0x1a4606[_0xd5e8('0x2b')];}_0x21e85d['status'](_0x5a9666)[_0xd5e8('0x2c')](_0x1a4606);};}exports[_0xd5e8('0x2d')]=function(_0x47a262,_0x1a0e98){var _0x5d3301={},_0x273023={},_0x53b055={'count':0x0,'rows':[]};var _0x26943d=_['map'](db['VoicePrefix']['rawAttributes'],function(_0x4f5e66){return{'name':_0x4f5e66['fieldName'],'type':_0x4f5e66[_0xd5e8('0x2e')]['key']};});_0x273023[_0xd5e8('0x2f')]=_[_0xd5e8('0x30')](_0x26943d,_0xd5e8('0x2b'));_0x273023[_0xd5e8('0x31')]=_[_0xd5e8('0x32')](_0x47a262[_0xd5e8('0x31')]);_0x273023[_0xd5e8('0x33')]=_[_0xd5e8('0x34')](_0x273023[_0xd5e8('0x2f')],_0x273023[_0xd5e8('0x31')]);_0x5d3301[_0xd5e8('0x35')]=_['intersection'](_0x273023[_0xd5e8('0x2f')],qs[_0xd5e8('0x36')](_0x47a262[_0xd5e8('0x31')][_0xd5e8('0x36')]));_0x5d3301[_0xd5e8('0x35')]=_0x5d3301[_0xd5e8('0x35')][_0xd5e8('0x37')]?_0x5d3301['attributes']:_0x273023['model'];if(!_0x47a262[_0xd5e8('0x31')][_0xd5e8('0x38')]('nolimit')){_0x5d3301[_0xd5e8('0x1e')]=qs['limit'](_0x47a262[_0xd5e8('0x31')][_0xd5e8('0x1e')]);_0x5d3301[_0xd5e8('0x1d')]=qs[_0xd5e8('0x1d')](_0x47a262[_0xd5e8('0x31')][_0xd5e8('0x1d')]);}_0x5d3301['order']=qs[_0xd5e8('0x39')](_0x47a262[_0xd5e8('0x31')][_0xd5e8('0x39')]);_0x5d3301['where']=qs[_0xd5e8('0x33')](_[_0xd5e8('0x3a')](_0x47a262[_0xd5e8('0x31')],_0x273023[_0xd5e8('0x33')]));if(_0x47a262[_0xd5e8('0x31')][_0xd5e8('0x3b')]){_0x5d3301[_0xd5e8('0x3c')]=_[_0xd5e8('0x3d')](_0x5d3301[_0xd5e8('0x3c')],{'$or':_[_0xd5e8('0x30')](_0x26943d,function(_0x3632e6){if(_0x3632e6[_0xd5e8('0x2e')]!=='VIRTUAL'){var _0x5b0012={};_0x5b0012[_0x3632e6['name']]={'$like':'%'+_0x47a262['query'][_0xd5e8('0x3b')]+'%'};return _0x5b0012;}})});}_0x5d3301=_['merge']({},_0x5d3301,_0x47a262[_0xd5e8('0x3e')]);var _0x5985c9={'where':_0x5d3301[_0xd5e8('0x3c')]};return db['VoicePrefix'][_0xd5e8('0x1c')](_0x5985c9)[_0xd5e8('0x25')](function(_0x479126){_0x53b055['count']=_0x479126;if(_0x47a262['query'][_0xd5e8('0x3f')]){_0x5d3301[_0xd5e8('0x40')]=[{'all':!![]}];}return db[_0xd5e8('0x41')][_0xd5e8('0x42')](_0x5d3301);})['then'](function(_0x3e564e){_0x53b055[_0xd5e8('0x43')]=_0x3e564e;return _0x53b055;})[_0xd5e8('0x25')](respondWithFilteredResult(_0x1a0e98,_0x5d3301))[_0xd5e8('0x44')](handleError(_0x1a0e98,null));};exports[_0xd5e8('0x45')]=function(_0x410860,_0x20db2b){var _0x49c6d5={'raw':![],'where':{'id':_0x410860[_0xd5e8('0x46')]['id']}},_0x562979={};_0x562979[_0xd5e8('0x2f')]=_['keys'](db['VoicePrefix'][_0xd5e8('0x47')]);_0x562979['query']=_['keys'](_0x410860['query']);_0x562979['filters']=_[_0xd5e8('0x34')](_0x562979[_0xd5e8('0x2f')],_0x562979[_0xd5e8('0x31')]);_0x49c6d5[_0xd5e8('0x35')]=_['intersection'](_0x562979[_0xd5e8('0x2f')],qs[_0xd5e8('0x36')](_0x410860['query'][_0xd5e8('0x36')]));_0x49c6d5[_0xd5e8('0x35')]=_0x49c6d5[_0xd5e8('0x35')][_0xd5e8('0x37')]?_0x49c6d5[_0xd5e8('0x35')]:_0x562979[_0xd5e8('0x2f')];if(_0x410860[_0xd5e8('0x31')]['includeAll']){_0x49c6d5[_0xd5e8('0x40')]=[{'all':!![]}];}_0x49c6d5=_['merge']({},_0x49c6d5,_0x410860[_0xd5e8('0x3e')]);return db[_0xd5e8('0x41')][_0xd5e8('0x48')](_0x49c6d5)[_0xd5e8('0x25')](handleEntityNotFound(_0x20db2b,null))[_0xd5e8('0x25')](respondWithResult(_0x20db2b,null))[_0xd5e8('0x44')](handleError(_0x20db2b,null));};exports[_0xd5e8('0x49')]=function(_0x1bfb5e,_0x1dcfa4){return db[_0xd5e8('0x41')][_0xd5e8('0x48')]({'where':{'id':_0x1bfb5e[_0xd5e8('0x46')]['id']}})[_0xd5e8('0x25')](handleEntityNotFound(_0x1dcfa4,null))[_0xd5e8('0x25')](removeEntity(_0x1dcfa4,null))[_0xd5e8('0x44')](handleError(_0x1dcfa4,null));};exports[_0xd5e8('0x4a')]=function(_0x1f6d0f,_0x1a5fb8){return db[_0xd5e8('0x41')][_0xd5e8('0x4a')]()[_0xd5e8('0x25')](respondWithResult(_0x1a5fb8,null))[_0xd5e8('0x44')](handleError(_0x1a5fb8,null));};exports[_0xd5e8('0x4b')]=function(_0x106851,_0x5f6bcc){var _0x1ffd4e;return db[_0xd5e8('0x4c')]['transaction'](function(_0xe7c409){return db[_0xd5e8('0x41')][_0xd5e8('0x4b')](_0x106851[_0xd5e8('0x4d')],{'transaction':_0xe7c409})[_0xd5e8('0x25')](function(_0x4ab787){_0x1ffd4e=_0x4ab787[_0xd5e8('0x26')]({'plain':!![]});return db[_0xd5e8('0x4e')][_0xd5e8('0x48')]({'where':{'id':_0x1ffd4e['VoiceExtensionId']},'raw':!![]})[_0xd5e8('0x25')](function(_0x5d2a84){return createVoicePrefixExtensions(_0x1ffd4e,_0x5d2a84,_0xe7c409);});});})[_0xd5e8('0x25')](function(){var _0x28b513=_0x106851['user'][_0xd5e8('0x26')]({'plain':!![]});if(!_0x28b513)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x28b513[_0xd5e8('0x4f')]===_0xd5e8('0x50')){var _0x1a0b2f=_0x1ffd4e;return db[_0xd5e8('0x51')][_0xd5e8('0x48')]({'where':{'name':_0xd5e8('0x27'),'userProfileId':_0x28b513[_0xd5e8('0x52')]},'raw':!![]})[_0xd5e8('0x25')](function(_0x2c506e){if(_0x2c506e&&_0x2c506e[_0xd5e8('0x53')]===0x0){return db[_0xd5e8('0x28')]['create']({'name':_0x1a0b2f[_0xd5e8('0x2b')],'resourceId':_0x1a0b2f['id'],'type':_0x2c506e[_0xd5e8('0x2b')],'sectionId':_0x2c506e['id']},{})['then'](function(){return _0x1ffd4e;});}else{return _0x1ffd4e;}})[_0xd5e8('0x44')](function(_0x1d82e7){logger[_0xd5e8('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1d82e7);throw _0x1d82e7;});}return _0x1ffd4e;})[_0xd5e8('0x25')](respondWithResult(_0x5f6bcc,null))[_0xd5e8('0x44')](handleError(_0x5f6bcc,null));};function Extension(_0x2cd3a0,_0x40d74f,_0x1a7649,_0x4feb39){this[_0xd5e8('0x54')]=_0xd5e8('0x55');this[_0xd5e8('0x56')]=_0x2cd3a0;this[_0xd5e8('0x57')]=_0x1a7649;this['type']='system';this[_0xd5e8('0x58')]=_0xd5e8('0x59');this[_0xd5e8('0x5a')]=_0x40d74f;this['appdata']=_0x4feb39;}function createVoicePrefixExtensions(_0x3a1fe6,_0x5e064a,_0x25218a){return new BPromise(function(_0x400c69,_0x4af9fc){var _0x293332=new Extension(formatPrefixName(_0x3a1fe6[_0xd5e8('0x5b')]),0x1,_0xd5e8('0x5c'),_0xd5e8('0x5d'));_0x293332[_0xd5e8('0x5e')]=_0x3a1fe6['id'];return db[_0xd5e8('0x4e')]['create'](_0x293332,{'transaction':_0x25218a})[_0xd5e8('0x25')](function(_0x52c1b0){var _0x5d1bec=_0x52c1b0['get']({'plain':!![]});var _0x17f87d=_[_0xd5e8('0x30')](addVoicePrefixExtensions(_0x3a1fe6,_0x5e064a),function(_0x12d774){_0x12d774['VoiceExtensionId']=_0x5d1bec['id'];_0x12d774['VoicePrefixId']=_0x3a1fe6['id'];return _0x12d774;});return db[_0xd5e8('0x4e')][_0xd5e8('0x5f')](_0x17f87d,{'transaction':_0x25218a})['then'](function(_0x4e2391){if(!_0x4e2391){return _0x4af9fc('Extensions\x20creation\x20failed');}else{return _0x400c69(_0x4e2391);}})[_0xd5e8('0x44')](function(_0x38f5bf){return _0x4af9fc(_0x38f5bf);});});;});};function addVoicePrefixExtensions(_0x362939,_0x29ecf8){var _0xf8fe28=[];var _0x2fe6ba=formatPrefixName(_0x362939[_0xd5e8('0x5b')]);_0xf8fe28[_0xd5e8('0x60')](new Extension(_0x2fe6ba,0x2,_0xd5e8('0x61'),_0xd5e8('0x62')+_0x362939[_0xd5e8('0x2b')]));if(_0x362939[_0xd5e8('0x63')]){_0xf8fe28[_0xd5e8('0x60')](new Extension(_0x2fe6ba,0x3,_0xd5e8('0x61'),'PREFIX-CALLERIDALL='+_0x362939[_0xd5e8('0x63')]));}else{_0xf8fe28[_0xd5e8('0x60')](new Extension(_0x2fe6ba,0x3,_0xd5e8('0x5c'),_0xd5e8('0x64')));}_0xf8fe28['push'](new Extension(_0x2fe6ba,0x4,_0xd5e8('0x65'),_0x29ecf8[_0xd5e8('0x54')]+','+_0xd5e8('0x66')+(0x8+_0x362939['name'][_0xd5e8('0x37')])+'}'+','+0x1));return _0xf8fe28;}function formatPrefixName(_0x2a9e4b){var _0x16534c='_';for(var _0x267e77=0x0;_0x267e77<_0x2a9e4b[_0xd5e8('0x37')];_0x267e77++){if(_0x2a9e4b['charAt'](_0x267e77)=='-'){_0x16534c+=_0x2a9e4b[_0xd5e8('0x67')](_0x267e77);}else{_0x16534c+='['+_0x2a9e4b[_0xd5e8('0x67')](_0x267e77)+']';}}_0x16534c+='.';return _0x16534c;}exports['update']=function(_0x440389,_0x33c836,_0x5e107a){var _0x13f2d2=_0x440389['body'];_0x13f2d2['prefix']=_0xd5e8('0x68')+_0x13f2d2[_0xd5e8('0x2b')]+'-';return db['sequelize'][_0xd5e8('0x69')](function(_0x2a30d8){return db['VoicePrefix'][_0xd5e8('0x24')](_0x13f2d2,{'where':{'id':_0x13f2d2['id']},'transaction':_0x2a30d8})[_0xd5e8('0x25')](function(){return db[_0xd5e8('0x4e')][_0xd5e8('0x49')]({'where':{'VoicePrefixId':_0x13f2d2['id']},'transaction':_0x2a30d8})[_0xd5e8('0x25')](function(){return db[_0xd5e8('0x4e')]['find']({'where':{'id':_0x13f2d2['VoiceExtensionId']},'raw':!![]})[_0xd5e8('0x25')](function(_0x12fd9a){return createVoicePrefixExtensions(_0x13f2d2,_0x12fd9a,_0x2a30d8);});});});})[_0xd5e8('0x25')](function(){return db['VoicePrefix'][_0xd5e8('0x6a')](_0x13f2d2['id']);})[_0xd5e8('0x25')](respondWithResult(_0x33c836,null))[_0xd5e8('0x44')](handleError(_0x33c836,null));};exports[_0xd5e8('0x6b')]=function(_0x216e99,_0x5b5da4,_0x1aea01){return db[_0xd5e8('0x41')]['find']({'where':{'id':_0x216e99[_0xd5e8('0x46')]['id']}})['then'](handleEntityNotFound(_0x5b5da4,null))[_0xd5e8('0x25')](function(_0x13b4ec){if(_0x13b4ec){return _0x13b4ec[_0xd5e8('0x6b')](_0x216e99['body'][_0xd5e8('0x6c')],_['omit'](_0x216e99[_0xd5e8('0x4d')],[_0xd5e8('0x6c'),'id'])||{})['spread'](function(_0x14a3fb){for(var _0x1ca0fc=0x0;_0x1ca0fc<_0x216e99[_0xd5e8('0x4d')][_0xd5e8('0x6c')][_0xd5e8('0x37')];_0x1ca0fc+=0x1){socket[_0xd5e8('0x6d')]('userVoicePrefix:save',{'UserId':_0x216e99[_0xd5e8('0x4d')][_0xd5e8('0x6c')][_0x1ca0fc],'VoicePrefixId':_0x216e99[_0xd5e8('0x46')]['id']});}return _0x14a3fb;});}})['then'](respondWithResult(_0x5b5da4,null))[_0xd5e8('0x44')](handleError(_0x5b5da4,null));};exports[_0xd5e8('0x6e')]=function(_0x26cdad,_0x5ee918,_0x4b7c20){return db[_0xd5e8('0x41')][_0xd5e8('0x48')]({'where':{'id':_0x26cdad[_0xd5e8('0x46')]['id']}})['then'](handleEntityNotFound(_0x5ee918,null))[_0xd5e8('0x25')](function(_0x38b843){if(_0x38b843){return _0x38b843[_0xd5e8('0x6e')](_0x26cdad[_0xd5e8('0x31')][_0xd5e8('0x6c')])[_0xd5e8('0x25')](function(){if(_['isArray'](_0x26cdad['query'][_0xd5e8('0x6c')])){for(var _0x19844b=0x0;_0x19844b<_0x26cdad['query'][_0xd5e8('0x6c')][_0xd5e8('0x37')];_0x19844b+=0x1){socket[_0xd5e8('0x6d')](_0xd5e8('0x6f'),{'UserId':Number(_0x26cdad[_0xd5e8('0x31')][_0xd5e8('0x6c')][_0x19844b]),'VoicePrefixId':Number(_0x26cdad['params']['id'])});}}else{socket[_0xd5e8('0x6d')]('userVoicePrefix:remove',{'UserId':Number(_0x26cdad[_0xd5e8('0x31')]['ids']),'VoicePrefixId':Number(_0x26cdad['params']['id'])});}});}})[_0xd5e8('0x25')](respondWithStatusCode(_0x5ee918,null))[_0xd5e8('0x44')](handleError(_0x5ee918,null));};exports[_0xd5e8('0x70')]=function(_0x32a5b1,_0x3f4668,_0x18e232){var _0x300797={};var _0x499594={};var _0x5e9c0f;var _0x5990ca;return db[_0xd5e8('0x41')]['findOne']({'where':{'id':_0x32a5b1[_0xd5e8('0x46')]['id']}})[_0xd5e8('0x25')](handleEntityNotFound(_0x3f4668,null))[_0xd5e8('0x25')](function(_0xfb109f){if(_0xfb109f){_0x5e9c0f=_0xfb109f;_0x499594[_0xd5e8('0x2f')]=_['keys'](db[_0xd5e8('0x71')]['rawAttributes']);_0x499594[_0xd5e8('0x31')]=_['keys'](_0x32a5b1['query']);_0x499594[_0xd5e8('0x33')]=_[_0xd5e8('0x34')](_0x499594[_0xd5e8('0x2f')],_0x499594[_0xd5e8('0x31')]);_0x300797[_0xd5e8('0x35')]=_[_0xd5e8('0x34')](_0x499594[_0xd5e8('0x2f')],qs['fields'](_0x32a5b1[_0xd5e8('0x31')][_0xd5e8('0x36')]));_0x300797[_0xd5e8('0x35')]=_0x300797[_0xd5e8('0x35')][_0xd5e8('0x37')]?_0x300797['attributes']:_0x499594[_0xd5e8('0x2f')];_0x300797[_0xd5e8('0x72')]=qs['sort'](_0x32a5b1[_0xd5e8('0x31')]['sort']);_0x300797[_0xd5e8('0x3c')]=qs[_0xd5e8('0x33')](_[_0xd5e8('0x3a')](_0x32a5b1[_0xd5e8('0x31')],_0x499594[_0xd5e8('0x33')]));if(_0x32a5b1[_0xd5e8('0x31')][_0xd5e8('0x3b')]){_0x300797[_0xd5e8('0x3c')]=_[_0xd5e8('0x3d')](_0x300797['where'],{'$or':_[_0xd5e8('0x30')](_0x300797[_0xd5e8('0x35')],function(_0x195396){var _0x14d1db={};_0x14d1db[_0x195396]={'$like':'%'+_0x32a5b1[_0xd5e8('0x31')][_0xd5e8('0x3b')]+'%'};return _0x14d1db;})});}_0x300797=_['merge']({},_0x300797,_0x32a5b1['options']);return _0x5e9c0f[_0xd5e8('0x70')](_0x300797);}})[_0xd5e8('0x25')](function(_0x11ef4d){if(_0x11ef4d){_0x5990ca=_0x11ef4d['length'];if(!_0x32a5b1[_0xd5e8('0x31')]['hasOwnProperty']('nolimit')){_0x300797['limit']=qs['limit'](_0x32a5b1[_0xd5e8('0x31')][_0xd5e8('0x1e')]);_0x300797[_0xd5e8('0x1d')]=qs[_0xd5e8('0x1d')](_0x32a5b1[_0xd5e8('0x31')][_0xd5e8('0x1d')]);}return _0x5e9c0f[_0xd5e8('0x70')](_0x300797);}})[_0xd5e8('0x25')](function(_0x9e626d){if(_0x9e626d){return _0x9e626d?{'count':_0x5990ca,'rows':_0x9e626d}:null;}})['then'](respondWithResult(_0x3f4668,null))[_0xd5e8('0x44')](handleError(_0x3f4668,null));};