46ea16c0754c393303860abb329b42caaf56b0b0
[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 _0xd083=['intersection','attributes','fields','length','hasOwnProperty','offset','order','sort','where','filter','merge','VIRTUAL','options','Trigger','includeAll','include','findAll','rows','show','params','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','get','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addAllCondition','TriggerAllId','addAnyCondition','TriggerAnyId','Condition','getAllConditions','findOne','nolimit','getAnyConditions','Action','getActions','pick','eml-format','rimraf','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','end','status','json','undefined','limit','count','Content-Range','apply','reject','destroy','then','Triggers','UserProfileResource','sendStatus','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters'];(function(_0x14fd3a,_0x17de86){var _0x3b9a96=function(_0x1c2198){while(--_0x1c2198){_0x14fd3a['push'](_0x14fd3a['shift']());}};_0x3b9a96(++_0x17de86);}(_0xd083,0x13a));var _0x3d08=function(_0x253476,_0x16b31a){_0x253476=_0x253476-0x0;var _0x134271=_0xd083[_0x253476];return _0x134271;};'use strict';var emlformat=require(_0x3d08('0x0'));var rimraf=require(_0x3d08('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3d08('0x2'));var rp=require(_0x3d08('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x3d08('0x4'));var util=require(_0x3d08('0x5'));var path=require(_0x3d08('0x6'));var sox=require(_0x3d08('0x7'));var csv=require(_0x3d08('0x8'));var ejs=require(_0x3d08('0x9'));var fs=require('fs');var fs_extra=require(_0x3d08('0xa'));var _=require(_0x3d08('0xb'));var squel=require(_0x3d08('0xc'));var crypto=require(_0x3d08('0xd'));var jsforce=require(_0x3d08('0xe'));var deskjs=require(_0x3d08('0xf'));var toCsv=require(_0x3d08('0x8'));var querystring=require(_0x3d08('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x3d08('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x3d08('0x12'));var hardwareService=require(_0x3d08('0x13'));var logger=require('../../config/logger')(_0x3d08('0x14'));var utils=require(_0x3d08('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x3d08('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x347c0b,_0x1a21a9){_0x1a21a9=_0x1a21a9||0xcc;return function(_0x30c5eb){if(_0x30c5eb){return _0x347c0b['sendStatus'](_0x1a21a9);}return _0x347c0b['status'](_0x1a21a9)[_0x3d08('0x17')]();};}function respondWithResult(_0x1e18b1,_0x445b9b){_0x445b9b=_0x445b9b||0xc8;return function(_0x309972){if(_0x309972){return _0x1e18b1[_0x3d08('0x18')](_0x445b9b)[_0x3d08('0x19')](_0x309972);}};}function respondWithFilteredResult(_0x2ca8ba,_0x2a9d2a){return function(_0x535c6a){if(_0x535c6a){var _0x32d85d=typeof _0x2a9d2a['offset']===_0x3d08('0x1a')&&typeof _0x2a9d2a[_0x3d08('0x1b')]===_0x3d08('0x1a');var _0x1a4526=_0x535c6a[_0x3d08('0x1c')];var _0x167ace=_0x32d85d?0x0:_0x2a9d2a['offset'];var _0x18e73b=_0x32d85d?_0x535c6a[_0x3d08('0x1c')]:_0x2a9d2a['offset']+_0x2a9d2a[_0x3d08('0x1b')];var _0x1fa17a;if(_0x18e73b>=_0x1a4526){_0x18e73b=_0x1a4526;_0x1fa17a=0xc8;}else{_0x1fa17a=0xce;}_0x2ca8ba[_0x3d08('0x18')](_0x1fa17a);return _0x2ca8ba['set'](_0x3d08('0x1d'),_0x167ace+'-'+_0x18e73b+'/'+_0x1a4526)['json'](_0x535c6a);}return null;};}function patchUpdates(_0x456235){return function(_0x16c1d5){try{jsonpatch[_0x3d08('0x1e')](_0x16c1d5,_0x456235,!![]);}catch(_0x2357fa){return BPromise[_0x3d08('0x1f')](_0x2357fa);}return _0x16c1d5['save']();};}function saveUpdates(_0x47c9f7,_0x31b4b9){return function(_0x14a082){if(_0x14a082){return _0x14a082['update'](_0x47c9f7)['then'](function(_0x1b660c){return _0x1b660c;});}return null;};}function removeEntity(_0x3f61b7,_0x3cfd84){return function(_0x5ea3eb){if(_0x5ea3eb){return _0x5ea3eb[_0x3d08('0x20')]()[_0x3d08('0x21')](function(){var _0x58e94c=_0x5ea3eb['get']({'plain':!![]});var _0x1ad4dd=_0x3d08('0x22');return db[_0x3d08('0x23')]['destroy']({'where':{'type':_0x1ad4dd,'resourceId':_0x58e94c['id']}})['then'](function(){return _0x5ea3eb;});})[_0x3d08('0x21')](function(){_0x3f61b7['status'](0xcc)[_0x3d08('0x17')]();});}};}function handleEntityNotFound(_0x5ca47a,_0x2a1f88){return function(_0x39d663){if(!_0x39d663){_0x5ca47a[_0x3d08('0x24')](0x194);}return _0x39d663;};}function handleError(_0x5ae5ef,_0x181158){_0x181158=_0x181158||0x1f4;return function(_0xd65714){logger['error'](_0xd65714[_0x3d08('0x25')]);if(_0xd65714[_0x3d08('0x26')]){delete _0xd65714[_0x3d08('0x26')];}_0x5ae5ef[_0x3d08('0x18')](_0x181158)[_0x3d08('0x27')](_0xd65714);};}exports[_0x3d08('0x28')]=function(_0x9c6252,_0xbf60fe){var _0x48fb38={},_0x2b07fb={},_0x312f7d={'count':0x0,'rows':[]};var _0xb1aab1=_[_0x3d08('0x29')](db['Trigger'][_0x3d08('0x2a')],function(_0x24ac12){return{'name':_0x24ac12[_0x3d08('0x2b')],'type':_0x24ac12[_0x3d08('0x2c')][_0x3d08('0x2d')]};});_0x2b07fb[_0x3d08('0x2e')]=_[_0x3d08('0x29')](_0xb1aab1,_0x3d08('0x26'));_0x2b07fb[_0x3d08('0x2f')]=_[_0x3d08('0x30')](_0x9c6252[_0x3d08('0x2f')]);_0x2b07fb[_0x3d08('0x31')]=_[_0x3d08('0x32')](_0x2b07fb[_0x3d08('0x2e')],_0x2b07fb['query']);_0x48fb38[_0x3d08('0x33')]=_['intersection'](_0x2b07fb[_0x3d08('0x2e')],qs['fields'](_0x9c6252['query'][_0x3d08('0x34')]));_0x48fb38[_0x3d08('0x33')]=_0x48fb38[_0x3d08('0x33')][_0x3d08('0x35')]?_0x48fb38['attributes']:_0x2b07fb[_0x3d08('0x2e')];if(!_0x9c6252['query'][_0x3d08('0x36')]('nolimit')){_0x48fb38['limit']=qs[_0x3d08('0x1b')](_0x9c6252[_0x3d08('0x2f')][_0x3d08('0x1b')]);_0x48fb38[_0x3d08('0x37')]=qs[_0x3d08('0x37')](_0x9c6252['query'][_0x3d08('0x37')]);}_0x48fb38[_0x3d08('0x38')]=qs[_0x3d08('0x39')](_0x9c6252[_0x3d08('0x2f')][_0x3d08('0x39')]);_0x48fb38[_0x3d08('0x3a')]=qs[_0x3d08('0x31')](_['pick'](_0x9c6252[_0x3d08('0x2f')],_0x2b07fb[_0x3d08('0x31')]),_0xb1aab1);if(_0x9c6252[_0x3d08('0x2f')][_0x3d08('0x3b')]){_0x48fb38[_0x3d08('0x3a')]=_[_0x3d08('0x3c')](_0x48fb38[_0x3d08('0x3a')],{'$or':_['map'](_0xb1aab1,function(_0x338f4f){if(_0x338f4f['type']!==_0x3d08('0x3d')){var _0x55abcd={};_0x55abcd[_0x338f4f[_0x3d08('0x26')]]={'$like':'%'+_0x9c6252[_0x3d08('0x2f')][_0x3d08('0x3b')]+'%'};return _0x55abcd;}})});}_0x48fb38=_[_0x3d08('0x3c')]({},_0x48fb38,_0x9c6252[_0x3d08('0x3e')]);var _0x3558f8={'where':_0x48fb38['where']};return db[_0x3d08('0x3f')][_0x3d08('0x1c')](_0x3558f8)[_0x3d08('0x21')](function(_0x895f22){_0x312f7d[_0x3d08('0x1c')]=_0x895f22;if(_0x9c6252[_0x3d08('0x2f')][_0x3d08('0x40')]){_0x48fb38[_0x3d08('0x41')]=[{'all':!![]}];}return db[_0x3d08('0x3f')][_0x3d08('0x42')](_0x48fb38);})[_0x3d08('0x21')](function(_0x80354b){_0x312f7d[_0x3d08('0x43')]=_0x80354b;return _0x312f7d;})[_0x3d08('0x21')](respondWithFilteredResult(_0xbf60fe,_0x48fb38))['catch'](handleError(_0xbf60fe,null));};exports[_0x3d08('0x44')]=function(_0x517ba7,_0x2ead29){var _0x260574={'raw':![],'where':{'id':_0x517ba7[_0x3d08('0x45')]['id']}},_0x42eacc={};_0x42eacc[_0x3d08('0x2e')]=_['keys'](db[_0x3d08('0x3f')][_0x3d08('0x2a')]);_0x42eacc[_0x3d08('0x2f')]=_['keys'](_0x517ba7[_0x3d08('0x2f')]);_0x42eacc[_0x3d08('0x31')]=_[_0x3d08('0x32')](_0x42eacc[_0x3d08('0x2e')],_0x42eacc['query']);_0x260574[_0x3d08('0x33')]=_[_0x3d08('0x32')](_0x42eacc['model'],qs['fields'](_0x517ba7[_0x3d08('0x2f')]['fields']));_0x260574['attributes']=_0x260574[_0x3d08('0x33')][_0x3d08('0x35')]?_0x260574[_0x3d08('0x33')]:_0x42eacc[_0x3d08('0x2e')];if(_0x517ba7[_0x3d08('0x2f')][_0x3d08('0x40')]){_0x260574[_0x3d08('0x41')]=[{'all':!![]}];}_0x260574=_[_0x3d08('0x3c')]({},_0x260574,_0x517ba7[_0x3d08('0x3e')]);return db['Trigger']['find'](_0x260574)[_0x3d08('0x21')](handleEntityNotFound(_0x2ead29,null))[_0x3d08('0x21')](respondWithResult(_0x2ead29,null))[_0x3d08('0x46')](handleError(_0x2ead29,null));};exports['create']=function(_0x2e21e2,_0x454fb2){return db['Trigger'][_0x3d08('0x47')](_0x2e21e2[_0x3d08('0x48')],{})[_0x3d08('0x21')](function(_0x48d927){var _0x3d6bb8=_0x2e21e2[_0x3d08('0x49')]['get']({'plain':!![]});if(!_0x3d6bb8)throw new Error(_0x3d08('0x4a'));if(_0x3d6bb8['role']===_0x3d08('0x49')){var _0x4bb5e5=_0x48d927[_0x3d08('0x4b')]({'plain':!![]});var _0x2150a3=_0x3d08('0x22');return db['UserProfileSection'][_0x3d08('0x4c')]({'where':{'name':_0x2150a3,'userProfileId':_0x3d6bb8['userProfileId']},'raw':!![]})['then'](function(_0x2f69ce){if(_0x2f69ce&&_0x2f69ce[_0x3d08('0x4d')]===0x0){return db['UserProfileResource'][_0x3d08('0x47')]({'name':_0x4bb5e5[_0x3d08('0x26')],'resourceId':_0x4bb5e5['id'],'type':_0x2f69ce[_0x3d08('0x26')],'sectionId':_0x2f69ce['id']},{})[_0x3d08('0x21')](function(){return _0x48d927;});}else{return _0x48d927;}})['catch'](function(_0x4a35be){logger['error'](_0x3d08('0x4e'),_0x4a35be);throw _0x4a35be;});}return _0x48d927;})['then'](respondWithResult(_0x454fb2,0xc9))['catch'](handleError(_0x454fb2,null));};exports['update']=function(_0x180d9f,_0x466c66){if(_0x180d9f[_0x3d08('0x48')]['id']){delete _0x180d9f[_0x3d08('0x48')]['id'];}return db['Trigger'][_0x3d08('0x4c')]({'where':{'id':_0x180d9f[_0x3d08('0x45')]['id']}})['then'](handleEntityNotFound(_0x466c66,null))[_0x3d08('0x21')](saveUpdates(_0x180d9f[_0x3d08('0x48')],null))['then'](respondWithResult(_0x466c66,null))[_0x3d08('0x46')](handleError(_0x466c66,null));};exports[_0x3d08('0x20')]=function(_0x22d1a9,_0xefd09d){return db['Trigger'][_0x3d08('0x4c')]({'where':{'id':_0x22d1a9[_0x3d08('0x45')]['id']}})['then'](handleEntityNotFound(_0xefd09d,null))[_0x3d08('0x21')](removeEntity(_0xefd09d,null))[_0x3d08('0x46')](handleError(_0xefd09d,null));};exports[_0x3d08('0x4f')]=function(_0xa25e5a,_0x363989,_0x19bb88){if(_0xa25e5a[_0x3d08('0x48')]['id']){delete _0xa25e5a[_0x3d08('0x48')]['id'];}return db[_0x3d08('0x3f')]['find']({'where':{'id':_0xa25e5a[_0x3d08('0x45')]['id']}})['then'](handleEntityNotFound(_0x363989,null))[_0x3d08('0x21')](function(_0x458336){if(_0x458336){_0xa25e5a[_0x3d08('0x48')][_0x3d08('0x50')]=_0x458336['id'];return db['Condition']['create'](_0xa25e5a[_0x3d08('0x48')]);}})[_0x3d08('0x21')](respondWithResult(_0x363989,null))['catch'](handleError(_0x363989,null));};exports[_0x3d08('0x51')]=function(_0x140fb7,_0x35c102,_0x4bd3c8){if(_0x140fb7[_0x3d08('0x48')]['id']){delete _0x140fb7[_0x3d08('0x48')]['id'];}return db[_0x3d08('0x3f')][_0x3d08('0x4c')]({'where':{'id':_0x140fb7[_0x3d08('0x45')]['id']}})[_0x3d08('0x21')](handleEntityNotFound(_0x35c102,null))[_0x3d08('0x21')](function(_0x484e72){if(_0x484e72){_0x140fb7['body'][_0x3d08('0x52')]=_0x484e72['id'];return db[_0x3d08('0x53')][_0x3d08('0x47')](_0x140fb7[_0x3d08('0x48')]);}})[_0x3d08('0x21')](respondWithResult(_0x35c102,null))['catch'](handleError(_0x35c102,null));};exports[_0x3d08('0x54')]=function(_0x55196b,_0x378659,_0x126b60){var _0x495517={};var _0x4ea549={};var _0x255538;var _0x3ff8d9;return db[_0x3d08('0x3f')][_0x3d08('0x55')]({'where':{'id':_0x55196b[_0x3d08('0x45')]['id']}})[_0x3d08('0x21')](handleEntityNotFound(_0x378659,null))[_0x3d08('0x21')](function(_0x4df1ec){if(_0x4df1ec){_0x255538=_0x4df1ec;_0x4ea549[_0x3d08('0x2e')]=_['keys'](db[_0x3d08('0x53')][_0x3d08('0x2a')]);_0x4ea549[_0x3d08('0x2f')]=_[_0x3d08('0x30')](_0x55196b[_0x3d08('0x2f')]);_0x4ea549['filters']=_[_0x3d08('0x32')](_0x4ea549[_0x3d08('0x2e')],_0x4ea549['query']);_0x495517[_0x3d08('0x33')]=_[_0x3d08('0x32')](_0x4ea549[_0x3d08('0x2e')],qs['fields'](_0x55196b[_0x3d08('0x2f')][_0x3d08('0x34')]));_0x495517[_0x3d08('0x33')]=_0x495517['attributes'][_0x3d08('0x35')]?_0x495517['attributes']:_0x4ea549['model'];_0x495517[_0x3d08('0x38')]=qs[_0x3d08('0x39')](_0x55196b[_0x3d08('0x2f')][_0x3d08('0x39')]);_0x495517[_0x3d08('0x3a')]=qs['filters'](_['pick'](_0x55196b[_0x3d08('0x2f')],_0x4ea549[_0x3d08('0x31')]));if(_0x55196b[_0x3d08('0x2f')][_0x3d08('0x3b')]){_0x495517[_0x3d08('0x3a')]=_[_0x3d08('0x3c')](_0x495517[_0x3d08('0x3a')],{'$or':_[_0x3d08('0x29')](_0x495517[_0x3d08('0x33')],function(_0x4a0ced){var _0x1b7f75={};_0x1b7f75[_0x4a0ced]={'$like':'%'+_0x55196b['query'][_0x3d08('0x3b')]+'%'};return _0x1b7f75;})});}_0x495517=_[_0x3d08('0x3c')]({},_0x495517,_0x55196b['options']);return _0x255538[_0x3d08('0x54')](_0x495517);}})[_0x3d08('0x21')](function(_0x52f869){if(_0x52f869){_0x3ff8d9=_0x52f869[_0x3d08('0x35')];if(!_0x55196b[_0x3d08('0x2f')][_0x3d08('0x36')](_0x3d08('0x56'))){_0x495517['limit']=qs['limit'](_0x55196b['query'][_0x3d08('0x1b')]);_0x495517[_0x3d08('0x37')]=qs['offset'](_0x55196b[_0x3d08('0x2f')][_0x3d08('0x37')]);}return _0x255538[_0x3d08('0x54')](_0x495517);}})[_0x3d08('0x21')](function(_0x35bf44){if(_0x35bf44){return _0x35bf44?{'count':_0x3ff8d9,'rows':_0x35bf44}:null;}})[_0x3d08('0x21')](respondWithResult(_0x378659,null))['catch'](handleError(_0x378659,null));};exports[_0x3d08('0x57')]=function(_0x38f4a2,_0x574cfe,_0x3eea86){var _0x4e1533={};var _0x52186d={};var _0x5c49db;var _0x37dea2;return db[_0x3d08('0x3f')][_0x3d08('0x55')]({'where':{'id':_0x38f4a2[_0x3d08('0x45')]['id']}})[_0x3d08('0x21')](handleEntityNotFound(_0x574cfe,null))['then'](function(_0x15a3f3){if(_0x15a3f3){_0x5c49db=_0x15a3f3;_0x52186d[_0x3d08('0x2e')]=_[_0x3d08('0x30')](db[_0x3d08('0x53')]['rawAttributes']);_0x52186d[_0x3d08('0x2f')]=_['keys'](_0x38f4a2[_0x3d08('0x2f')]);_0x52186d[_0x3d08('0x31')]=_[_0x3d08('0x32')](_0x52186d[_0x3d08('0x2e')],_0x52186d[_0x3d08('0x2f')]);_0x4e1533[_0x3d08('0x33')]=_[_0x3d08('0x32')](_0x52186d[_0x3d08('0x2e')],qs[_0x3d08('0x34')](_0x38f4a2[_0x3d08('0x2f')]['fields']));_0x4e1533[_0x3d08('0x33')]=_0x4e1533[_0x3d08('0x33')]['length']?_0x4e1533[_0x3d08('0x33')]:_0x52186d['model'];_0x4e1533['order']=qs[_0x3d08('0x39')](_0x38f4a2[_0x3d08('0x2f')][_0x3d08('0x39')]);_0x4e1533[_0x3d08('0x3a')]=qs['filters'](_['pick'](_0x38f4a2['query'],_0x52186d[_0x3d08('0x31')]));if(_0x38f4a2[_0x3d08('0x2f')][_0x3d08('0x3b')]){_0x4e1533['where']=_[_0x3d08('0x3c')](_0x4e1533[_0x3d08('0x3a')],{'$or':_[_0x3d08('0x29')](_0x4e1533[_0x3d08('0x33')],function(_0x48cd45){var _0xc7ffd7={};_0xc7ffd7[_0x48cd45]={'$like':'%'+_0x38f4a2[_0x3d08('0x2f')][_0x3d08('0x3b')]+'%'};return _0xc7ffd7;})});}_0x4e1533=_[_0x3d08('0x3c')]({},_0x4e1533,_0x38f4a2[_0x3d08('0x3e')]);return _0x5c49db[_0x3d08('0x57')](_0x4e1533);}})[_0x3d08('0x21')](function(_0x5d6598){if(_0x5d6598){_0x37dea2=_0x5d6598[_0x3d08('0x35')];if(!_0x38f4a2['query']['hasOwnProperty'](_0x3d08('0x56'))){_0x4e1533[_0x3d08('0x1b')]=qs['limit'](_0x38f4a2[_0x3d08('0x2f')][_0x3d08('0x1b')]);_0x4e1533[_0x3d08('0x37')]=qs[_0x3d08('0x37')](_0x38f4a2[_0x3d08('0x2f')][_0x3d08('0x37')]);}return _0x5c49db[_0x3d08('0x57')](_0x4e1533);}})[_0x3d08('0x21')](function(_0x2c371c){if(_0x2c371c){return _0x2c371c?{'count':_0x37dea2,'rows':_0x2c371c}:null;}})[_0x3d08('0x21')](respondWithResult(_0x574cfe,null))[_0x3d08('0x46')](handleError(_0x574cfe,null));};exports['addAction']=function(_0x434749,_0x20a171,_0x441abd){if(_0x434749[_0x3d08('0x48')]['id']){delete _0x434749[_0x3d08('0x48')]['id'];}return db[_0x3d08('0x3f')]['find']({'where':{'id':_0x434749[_0x3d08('0x45')]['id']}})[_0x3d08('0x21')](handleEntityNotFound(_0x20a171,null))['then'](function(_0x40159b){if(_0x40159b){_0x434749[_0x3d08('0x48')]['TriggerId']=_0x40159b['id'];return db[_0x3d08('0x58')][_0x3d08('0x47')](_0x434749['body']);}})[_0x3d08('0x21')](respondWithResult(_0x20a171,null))[_0x3d08('0x46')](handleError(_0x20a171,null));};exports[_0x3d08('0x59')]=function(_0x33b5c9,_0x3ca474,_0x38f3c4){var _0x40edda={};var _0x31a9ce={};var _0x327253;var _0x45c6cd;return db[_0x3d08('0x3f')][_0x3d08('0x55')]({'where':{'id':_0x33b5c9[_0x3d08('0x45')]['id']}})['then'](handleEntityNotFound(_0x3ca474,null))[_0x3d08('0x21')](function(_0x4b22ef){if(_0x4b22ef){_0x327253=_0x4b22ef;_0x31a9ce[_0x3d08('0x2e')]=_[_0x3d08('0x30')](db['Action'][_0x3d08('0x2a')]);_0x31a9ce[_0x3d08('0x2f')]=_[_0x3d08('0x30')](_0x33b5c9[_0x3d08('0x2f')]);_0x31a9ce[_0x3d08('0x31')]=_[_0x3d08('0x32')](_0x31a9ce['model'],_0x31a9ce[_0x3d08('0x2f')]);_0x40edda[_0x3d08('0x33')]=_['intersection'](_0x31a9ce[_0x3d08('0x2e')],qs[_0x3d08('0x34')](_0x33b5c9[_0x3d08('0x2f')][_0x3d08('0x34')]));_0x40edda['attributes']=_0x40edda[_0x3d08('0x33')][_0x3d08('0x35')]?_0x40edda[_0x3d08('0x33')]:_0x31a9ce[_0x3d08('0x2e')];_0x40edda['order']=qs['sort'](_0x33b5c9[_0x3d08('0x2f')][_0x3d08('0x39')]);_0x40edda[_0x3d08('0x3a')]=qs[_0x3d08('0x31')](_[_0x3d08('0x5a')](_0x33b5c9[_0x3d08('0x2f')],_0x31a9ce['filters']));if(_0x33b5c9[_0x3d08('0x2f')][_0x3d08('0x3b')]){_0x40edda[_0x3d08('0x3a')]=_[_0x3d08('0x3c')](_0x40edda['where'],{'$or':_['map'](_0x40edda['attributes'],function(_0x45a7a3){var _0x36f544={};_0x36f544[_0x45a7a3]={'$like':'%'+_0x33b5c9[_0x3d08('0x2f')]['filter']+'%'};return _0x36f544;})});}_0x40edda=_[_0x3d08('0x3c')]({},_0x40edda,_0x33b5c9[_0x3d08('0x3e')]);return _0x327253[_0x3d08('0x59')](_0x40edda);}})[_0x3d08('0x21')](function(_0xf30dcb){if(_0xf30dcb){_0x45c6cd=_0xf30dcb['length'];if(!_0x33b5c9[_0x3d08('0x2f')]['hasOwnProperty']('nolimit')){_0x40edda['limit']=qs['limit'](_0x33b5c9[_0x3d08('0x2f')][_0x3d08('0x1b')]);_0x40edda['offset']=qs[_0x3d08('0x37')](_0x33b5c9[_0x3d08('0x2f')][_0x3d08('0x37')]);}return _0x327253[_0x3d08('0x59')](_0x40edda);}})[_0x3d08('0x21')](function(_0x2500d9){if(_0x2500d9){return _0x2500d9?{'count':_0x45c6cd,'rows':_0x2500d9}:null;}})[_0x3d08('0x21')](respondWithResult(_0x3ca474,null))[_0x3d08('0x46')](handleError(_0x3ca474,null));};