Built motion from commit 2e4747fd.|2.6.7
[motion2.git] / server / api / trigger / trigger.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 _0xe33a=['status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','UserProfileResource','error','stack','name','send','map','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','include','Trigger','rows','catch','show','includeAll','create','body','get','user','Triggers','UserProfileSection','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','addAllCondition','Condition','TriggerAnyId','findOne','rawAttributes','order','getAllConditions','getAnyConditions','addAction','TriggerId','Action','getActions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus'];(function(_0x2aea9e,_0x1f587f){var _0x430b92=function(_0x416c37){while(--_0x416c37){_0x2aea9e['push'](_0x2aea9e['shift']());}};_0x430b92(++_0x1f587f);}(_0xe33a,0xa2));var _0xae33=function(_0x1bac69,_0x58779e){_0x1bac69=_0x1bac69-0x0;var _0x433360=_0xe33a[_0x1bac69];return _0x433360;};'use strict';var emlformat=require(_0xae33('0x0'));var rimraf=require(_0xae33('0x1'));var zipdir=require(_0xae33('0x2'));var jsonpatch=require(_0xae33('0x3'));var rp=require(_0xae33('0x4'));var moment=require(_0xae33('0x5'));var BPromise=require(_0xae33('0x6'));var Mustache=require(_0xae33('0x7'));var util=require(_0xae33('0x8'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xae33('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xae33('0xa'));var squel=require(_0xae33('0xb'));var crypto=require(_0xae33('0xc'));var jsforce=require(_0xae33('0xd'));var deskjs=require(_0xae33('0xe'));var toCsv=require(_0xae33('0xf'));var querystring=require(_0xae33('0x10'));var Papa=require(_0xae33('0x11'));var Redis=require('ioredis');var authService=require(_0xae33('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xae33('0x13'));var logger=require(_0xae33('0x14'))(_0xae33('0x15'));var utils=require(_0xae33('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xae33('0x17'));var db=require(_0xae33('0x18'))['db'];function respondWithStatusCode(_0x12496e,_0x342eed){_0x342eed=_0x342eed||0xcc;return function(_0x26bbff){if(_0x26bbff){return _0x12496e[_0xae33('0x19')](_0x342eed);}return _0x12496e[_0xae33('0x1a')](_0x342eed)[_0xae33('0x1b')]();};}function respondWithResult(_0x4ebaeb,_0x24b940){_0x24b940=_0x24b940||0xc8;return function(_0xc47b18){if(_0xc47b18){return _0x4ebaeb[_0xae33('0x1a')](_0x24b940)[_0xae33('0x1c')](_0xc47b18);}};}function respondWithFilteredResult(_0x3d3b87,_0x2c56fc){return function(_0x747b73){if(_0x747b73){var _0x340c6e=typeof _0x2c56fc['offset']===_0xae33('0x1d')&&typeof _0x2c56fc[_0xae33('0x1e')]===_0xae33('0x1d');var _0x49fc27=_0x747b73[_0xae33('0x1f')];var _0x2db08a=_0x340c6e?0x0:_0x2c56fc[_0xae33('0x20')];var _0x3c26a2=_0x340c6e?_0x747b73[_0xae33('0x1f')]:_0x2c56fc[_0xae33('0x20')]+_0x2c56fc[_0xae33('0x1e')];var _0x354441;if(_0x3c26a2>=_0x49fc27){_0x3c26a2=_0x49fc27;_0x354441=0xc8;}else{_0x354441=0xce;}_0x3d3b87['status'](_0x354441);return _0x3d3b87[_0xae33('0x21')](_0xae33('0x22'),_0x2db08a+'-'+_0x3c26a2+'/'+_0x49fc27)[_0xae33('0x1c')](_0x747b73);}return null;};}function patchUpdates(_0x25e1fb){return function(_0x1755cd){try{jsonpatch[_0xae33('0x23')](_0x1755cd,_0x25e1fb,!![]);}catch(_0x35fa05){return BPromise[_0xae33('0x24')](_0x35fa05);}return _0x1755cd[_0xae33('0x25')]();};}function saveUpdates(_0x6c190d,_0x462812){return function(_0x7c3a57){if(_0x7c3a57){return _0x7c3a57[_0xae33('0x26')](_0x6c190d)[_0xae33('0x27')](function(_0x236c9c){return _0x236c9c;});}return null;};}function removeEntity(_0x17051f,_0x287fc5){return function(_0x8355ce){if(_0x8355ce){return _0x8355ce[_0xae33('0x28')]()[_0xae33('0x27')](function(){var _0x4e1839=_0x8355ce['get']({'plain':!![]});var _0x5b2a9b='Triggers';return db[_0xae33('0x29')]['destroy']({'where':{'type':_0x5b2a9b,'resourceId':_0x4e1839['id']}})[_0xae33('0x27')](function(){return _0x8355ce;});})[_0xae33('0x27')](function(){_0x17051f['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x343fec,_0x8ca124){return function(_0x57b45d){if(!_0x57b45d){_0x343fec[_0xae33('0x19')](0x194);}return _0x57b45d;};}function handleError(_0x3c3155,_0x4afb64){_0x4afb64=_0x4afb64||0x1f4;return function(_0x4a5fd9){logger[_0xae33('0x2a')](_0x4a5fd9[_0xae33('0x2b')]);if(_0x4a5fd9[_0xae33('0x2c')]){delete _0x4a5fd9['name'];}_0x3c3155[_0xae33('0x1a')](_0x4afb64)[_0xae33('0x2d')](_0x4a5fd9);};}exports['index']=function(_0x8a7374,_0x27f47e){var _0x4ce126={},_0x27adff={},_0x360a58={'count':0x0,'rows':[]};var _0x1c0845=_[_0xae33('0x2e')](db['Trigger']['rawAttributes'],function(_0x4f5e2d){return{'name':_0x4f5e2d['fieldName'],'type':_0x4f5e2d[_0xae33('0x2f')][_0xae33('0x30')]};});_0x27adff[_0xae33('0x31')]=_[_0xae33('0x2e')](_0x1c0845,_0xae33('0x2c'));_0x27adff[_0xae33('0x32')]=_[_0xae33('0x33')](_0x8a7374[_0xae33('0x32')]);_0x27adff[_0xae33('0x34')]=_[_0xae33('0x35')](_0x27adff[_0xae33('0x31')],_0x27adff['query']);_0x4ce126[_0xae33('0x36')]=_[_0xae33('0x35')](_0x27adff[_0xae33('0x31')],qs[_0xae33('0x37')](_0x8a7374['query'][_0xae33('0x37')]));_0x4ce126[_0xae33('0x36')]=_0x4ce126[_0xae33('0x36')][_0xae33('0x38')]?_0x4ce126[_0xae33('0x36')]:_0x27adff[_0xae33('0x31')];if(!_0x8a7374[_0xae33('0x32')][_0xae33('0x39')](_0xae33('0x3a'))){_0x4ce126[_0xae33('0x1e')]=qs[_0xae33('0x1e')](_0x8a7374[_0xae33('0x32')][_0xae33('0x1e')]);_0x4ce126[_0xae33('0x20')]=qs[_0xae33('0x20')](_0x8a7374[_0xae33('0x32')][_0xae33('0x20')]);}_0x4ce126['order']=qs['sort'](_0x8a7374[_0xae33('0x32')][_0xae33('0x3b')]);_0x4ce126[_0xae33('0x3c')]=qs['filters'](_[_0xae33('0x3d')](_0x8a7374[_0xae33('0x32')],_0x27adff[_0xae33('0x34')]),_0x1c0845);if(_0x8a7374[_0xae33('0x32')][_0xae33('0x3e')]){_0x4ce126['where']=_['merge'](_0x4ce126[_0xae33('0x3c')],{'$or':_[_0xae33('0x2e')](_0x1c0845,function(_0xc4c90c){if(_0xc4c90c[_0xae33('0x2f')]!==_0xae33('0x3f')){var _0x4423cb={};_0x4423cb[_0xc4c90c['name']]={'$like':'%'+_0x8a7374[_0xae33('0x32')][_0xae33('0x3e')]+'%'};return _0x4423cb;}})});}_0x4ce126=_[_0xae33('0x40')]({},_0x4ce126,_0x8a7374[_0xae33('0x41')]);var _0x37efac={'where':_0x4ce126[_0xae33('0x3c')]};return db['Trigger'][_0xae33('0x1f')](_0x37efac)[_0xae33('0x27')](function(_0x495686){_0x360a58[_0xae33('0x1f')]=_0x495686;if(_0x8a7374[_0xae33('0x32')]['includeAll']){_0x4ce126[_0xae33('0x42')]=[{'all':!![]}];}return db[_0xae33('0x43')]['findAll'](_0x4ce126);})[_0xae33('0x27')](function(_0x371c8f){_0x360a58[_0xae33('0x44')]=_0x371c8f;return _0x360a58;})['then'](respondWithFilteredResult(_0x27f47e,_0x4ce126))[_0xae33('0x45')](handleError(_0x27f47e,null));};exports[_0xae33('0x46')]=function(_0x4835f8,_0xc23824){var _0x293235={'raw':![],'where':{'id':_0x4835f8['params']['id']}},_0x2e42b9={};_0x2e42b9['model']=_[_0xae33('0x33')](db[_0xae33('0x43')]['rawAttributes']);_0x2e42b9[_0xae33('0x32')]=_[_0xae33('0x33')](_0x4835f8['query']);_0x2e42b9[_0xae33('0x34')]=_['intersection'](_0x2e42b9[_0xae33('0x31')],_0x2e42b9[_0xae33('0x32')]);_0x293235[_0xae33('0x36')]=_[_0xae33('0x35')](_0x2e42b9[_0xae33('0x31')],qs[_0xae33('0x37')](_0x4835f8[_0xae33('0x32')][_0xae33('0x37')]));_0x293235[_0xae33('0x36')]=_0x293235[_0xae33('0x36')][_0xae33('0x38')]?_0x293235[_0xae33('0x36')]:_0x2e42b9[_0xae33('0x31')];if(_0x4835f8[_0xae33('0x32')][_0xae33('0x47')]){_0x293235['include']=[{'all':!![]}];}_0x293235=_[_0xae33('0x40')]({},_0x293235,_0x4835f8[_0xae33('0x41')]);return db[_0xae33('0x43')]['find'](_0x293235)['then'](handleEntityNotFound(_0xc23824,null))[_0xae33('0x27')](respondWithResult(_0xc23824,null))[_0xae33('0x45')](handleError(_0xc23824,null));};exports[_0xae33('0x48')]=function(_0x40db3f,_0x5009f9){return db[_0xae33('0x43')][_0xae33('0x48')](_0x40db3f[_0xae33('0x49')],{})[_0xae33('0x27')](function(_0x29bb8a){var _0x457731=_0x40db3f['user'][_0xae33('0x4a')]({'plain':!![]});if(!_0x457731)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x457731['role']===_0xae33('0x4b')){var _0x52a834=_0x29bb8a[_0xae33('0x4a')]({'plain':!![]});var _0x47f039=_0xae33('0x4c');return db[_0xae33('0x4d')][_0xae33('0x4e')]({'where':{'name':_0x47f039,'userProfileId':_0x457731['userProfileId']},'raw':!![]})[_0xae33('0x27')](function(_0x54c8d2){if(_0x54c8d2&&_0x54c8d2[_0xae33('0x4f')]===0x0){return db[_0xae33('0x29')]['create']({'name':_0x52a834[_0xae33('0x2c')],'resourceId':_0x52a834['id'],'type':_0x54c8d2[_0xae33('0x2c')],'sectionId':_0x54c8d2['id']},{})[_0xae33('0x27')](function(){return _0x29bb8a;});}else{return _0x29bb8a;}})[_0xae33('0x45')](function(_0x57053a){logger[_0xae33('0x2a')](_0xae33('0x50'),_0x57053a);throw _0x57053a;});}return _0x29bb8a;})['then'](respondWithResult(_0x5009f9,0xc9))[_0xae33('0x45')](handleError(_0x5009f9,null));};exports['update']=function(_0xfa5350,_0x496063){if(_0xfa5350[_0xae33('0x49')]['id']){delete _0xfa5350[_0xae33('0x49')]['id'];}return db['Trigger'][_0xae33('0x4e')]({'where':{'id':_0xfa5350[_0xae33('0x51')]['id']}})[_0xae33('0x27')](handleEntityNotFound(_0x496063,null))[_0xae33('0x27')](saveUpdates(_0xfa5350[_0xae33('0x49')],null))[_0xae33('0x27')](respondWithResult(_0x496063,null))[_0xae33('0x45')](handleError(_0x496063,null));};exports[_0xae33('0x28')]=function(_0xc120f3,_0x36e4fc){return db[_0xae33('0x43')][_0xae33('0x4e')]({'where':{'id':_0xc120f3[_0xae33('0x51')]['id']}})[_0xae33('0x27')](handleEntityNotFound(_0x36e4fc,null))['then'](removeEntity(_0x36e4fc,null))[_0xae33('0x45')](handleError(_0x36e4fc,null));};exports[_0xae33('0x52')]=function(_0x3ee0a7,_0x3b95db,_0x28bede){if(_0x3ee0a7[_0xae33('0x49')]['id']){delete _0x3ee0a7[_0xae33('0x49')]['id'];}return db[_0xae33('0x43')][_0xae33('0x4e')]({'where':{'id':_0x3ee0a7['params']['id']}})[_0xae33('0x27')](handleEntityNotFound(_0x3b95db,null))[_0xae33('0x27')](function(_0x439f76){if(_0x439f76){_0x3ee0a7[_0xae33('0x49')]['TriggerAllId']=_0x439f76['id'];return db[_0xae33('0x53')]['create'](_0x3ee0a7[_0xae33('0x49')]);}})['then'](respondWithResult(_0x3b95db,null))[_0xae33('0x45')](handleError(_0x3b95db,null));};exports['addAnyCondition']=function(_0x5f3280,_0x26fc33,_0x30219a){if(_0x5f3280[_0xae33('0x49')]['id']){delete _0x5f3280['body']['id'];}return db[_0xae33('0x43')][_0xae33('0x4e')]({'where':{'id':_0x5f3280[_0xae33('0x51')]['id']}})['then'](handleEntityNotFound(_0x26fc33,null))['then'](function(_0x919eaf){if(_0x919eaf){_0x5f3280[_0xae33('0x49')][_0xae33('0x54')]=_0x919eaf['id'];return db[_0xae33('0x53')][_0xae33('0x48')](_0x5f3280[_0xae33('0x49')]);}})[_0xae33('0x27')](respondWithResult(_0x26fc33,null))[_0xae33('0x45')](handleError(_0x26fc33,null));};exports['getAllConditions']=function(_0x296777,_0x651b3d,_0xe70757){var _0x4fabc0={};var _0x36a007={};var _0x271985;var _0x4e7eb2;return db[_0xae33('0x43')][_0xae33('0x55')]({'where':{'id':_0x296777[_0xae33('0x51')]['id']}})[_0xae33('0x27')](handleEntityNotFound(_0x651b3d,null))[_0xae33('0x27')](function(_0x9e9f2d){if(_0x9e9f2d){_0x271985=_0x9e9f2d;_0x36a007[_0xae33('0x31')]=_[_0xae33('0x33')](db[_0xae33('0x53')][_0xae33('0x56')]);_0x36a007[_0xae33('0x32')]=_[_0xae33('0x33')](_0x296777[_0xae33('0x32')]);_0x36a007[_0xae33('0x34')]=_[_0xae33('0x35')](_0x36a007['model'],_0x36a007[_0xae33('0x32')]);_0x4fabc0[_0xae33('0x36')]=_[_0xae33('0x35')](_0x36a007[_0xae33('0x31')],qs['fields'](_0x296777[_0xae33('0x32')][_0xae33('0x37')]));_0x4fabc0[_0xae33('0x36')]=_0x4fabc0[_0xae33('0x36')][_0xae33('0x38')]?_0x4fabc0['attributes']:_0x36a007[_0xae33('0x31')];_0x4fabc0[_0xae33('0x57')]=qs[_0xae33('0x3b')](_0x296777[_0xae33('0x32')][_0xae33('0x3b')]);_0x4fabc0['where']=qs[_0xae33('0x34')](_[_0xae33('0x3d')](_0x296777[_0xae33('0x32')],_0x36a007['filters']));if(_0x296777[_0xae33('0x32')][_0xae33('0x3e')]){_0x4fabc0['where']=_['merge'](_0x4fabc0[_0xae33('0x3c')],{'$or':_[_0xae33('0x2e')](_0x4fabc0[_0xae33('0x36')],function(_0x208952){var _0x2528be={};_0x2528be[_0x208952]={'$like':'%'+_0x296777[_0xae33('0x32')][_0xae33('0x3e')]+'%'};return _0x2528be;})});}_0x4fabc0=_[_0xae33('0x40')]({},_0x4fabc0,_0x296777[_0xae33('0x41')]);return _0x271985[_0xae33('0x58')](_0x4fabc0);}})[_0xae33('0x27')](function(_0x21e3dd){if(_0x21e3dd){_0x4e7eb2=_0x21e3dd[_0xae33('0x38')];if(!_0x296777['query']['hasOwnProperty'](_0xae33('0x3a'))){_0x4fabc0[_0xae33('0x1e')]=qs[_0xae33('0x1e')](_0x296777[_0xae33('0x32')]['limit']);_0x4fabc0['offset']=qs[_0xae33('0x20')](_0x296777[_0xae33('0x32')][_0xae33('0x20')]);}return _0x271985[_0xae33('0x58')](_0x4fabc0);}})[_0xae33('0x27')](function(_0x45f2c3){if(_0x45f2c3){return _0x45f2c3?{'count':_0x4e7eb2,'rows':_0x45f2c3}:null;}})[_0xae33('0x27')](respondWithResult(_0x651b3d,null))[_0xae33('0x45')](handleError(_0x651b3d,null));};exports[_0xae33('0x59')]=function(_0x306da6,_0x5c3956,_0x2f7d5e){var _0x158e0b={};var _0x11c3e3={};var _0x3065de;var _0x4d7840;return db[_0xae33('0x43')][_0xae33('0x55')]({'where':{'id':_0x306da6['params']['id']}})[_0xae33('0x27')](handleEntityNotFound(_0x5c3956,null))[_0xae33('0x27')](function(_0x33b982){if(_0x33b982){_0x3065de=_0x33b982;_0x11c3e3[_0xae33('0x31')]=_[_0xae33('0x33')](db[_0xae33('0x53')]['rawAttributes']);_0x11c3e3[_0xae33('0x32')]=_[_0xae33('0x33')](_0x306da6[_0xae33('0x32')]);_0x11c3e3[_0xae33('0x34')]=_['intersection'](_0x11c3e3[_0xae33('0x31')],_0x11c3e3[_0xae33('0x32')]);_0x158e0b[_0xae33('0x36')]=_[_0xae33('0x35')](_0x11c3e3[_0xae33('0x31')],qs[_0xae33('0x37')](_0x306da6[_0xae33('0x32')]['fields']));_0x158e0b[_0xae33('0x36')]=_0x158e0b['attributes'][_0xae33('0x38')]?_0x158e0b[_0xae33('0x36')]:_0x11c3e3[_0xae33('0x31')];_0x158e0b[_0xae33('0x57')]=qs[_0xae33('0x3b')](_0x306da6[_0xae33('0x32')][_0xae33('0x3b')]);_0x158e0b[_0xae33('0x3c')]=qs[_0xae33('0x34')](_[_0xae33('0x3d')](_0x306da6[_0xae33('0x32')],_0x11c3e3['filters']));if(_0x306da6[_0xae33('0x32')][_0xae33('0x3e')]){_0x158e0b[_0xae33('0x3c')]=_[_0xae33('0x40')](_0x158e0b[_0xae33('0x3c')],{'$or':_[_0xae33('0x2e')](_0x158e0b[_0xae33('0x36')],function(_0x5dabf2){var _0x4c07bc={};_0x4c07bc[_0x5dabf2]={'$like':'%'+_0x306da6[_0xae33('0x32')][_0xae33('0x3e')]+'%'};return _0x4c07bc;})});}_0x158e0b=_[_0xae33('0x40')]({},_0x158e0b,_0x306da6[_0xae33('0x41')]);return _0x3065de[_0xae33('0x59')](_0x158e0b);}})[_0xae33('0x27')](function(_0x1781a8){if(_0x1781a8){_0x4d7840=_0x1781a8[_0xae33('0x38')];if(!_0x306da6['query']['hasOwnProperty'](_0xae33('0x3a'))){_0x158e0b[_0xae33('0x1e')]=qs[_0xae33('0x1e')](_0x306da6['query'][_0xae33('0x1e')]);_0x158e0b[_0xae33('0x20')]=qs[_0xae33('0x20')](_0x306da6[_0xae33('0x32')][_0xae33('0x20')]);}return _0x3065de[_0xae33('0x59')](_0x158e0b);}})[_0xae33('0x27')](function(_0x223aad){if(_0x223aad){return _0x223aad?{'count':_0x4d7840,'rows':_0x223aad}:null;}})['then'](respondWithResult(_0x5c3956,null))[_0xae33('0x45')](handleError(_0x5c3956,null));};exports[_0xae33('0x5a')]=function(_0x2a6b15,_0xca1f11,_0x446a5d){if(_0x2a6b15[_0xae33('0x49')]['id']){delete _0x2a6b15[_0xae33('0x49')]['id'];}return db[_0xae33('0x43')]['find']({'where':{'id':_0x2a6b15['params']['id']}})['then'](handleEntityNotFound(_0xca1f11,null))[_0xae33('0x27')](function(_0x563f75){if(_0x563f75){_0x2a6b15[_0xae33('0x49')][_0xae33('0x5b')]=_0x563f75['id'];return db[_0xae33('0x5c')][_0xae33('0x48')](_0x2a6b15[_0xae33('0x49')]);}})[_0xae33('0x27')](respondWithResult(_0xca1f11,null))[_0xae33('0x45')](handleError(_0xca1f11,null));};exports[_0xae33('0x5d')]=function(_0x14557f,_0x37bda5,_0x4bc629){var _0x1711d8={};var _0x47a6e0={};var _0x439b98;var _0x45171c;return db[_0xae33('0x43')]['findOne']({'where':{'id':_0x14557f[_0xae33('0x51')]['id']}})[_0xae33('0x27')](handleEntityNotFound(_0x37bda5,null))[_0xae33('0x27')](function(_0x58e162){if(_0x58e162){_0x439b98=_0x58e162;_0x47a6e0[_0xae33('0x31')]=_['keys'](db[_0xae33('0x5c')][_0xae33('0x56')]);_0x47a6e0[_0xae33('0x32')]=_[_0xae33('0x33')](_0x14557f[_0xae33('0x32')]);_0x47a6e0[_0xae33('0x34')]=_['intersection'](_0x47a6e0[_0xae33('0x31')],_0x47a6e0[_0xae33('0x32')]);_0x1711d8[_0xae33('0x36')]=_[_0xae33('0x35')](_0x47a6e0['model'],qs[_0xae33('0x37')](_0x14557f[_0xae33('0x32')][_0xae33('0x37')]));_0x1711d8[_0xae33('0x36')]=_0x1711d8[_0xae33('0x36')][_0xae33('0x38')]?_0x1711d8[_0xae33('0x36')]:_0x47a6e0['model'];_0x1711d8[_0xae33('0x57')]=qs['sort'](_0x14557f[_0xae33('0x32')][_0xae33('0x3b')]);_0x1711d8['where']=qs[_0xae33('0x34')](_['pick'](_0x14557f['query'],_0x47a6e0[_0xae33('0x34')]));if(_0x14557f[_0xae33('0x32')][_0xae33('0x3e')]){_0x1711d8[_0xae33('0x3c')]=_[_0xae33('0x40')](_0x1711d8['where'],{'$or':_[_0xae33('0x2e')](_0x1711d8[_0xae33('0x36')],function(_0x414c3c){var _0x475395={};_0x475395[_0x414c3c]={'$like':'%'+_0x14557f[_0xae33('0x32')]['filter']+'%'};return _0x475395;})});}_0x1711d8=_[_0xae33('0x40')]({},_0x1711d8,_0x14557f['options']);return _0x439b98[_0xae33('0x5d')](_0x1711d8);}})['then'](function(_0x101e8c){if(_0x101e8c){_0x45171c=_0x101e8c[_0xae33('0x38')];if(!_0x14557f[_0xae33('0x32')][_0xae33('0x39')]('nolimit')){_0x1711d8[_0xae33('0x1e')]=qs[_0xae33('0x1e')](_0x14557f[_0xae33('0x32')]['limit']);_0x1711d8[_0xae33('0x20')]=qs['offset'](_0x14557f[_0xae33('0x32')][_0xae33('0x20')]);}return _0x439b98[_0xae33('0x5d')](_0x1711d8);}})[_0xae33('0x27')](function(_0x539050){if(_0x539050){return _0x539050?{'count':_0x45171c,'rows':_0x539050}:null;}})['then'](respondWithResult(_0x37bda5,null))[_0xae33('0x45')](handleError(_0x37bda5,null));};