de86c35b805505311609cec28ce3bfa513cff2b6
[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 _0xb04e=['get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','UserProfileResource','body','TriggerAllId','Condition','addAnyCondition','TriggerAnyId','getAllConditions','findOne','getAnyConditions','addAction','TriggerId','Action','getActions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','update','then','destroy','error','stack','name','send','map','Trigger','rawAttributes','key','model','query','keys','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','intersection','find','create','user'];(function(_0x9f6556,_0x28414f){var _0x5ee21e=function(_0x337b35){while(--_0x337b35){_0x9f6556['push'](_0x9f6556['shift']());}};_0x5ee21e(++_0x28414f);}(_0xb04e,0x185));var _0xeb04=function(_0x18329c,_0x5804b7){_0x18329c=_0x18329c-0x0;var _0x19cbc5=_0xb04e[_0x18329c];return _0x19cbc5;};'use strict';var emlformat=require(_0xeb04('0x0'));var rimraf=require(_0xeb04('0x1'));var zipdir=require(_0xeb04('0x2'));var jsonpatch=require(_0xeb04('0x3'));var rp=require(_0xeb04('0x4'));var moment=require(_0xeb04('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xeb04('0x6'));var util=require(_0xeb04('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xeb04('0x8'));var ejs=require(_0xeb04('0x9'));var fs=require('fs');var fs_extra=require(_0xeb04('0xa'));var _=require(_0xeb04('0xb'));var squel=require(_0xeb04('0xc'));var crypto=require(_0xeb04('0xd'));var jsforce=require(_0xeb04('0xe'));var deskjs=require(_0xeb04('0xf'));var toCsv=require('to-csv');var querystring=require(_0xeb04('0x10'));var Papa=require(_0xeb04('0x11'));var Redis=require(_0xeb04('0x12'));var authService=require(_0xeb04('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xeb04('0x14'));var hardwareService=require(_0xeb04('0x15'));var logger=require(_0xeb04('0x16'))(_0xeb04('0x17'));var utils=require(_0xeb04('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0xeb04('0x19'));var db=require(_0xeb04('0x1a'))['db'];function respondWithStatusCode(_0x413d39,_0x45512a){_0x45512a=_0x45512a||0xcc;return function(_0x1affae){if(_0x1affae){return _0x413d39['sendStatus'](_0x45512a);}return _0x413d39[_0xeb04('0x1b')](_0x45512a)[_0xeb04('0x1c')]();};}function respondWithResult(_0x8aaa97,_0xfcf7ed){_0xfcf7ed=_0xfcf7ed||0xc8;return function(_0x43c44d){if(_0x43c44d){return _0x8aaa97[_0xeb04('0x1b')](_0xfcf7ed)[_0xeb04('0x1d')](_0x43c44d);}};}function respondWithFilteredResult(_0xa5ab17,_0x1ce32f){return function(_0x3c6960){if(_0x3c6960){var _0xb1e9cf=typeof _0x1ce32f[_0xeb04('0x1e')]===_0xeb04('0x1f')&&typeof _0x1ce32f[_0xeb04('0x20')]===_0xeb04('0x1f');var _0x472da9=_0x3c6960[_0xeb04('0x21')];var _0x442555=_0xb1e9cf?0x0:_0x1ce32f[_0xeb04('0x1e')];var _0x2f80a1=_0xb1e9cf?_0x3c6960['count']:_0x1ce32f[_0xeb04('0x1e')]+_0x1ce32f[_0xeb04('0x20')];var _0x25bec9;if(_0x2f80a1>=_0x472da9){_0x2f80a1=_0x472da9;_0x25bec9=0xc8;}else{_0x25bec9=0xce;}_0xa5ab17[_0xeb04('0x1b')](_0x25bec9);return _0xa5ab17['set'](_0xeb04('0x22'),_0x442555+'-'+_0x2f80a1+'/'+_0x472da9)[_0xeb04('0x1d')](_0x3c6960);}return null;};}function patchUpdates(_0x2925b9){return function(_0x30ba1b){try{jsonpatch[_0xeb04('0x23')](_0x30ba1b,_0x2925b9,!![]);}catch(_0xae52bc){return BPromise[_0xeb04('0x24')](_0xae52bc);}return _0x30ba1b['save']();};}function saveUpdates(_0x4b1cf8,_0x1d3376){return function(_0x21aec0){if(_0x21aec0){return _0x21aec0[_0xeb04('0x25')](_0x4b1cf8)[_0xeb04('0x26')](function(_0x413032){return _0x413032;});}return null;};}function removeEntity(_0x3567e4,_0x4dc02b){return function(_0x38e92e){if(_0x38e92e){return _0x38e92e[_0xeb04('0x27')]()[_0xeb04('0x26')](function(){var _0x4cea31=_0x38e92e['get']({'plain':!![]});var _0x231488='Triggers';return db['UserProfileResource']['destroy']({'where':{'type':_0x231488,'resourceId':_0x4cea31['id']}})['then'](function(){return _0x38e92e;});})[_0xeb04('0x26')](function(){_0x3567e4[_0xeb04('0x1b')](0xcc)[_0xeb04('0x1c')]();});}};}function handleEntityNotFound(_0x5370a4,_0x395052){return function(_0x2d9061){if(!_0x2d9061){_0x5370a4['sendStatus'](0x194);}return _0x2d9061;};}function handleError(_0x1a6418,_0x358578){_0x358578=_0x358578||0x1f4;return function(_0x5c0756){logger[_0xeb04('0x28')](_0x5c0756[_0xeb04('0x29')]);if(_0x5c0756[_0xeb04('0x2a')]){delete _0x5c0756[_0xeb04('0x2a')];}_0x1a6418[_0xeb04('0x1b')](_0x358578)[_0xeb04('0x2b')](_0x5c0756);};}exports['index']=function(_0x15d7e5,_0x5859c2){var _0x1fe452={},_0x2dae2c={},_0x405199={'count':0x0,'rows':[]};var _0x324585=_[_0xeb04('0x2c')](db[_0xeb04('0x2d')][_0xeb04('0x2e')],function(_0x253cbb){return{'name':_0x253cbb['fieldName'],'type':_0x253cbb['type'][_0xeb04('0x2f')]};});_0x2dae2c[_0xeb04('0x30')]=_[_0xeb04('0x2c')](_0x324585,_0xeb04('0x2a'));_0x2dae2c[_0xeb04('0x31')]=_[_0xeb04('0x32')](_0x15d7e5[_0xeb04('0x31')]);_0x2dae2c['filters']=_['intersection'](_0x2dae2c['model'],_0x2dae2c[_0xeb04('0x31')]);_0x1fe452[_0xeb04('0x33')]=_['intersection'](_0x2dae2c[_0xeb04('0x30')],qs[_0xeb04('0x34')](_0x15d7e5[_0xeb04('0x31')]['fields']));_0x1fe452[_0xeb04('0x33')]=_0x1fe452['attributes'][_0xeb04('0x35')]?_0x1fe452['attributes']:_0x2dae2c['model'];if(!_0x15d7e5[_0xeb04('0x31')][_0xeb04('0x36')](_0xeb04('0x37'))){_0x1fe452[_0xeb04('0x20')]=qs[_0xeb04('0x20')](_0x15d7e5[_0xeb04('0x31')][_0xeb04('0x20')]);_0x1fe452[_0xeb04('0x1e')]=qs['offset'](_0x15d7e5[_0xeb04('0x31')]['offset']);}_0x1fe452[_0xeb04('0x38')]=qs[_0xeb04('0x39')](_0x15d7e5[_0xeb04('0x31')][_0xeb04('0x39')]);_0x1fe452[_0xeb04('0x3a')]=qs['filters'](_[_0xeb04('0x3b')](_0x15d7e5[_0xeb04('0x31')],_0x2dae2c[_0xeb04('0x3c')]),_0x324585);if(_0x15d7e5[_0xeb04('0x31')][_0xeb04('0x3d')]){_0x1fe452['where']=_[_0xeb04('0x3e')](_0x1fe452['where'],{'$or':_[_0xeb04('0x2c')](_0x324585,function(_0x41c362){if(_0x41c362['type']!==_0xeb04('0x3f')){var _0x36a0a5={};_0x36a0a5[_0x41c362['name']]={'$like':'%'+_0x15d7e5[_0xeb04('0x31')][_0xeb04('0x3d')]+'%'};return _0x36a0a5;}})});}_0x1fe452=_[_0xeb04('0x3e')]({},_0x1fe452,_0x15d7e5[_0xeb04('0x40')]);var _0x532a22={'where':_0x1fe452[_0xeb04('0x3a')]};return db[_0xeb04('0x2d')][_0xeb04('0x21')](_0x532a22)[_0xeb04('0x26')](function(_0x5009d6){_0x405199[_0xeb04('0x21')]=_0x5009d6;if(_0x15d7e5[_0xeb04('0x31')][_0xeb04('0x41')]){_0x1fe452[_0xeb04('0x42')]=[{'all':!![]}];}return db[_0xeb04('0x2d')][_0xeb04('0x43')](_0x1fe452);})['then'](function(_0x163f4b){_0x405199[_0xeb04('0x44')]=_0x163f4b;return _0x405199;})[_0xeb04('0x26')](respondWithFilteredResult(_0x5859c2,_0x1fe452))[_0xeb04('0x45')](handleError(_0x5859c2,null));};exports[_0xeb04('0x46')]=function(_0x46a67e,_0x1e5870){var _0x4210f4={'raw':![],'where':{'id':_0x46a67e[_0xeb04('0x47')]['id']}},_0x1fe994={};_0x1fe994[_0xeb04('0x30')]=_[_0xeb04('0x32')](db[_0xeb04('0x2d')]['rawAttributes']);_0x1fe994['query']=_[_0xeb04('0x32')](_0x46a67e[_0xeb04('0x31')]);_0x1fe994[_0xeb04('0x3c')]=_[_0xeb04('0x48')](_0x1fe994[_0xeb04('0x30')],_0x1fe994['query']);_0x4210f4[_0xeb04('0x33')]=_['intersection'](_0x1fe994[_0xeb04('0x30')],qs['fields'](_0x46a67e[_0xeb04('0x31')][_0xeb04('0x34')]));_0x4210f4['attributes']=_0x4210f4[_0xeb04('0x33')]['length']?_0x4210f4[_0xeb04('0x33')]:_0x1fe994[_0xeb04('0x30')];if(_0x46a67e['query'][_0xeb04('0x41')]){_0x4210f4[_0xeb04('0x42')]=[{'all':!![]}];}_0x4210f4=_[_0xeb04('0x3e')]({},_0x4210f4,_0x46a67e['options']);return db['Trigger'][_0xeb04('0x49')](_0x4210f4)[_0xeb04('0x26')](handleEntityNotFound(_0x1e5870,null))[_0xeb04('0x26')](respondWithResult(_0x1e5870,null))['catch'](handleError(_0x1e5870,null));};exports['create']=function(_0x1e7a9b,_0x46ec82){return db['Trigger'][_0xeb04('0x4a')](_0x1e7a9b['body'],{})[_0xeb04('0x26')](function(_0x421edc){var _0x2aa7ca=_0x1e7a9b[_0xeb04('0x4b')][_0xeb04('0x4c')]({'plain':!![]});if(!_0x2aa7ca)throw new Error(_0xeb04('0x4d'));if(_0x2aa7ca[_0xeb04('0x4e')]===_0xeb04('0x4b')){var _0x590464=_0x421edc[_0xeb04('0x4c')]({'plain':!![]});var _0x260692='Triggers';return db[_0xeb04('0x4f')]['find']({'where':{'name':_0x260692,'userProfileId':_0x2aa7ca['userProfileId']},'raw':!![]})[_0xeb04('0x26')](function(_0x51ddea){if(_0x51ddea&&_0x51ddea['autoAssociation']===0x0){return db[_0xeb04('0x50')]['create']({'name':_0x590464[_0xeb04('0x2a')],'resourceId':_0x590464['id'],'type':_0x51ddea[_0xeb04('0x2a')],'sectionId':_0x51ddea['id']},{})[_0xeb04('0x26')](function(){return _0x421edc;});}else{return _0x421edc;}})[_0xeb04('0x45')](function(_0x51e1d6){logger[_0xeb04('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x51e1d6);throw _0x51e1d6;});}return _0x421edc;})[_0xeb04('0x26')](respondWithResult(_0x46ec82,0xc9))[_0xeb04('0x45')](handleError(_0x46ec82,null));};exports[_0xeb04('0x25')]=function(_0x37bcf2,_0x49a0aa){if(_0x37bcf2['body']['id']){delete _0x37bcf2[_0xeb04('0x51')]['id'];}return db[_0xeb04('0x2d')]['find']({'where':{'id':_0x37bcf2['params']['id']}})['then'](handleEntityNotFound(_0x49a0aa,null))[_0xeb04('0x26')](saveUpdates(_0x37bcf2['body'],null))['then'](respondWithResult(_0x49a0aa,null))[_0xeb04('0x45')](handleError(_0x49a0aa,null));};exports[_0xeb04('0x27')]=function(_0x15fe25,_0x271339){return db[_0xeb04('0x2d')][_0xeb04('0x49')]({'where':{'id':_0x15fe25[_0xeb04('0x47')]['id']}})[_0xeb04('0x26')](handleEntityNotFound(_0x271339,null))[_0xeb04('0x26')](removeEntity(_0x271339,null))[_0xeb04('0x45')](handleError(_0x271339,null));};exports['addAllCondition']=function(_0x4b9171,_0x4a075a,_0x34e070){if(_0x4b9171[_0xeb04('0x51')]['id']){delete _0x4b9171[_0xeb04('0x51')]['id'];}return db[_0xeb04('0x2d')][_0xeb04('0x49')]({'where':{'id':_0x4b9171['params']['id']}})['then'](handleEntityNotFound(_0x4a075a,null))['then'](function(_0x323ef8){if(_0x323ef8){_0x4b9171[_0xeb04('0x51')][_0xeb04('0x52')]=_0x323ef8['id'];return db[_0xeb04('0x53')]['create'](_0x4b9171[_0xeb04('0x51')]);}})['then'](respondWithResult(_0x4a075a,null))['catch'](handleError(_0x4a075a,null));};exports[_0xeb04('0x54')]=function(_0x169062,_0x323c93,_0x117cfc){if(_0x169062['body']['id']){delete _0x169062[_0xeb04('0x51')]['id'];}return db[_0xeb04('0x2d')][_0xeb04('0x49')]({'where':{'id':_0x169062[_0xeb04('0x47')]['id']}})[_0xeb04('0x26')](handleEntityNotFound(_0x323c93,null))[_0xeb04('0x26')](function(_0x152b3f){if(_0x152b3f){_0x169062[_0xeb04('0x51')][_0xeb04('0x55')]=_0x152b3f['id'];return db[_0xeb04('0x53')][_0xeb04('0x4a')](_0x169062[_0xeb04('0x51')]);}})[_0xeb04('0x26')](respondWithResult(_0x323c93,null))[_0xeb04('0x45')](handleError(_0x323c93,null));};exports[_0xeb04('0x56')]=function(_0x146a10,_0x2dadf6,_0x2b1b2b){var _0x49c3f3={};var _0x57ca1f={};var _0x2b558e;var _0x2eb9fa;return db[_0xeb04('0x2d')][_0xeb04('0x57')]({'where':{'id':_0x146a10[_0xeb04('0x47')]['id']}})[_0xeb04('0x26')](handleEntityNotFound(_0x2dadf6,null))[_0xeb04('0x26')](function(_0x3039b1){if(_0x3039b1){_0x2b558e=_0x3039b1;_0x57ca1f[_0xeb04('0x30')]=_['keys'](db['Condition'][_0xeb04('0x2e')]);_0x57ca1f[_0xeb04('0x31')]=_['keys'](_0x146a10['query']);_0x57ca1f['filters']=_[_0xeb04('0x48')](_0x57ca1f['model'],_0x57ca1f[_0xeb04('0x31')]);_0x49c3f3['attributes']=_['intersection'](_0x57ca1f[_0xeb04('0x30')],qs[_0xeb04('0x34')](_0x146a10[_0xeb04('0x31')][_0xeb04('0x34')]));_0x49c3f3['attributes']=_0x49c3f3['attributes'][_0xeb04('0x35')]?_0x49c3f3[_0xeb04('0x33')]:_0x57ca1f[_0xeb04('0x30')];_0x49c3f3['order']=qs[_0xeb04('0x39')](_0x146a10[_0xeb04('0x31')][_0xeb04('0x39')]);_0x49c3f3[_0xeb04('0x3a')]=qs[_0xeb04('0x3c')](_['pick'](_0x146a10[_0xeb04('0x31')],_0x57ca1f[_0xeb04('0x3c')]));if(_0x146a10[_0xeb04('0x31')][_0xeb04('0x3d')]){_0x49c3f3[_0xeb04('0x3a')]=_[_0xeb04('0x3e')](_0x49c3f3[_0xeb04('0x3a')],{'$or':_['map'](_0x49c3f3[_0xeb04('0x33')],function(_0x5b79ad){var _0x21c60b={};_0x21c60b[_0x5b79ad]={'$like':'%'+_0x146a10[_0xeb04('0x31')]['filter']+'%'};return _0x21c60b;})});}_0x49c3f3=_['merge']({},_0x49c3f3,_0x146a10[_0xeb04('0x40')]);return _0x2b558e[_0xeb04('0x56')](_0x49c3f3);}})[_0xeb04('0x26')](function(_0x7925b){if(_0x7925b){_0x2eb9fa=_0x7925b[_0xeb04('0x35')];if(!_0x146a10[_0xeb04('0x31')]['hasOwnProperty'](_0xeb04('0x37'))){_0x49c3f3[_0xeb04('0x20')]=qs[_0xeb04('0x20')](_0x146a10['query']['limit']);_0x49c3f3[_0xeb04('0x1e')]=qs[_0xeb04('0x1e')](_0x146a10[_0xeb04('0x31')][_0xeb04('0x1e')]);}return _0x2b558e[_0xeb04('0x56')](_0x49c3f3);}})[_0xeb04('0x26')](function(_0x126965){if(_0x126965){return _0x126965?{'count':_0x2eb9fa,'rows':_0x126965}:null;}})[_0xeb04('0x26')](respondWithResult(_0x2dadf6,null))[_0xeb04('0x45')](handleError(_0x2dadf6,null));};exports[_0xeb04('0x58')]=function(_0x5c7875,_0x1623ea,_0x3eb531){var _0x1754ae={};var _0x3cd737={};var _0x12ba9b;var _0x49d34b;return db[_0xeb04('0x2d')][_0xeb04('0x57')]({'where':{'id':_0x5c7875[_0xeb04('0x47')]['id']}})[_0xeb04('0x26')](handleEntityNotFound(_0x1623ea,null))[_0xeb04('0x26')](function(_0x1f3065){if(_0x1f3065){_0x12ba9b=_0x1f3065;_0x3cd737[_0xeb04('0x30')]=_[_0xeb04('0x32')](db[_0xeb04('0x53')][_0xeb04('0x2e')]);_0x3cd737[_0xeb04('0x31')]=_[_0xeb04('0x32')](_0x5c7875[_0xeb04('0x31')]);_0x3cd737['filters']=_['intersection'](_0x3cd737[_0xeb04('0x30')],_0x3cd737[_0xeb04('0x31')]);_0x1754ae[_0xeb04('0x33')]=_[_0xeb04('0x48')](_0x3cd737[_0xeb04('0x30')],qs['fields'](_0x5c7875['query'][_0xeb04('0x34')]));_0x1754ae['attributes']=_0x1754ae[_0xeb04('0x33')][_0xeb04('0x35')]?_0x1754ae[_0xeb04('0x33')]:_0x3cd737['model'];_0x1754ae[_0xeb04('0x38')]=qs[_0xeb04('0x39')](_0x5c7875[_0xeb04('0x31')]['sort']);_0x1754ae['where']=qs['filters'](_[_0xeb04('0x3b')](_0x5c7875['query'],_0x3cd737[_0xeb04('0x3c')]));if(_0x5c7875[_0xeb04('0x31')][_0xeb04('0x3d')]){_0x1754ae[_0xeb04('0x3a')]=_[_0xeb04('0x3e')](_0x1754ae[_0xeb04('0x3a')],{'$or':_[_0xeb04('0x2c')](_0x1754ae[_0xeb04('0x33')],function(_0x144b43){var _0x25d7e4={};_0x25d7e4[_0x144b43]={'$like':'%'+_0x5c7875['query'][_0xeb04('0x3d')]+'%'};return _0x25d7e4;})});}_0x1754ae=_[_0xeb04('0x3e')]({},_0x1754ae,_0x5c7875[_0xeb04('0x40')]);return _0x12ba9b[_0xeb04('0x58')](_0x1754ae);}})[_0xeb04('0x26')](function(_0x459b86){if(_0x459b86){_0x49d34b=_0x459b86[_0xeb04('0x35')];if(!_0x5c7875[_0xeb04('0x31')][_0xeb04('0x36')](_0xeb04('0x37'))){_0x1754ae[_0xeb04('0x20')]=qs['limit'](_0x5c7875['query'][_0xeb04('0x20')]);_0x1754ae[_0xeb04('0x1e')]=qs[_0xeb04('0x1e')](_0x5c7875[_0xeb04('0x31')][_0xeb04('0x1e')]);}return _0x12ba9b[_0xeb04('0x58')](_0x1754ae);}})[_0xeb04('0x26')](function(_0x1387de){if(_0x1387de){return _0x1387de?{'count':_0x49d34b,'rows':_0x1387de}:null;}})[_0xeb04('0x26')](respondWithResult(_0x1623ea,null))['catch'](handleError(_0x1623ea,null));};exports[_0xeb04('0x59')]=function(_0x3d6ffb,_0x1f4587,_0x27caa3){if(_0x3d6ffb['body']['id']){delete _0x3d6ffb[_0xeb04('0x51')]['id'];}return db[_0xeb04('0x2d')][_0xeb04('0x49')]({'where':{'id':_0x3d6ffb[_0xeb04('0x47')]['id']}})['then'](handleEntityNotFound(_0x1f4587,null))['then'](function(_0x5e4d4b){if(_0x5e4d4b){_0x3d6ffb['body'][_0xeb04('0x5a')]=_0x5e4d4b['id'];return db[_0xeb04('0x5b')][_0xeb04('0x4a')](_0x3d6ffb[_0xeb04('0x51')]);}})[_0xeb04('0x26')](respondWithResult(_0x1f4587,null))[_0xeb04('0x45')](handleError(_0x1f4587,null));};exports['getActions']=function(_0x894ba9,_0xa27e79,_0xb12294){var _0x27b44f={};var _0x1aa65b={};var _0x3601b3;var _0x43d482;return db[_0xeb04('0x2d')][_0xeb04('0x57')]({'where':{'id':_0x894ba9[_0xeb04('0x47')]['id']}})[_0xeb04('0x26')](handleEntityNotFound(_0xa27e79,null))['then'](function(_0x3f2c14){if(_0x3f2c14){_0x3601b3=_0x3f2c14;_0x1aa65b[_0xeb04('0x30')]=_[_0xeb04('0x32')](db[_0xeb04('0x5b')][_0xeb04('0x2e')]);_0x1aa65b[_0xeb04('0x31')]=_[_0xeb04('0x32')](_0x894ba9[_0xeb04('0x31')]);_0x1aa65b['filters']=_[_0xeb04('0x48')](_0x1aa65b['model'],_0x1aa65b[_0xeb04('0x31')]);_0x27b44f[_0xeb04('0x33')]=_['intersection'](_0x1aa65b[_0xeb04('0x30')],qs[_0xeb04('0x34')](_0x894ba9[_0xeb04('0x31')][_0xeb04('0x34')]));_0x27b44f[_0xeb04('0x33')]=_0x27b44f[_0xeb04('0x33')][_0xeb04('0x35')]?_0x27b44f[_0xeb04('0x33')]:_0x1aa65b[_0xeb04('0x30')];_0x27b44f['order']=qs[_0xeb04('0x39')](_0x894ba9['query']['sort']);_0x27b44f['where']=qs['filters'](_[_0xeb04('0x3b')](_0x894ba9[_0xeb04('0x31')],_0x1aa65b[_0xeb04('0x3c')]));if(_0x894ba9['query'][_0xeb04('0x3d')]){_0x27b44f['where']=_[_0xeb04('0x3e')](_0x27b44f[_0xeb04('0x3a')],{'$or':_[_0xeb04('0x2c')](_0x27b44f[_0xeb04('0x33')],function(_0x49ce0e){var _0x402e49={};_0x402e49[_0x49ce0e]={'$like':'%'+_0x894ba9['query'][_0xeb04('0x3d')]+'%'};return _0x402e49;})});}_0x27b44f=_[_0xeb04('0x3e')]({},_0x27b44f,_0x894ba9[_0xeb04('0x40')]);return _0x3601b3[_0xeb04('0x5c')](_0x27b44f);}})['then'](function(_0x38f8f2){if(_0x38f8f2){_0x43d482=_0x38f8f2[_0xeb04('0x35')];if(!_0x894ba9[_0xeb04('0x31')][_0xeb04('0x36')](_0xeb04('0x37'))){_0x27b44f[_0xeb04('0x20')]=qs['limit'](_0x894ba9[_0xeb04('0x31')][_0xeb04('0x20')]);_0x27b44f[_0xeb04('0x1e')]=qs['offset'](_0x894ba9['query']['offset']);}return _0x3601b3[_0xeb04('0x5c')](_0x27b44f);}})[_0xeb04('0x26')](function(_0x407b0b){if(_0x407b0b){return _0x407b0b?{'count':_0x43d482,'rows':_0x407b0b}:null;}})[_0xeb04('0x26')](respondWithResult(_0xa27e79,null))['catch'](handleError(_0xa27e79,null));};