e09229cb29d6494dca64b26126b4aefdc479afb6
[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 _0x2dfb=['name','Trigger','rawAttributes','fieldName','type','key','model','map','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','catch','show','params','include','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','addAnyCondition','TriggerAnyId','getAllConditions','findOne','Condition','getAnyConditions','addAction','TriggerId','Action','getActions','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','ejs','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','get','Triggers','UserProfileResource','end','sendStatus','error'];(function(_0x1ffb10,_0x28ce2c){var _0x390ad0=function(_0x1d1c1c){while(--_0x1d1c1c){_0x1ffb10['push'](_0x1ffb10['shift']());}};_0x390ad0(++_0x28ce2c);}(_0x2dfb,0x146));var _0xb2df=function(_0x1f3991,_0x25e51b){_0x1f3991=_0x1f3991-0x0;var _0x19838f=_0x2dfb[_0x1f3991];return _0x19838f;};'use strict';var emlformat=require(_0xb2df('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb2df('0x1'));var jsonpatch=require(_0xb2df('0x2'));var rp=require(_0xb2df('0x3'));var moment=require(_0xb2df('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xb2df('0x5'));var util=require('util');var path=require(_0xb2df('0x6'));var sox=require(_0xb2df('0x7'));var csv=require('to-csv');var ejs=require(_0xb2df('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xb2df('0x9'));var crypto=require(_0xb2df('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xb2df('0xb'));var toCsv=require(_0xb2df('0xc'));var querystring=require(_0xb2df('0xd'));var Papa=require(_0xb2df('0xe'));var Redis=require(_0xb2df('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xb2df('0x10'));var hardwareService=require(_0xb2df('0x11'));var logger=require(_0xb2df('0x12'))(_0xb2df('0x13'));var utils=require(_0xb2df('0x14'));var config=require(_0xb2df('0x15'));var licenseUtil=require(_0xb2df('0x16'));var db=require(_0xb2df('0x17'))['db'];function respondWithStatusCode(_0x48d64f,_0x12ec57){_0x12ec57=_0x12ec57||0xcc;return function(_0x507c8b){if(_0x507c8b){return _0x48d64f['sendStatus'](_0x12ec57);}return _0x48d64f['status'](_0x12ec57)['end']();};}function respondWithResult(_0x4bb16c,_0x225f60){_0x225f60=_0x225f60||0xc8;return function(_0xf2cdd5){if(_0xf2cdd5){return _0x4bb16c[_0xb2df('0x18')](_0x225f60)['json'](_0xf2cdd5);}};}function respondWithFilteredResult(_0x1a6e79,_0x3224ee){return function(_0x3d3b48){if(_0x3d3b48){var _0x536904=typeof _0x3224ee[_0xb2df('0x19')]===_0xb2df('0x1a')&&typeof _0x3224ee[_0xb2df('0x1b')]===_0xb2df('0x1a');var _0x119d7d=_0x3d3b48[_0xb2df('0x1c')];var _0x52a25f=_0x536904?0x0:_0x3224ee[_0xb2df('0x19')];var _0x39eab1=_0x536904?_0x3d3b48[_0xb2df('0x1c')]:_0x3224ee[_0xb2df('0x19')]+_0x3224ee[_0xb2df('0x1b')];var _0x5748bf;if(_0x39eab1>=_0x119d7d){_0x39eab1=_0x119d7d;_0x5748bf=0xc8;}else{_0x5748bf=0xce;}_0x1a6e79[_0xb2df('0x18')](_0x5748bf);return _0x1a6e79['set'](_0xb2df('0x1d'),_0x52a25f+'-'+_0x39eab1+'/'+_0x119d7d)['json'](_0x3d3b48);}return null;};}function patchUpdates(_0x49bf38){return function(_0x13bd38){try{jsonpatch[_0xb2df('0x1e')](_0x13bd38,_0x49bf38,!![]);}catch(_0x770a29){return BPromise[_0xb2df('0x1f')](_0x770a29);}return _0x13bd38[_0xb2df('0x20')]();};}function saveUpdates(_0x246acc,_0x4ee132){return function(_0x5a3c0a){if(_0x5a3c0a){return _0x5a3c0a[_0xb2df('0x21')](_0x246acc)[_0xb2df('0x22')](function(_0x17ff59){return _0x17ff59;});}return null;};}function removeEntity(_0x42c2d5,_0x2583c0){return function(_0x4cd943){if(_0x4cd943){return _0x4cd943[_0xb2df('0x23')]()[_0xb2df('0x22')](function(){var _0xa177d1=_0x4cd943[_0xb2df('0x24')]({'plain':!![]});var _0x139383=_0xb2df('0x25');return db[_0xb2df('0x26')]['destroy']({'where':{'type':_0x139383,'resourceId':_0xa177d1['id']}})[_0xb2df('0x22')](function(){return _0x4cd943;});})[_0xb2df('0x22')](function(){_0x42c2d5['status'](0xcc)[_0xb2df('0x27')]();});}};}function handleEntityNotFound(_0x1f82c4,_0x28ec04){return function(_0x2e22a2){if(!_0x2e22a2){_0x1f82c4[_0xb2df('0x28')](0x194);}return _0x2e22a2;};}function handleError(_0x5e43ba,_0x4d6bc1){_0x4d6bc1=_0x4d6bc1||0x1f4;return function(_0xe1ba5f){logger[_0xb2df('0x29')](_0xe1ba5f['stack']);if(_0xe1ba5f[_0xb2df('0x2a')]){delete _0xe1ba5f['name'];}_0x5e43ba[_0xb2df('0x18')](_0x4d6bc1)['send'](_0xe1ba5f);};}exports['index']=function(_0x15541b,_0x154abf){var _0x3cc587={},_0x5a1bbe={},_0x2948b4={'count':0x0,'rows':[]};var _0x3e7d5e=_['map'](db[_0xb2df('0x2b')][_0xb2df('0x2c')],function(_0x3f03ab){return{'name':_0x3f03ab[_0xb2df('0x2d')],'type':_0x3f03ab[_0xb2df('0x2e')][_0xb2df('0x2f')]};});_0x5a1bbe[_0xb2df('0x30')]=_[_0xb2df('0x31')](_0x3e7d5e,_0xb2df('0x2a'));_0x5a1bbe['query']=_[_0xb2df('0x32')](_0x15541b[_0xb2df('0x33')]);_0x5a1bbe[_0xb2df('0x34')]=_[_0xb2df('0x35')](_0x5a1bbe[_0xb2df('0x30')],_0x5a1bbe[_0xb2df('0x33')]);_0x3cc587['attributes']=_['intersection'](_0x5a1bbe['model'],qs['fields'](_0x15541b[_0xb2df('0x33')][_0xb2df('0x36')]));_0x3cc587[_0xb2df('0x37')]=_0x3cc587[_0xb2df('0x37')][_0xb2df('0x38')]?_0x3cc587[_0xb2df('0x37')]:_0x5a1bbe[_0xb2df('0x30')];if(!_0x15541b[_0xb2df('0x33')][_0xb2df('0x39')](_0xb2df('0x3a'))){_0x3cc587[_0xb2df('0x1b')]=qs[_0xb2df('0x1b')](_0x15541b[_0xb2df('0x33')][_0xb2df('0x1b')]);_0x3cc587['offset']=qs[_0xb2df('0x19')](_0x15541b[_0xb2df('0x33')]['offset']);}_0x3cc587[_0xb2df('0x3b')]=qs[_0xb2df('0x3c')](_0x15541b[_0xb2df('0x33')][_0xb2df('0x3c')]);_0x3cc587[_0xb2df('0x3d')]=qs['filters'](_[_0xb2df('0x3e')](_0x15541b[_0xb2df('0x33')],_0x5a1bbe[_0xb2df('0x34')]),_0x3e7d5e);if(_0x15541b[_0xb2df('0x33')][_0xb2df('0x3f')]){_0x3cc587[_0xb2df('0x3d')]=_[_0xb2df('0x40')](_0x3cc587[_0xb2df('0x3d')],{'$or':_[_0xb2df('0x31')](_0x3e7d5e,function(_0x26e032){if(_0x26e032[_0xb2df('0x2e')]!==_0xb2df('0x41')){var _0x5a86fe={};_0x5a86fe[_0x26e032[_0xb2df('0x2a')]]={'$like':'%'+_0x15541b[_0xb2df('0x33')][_0xb2df('0x3f')]+'%'};return _0x5a86fe;}})});}_0x3cc587=_[_0xb2df('0x40')]({},_0x3cc587,_0x15541b['options']);var _0x310f5a={'where':_0x3cc587[_0xb2df('0x3d')]};return db[_0xb2df('0x2b')][_0xb2df('0x1c')](_0x310f5a)[_0xb2df('0x22')](function(_0x4bde50){_0x2948b4['count']=_0x4bde50;if(_0x15541b['query'][_0xb2df('0x42')]){_0x3cc587['include']=[{'all':!![]}];}return db['Trigger']['findAll'](_0x3cc587);})[_0xb2df('0x22')](function(_0x2038aa){_0x2948b4['rows']=_0x2038aa;return _0x2948b4;})[_0xb2df('0x22')](respondWithFilteredResult(_0x154abf,_0x3cc587))[_0xb2df('0x43')](handleError(_0x154abf,null));};exports[_0xb2df('0x44')]=function(_0x20f485,_0x239b22){var _0xf58349={'raw':![],'where':{'id':_0x20f485[_0xb2df('0x45')]['id']}},_0x525ab7={};_0x525ab7[_0xb2df('0x30')]=_[_0xb2df('0x32')](db[_0xb2df('0x2b')][_0xb2df('0x2c')]);_0x525ab7[_0xb2df('0x33')]=_[_0xb2df('0x32')](_0x20f485[_0xb2df('0x33')]);_0x525ab7[_0xb2df('0x34')]=_[_0xb2df('0x35')](_0x525ab7[_0xb2df('0x30')],_0x525ab7['query']);_0xf58349[_0xb2df('0x37')]=_[_0xb2df('0x35')](_0x525ab7[_0xb2df('0x30')],qs[_0xb2df('0x36')](_0x20f485[_0xb2df('0x33')][_0xb2df('0x36')]));_0xf58349['attributes']=_0xf58349['attributes'][_0xb2df('0x38')]?_0xf58349['attributes']:_0x525ab7[_0xb2df('0x30')];if(_0x20f485['query']['includeAll']){_0xf58349[_0xb2df('0x46')]=[{'all':!![]}];}_0xf58349=_[_0xb2df('0x40')]({},_0xf58349,_0x20f485[_0xb2df('0x47')]);return db[_0xb2df('0x2b')][_0xb2df('0x48')](_0xf58349)['then'](handleEntityNotFound(_0x239b22,null))['then'](respondWithResult(_0x239b22,null))[_0xb2df('0x43')](handleError(_0x239b22,null));};exports['create']=function(_0x40cbaa,_0x5acd84){return db[_0xb2df('0x2b')][_0xb2df('0x49')](_0x40cbaa['body'],{})[_0xb2df('0x22')](function(_0x3d4ea0){var _0x4bfb2c=_0x40cbaa[_0xb2df('0x4a')]['get']({'plain':!![]});if(!_0x4bfb2c)throw new Error(_0xb2df('0x4b'));if(_0x4bfb2c[_0xb2df('0x4c')]===_0xb2df('0x4a')){var _0x45d67f=_0x3d4ea0['get']({'plain':!![]});var _0x545b0c=_0xb2df('0x25');return db[_0xb2df('0x4d')][_0xb2df('0x48')]({'where':{'name':_0x545b0c,'userProfileId':_0x4bfb2c[_0xb2df('0x4e')]},'raw':!![]})[_0xb2df('0x22')](function(_0x12bce6){if(_0x12bce6&&_0x12bce6[_0xb2df('0x4f')]===0x0){return db['UserProfileResource'][_0xb2df('0x49')]({'name':_0x45d67f[_0xb2df('0x2a')],'resourceId':_0x45d67f['id'],'type':_0x12bce6[_0xb2df('0x2a')],'sectionId':_0x12bce6['id']},{})[_0xb2df('0x22')](function(){return _0x3d4ea0;});}else{return _0x3d4ea0;}})[_0xb2df('0x43')](function(_0x1c2d04){logger[_0xb2df('0x29')](_0xb2df('0x50'),_0x1c2d04);throw _0x1c2d04;});}return _0x3d4ea0;})[_0xb2df('0x22')](respondWithResult(_0x5acd84,0xc9))['catch'](handleError(_0x5acd84,null));};exports['update']=function(_0x48b9d9,_0x1fffb1){if(_0x48b9d9[_0xb2df('0x51')]['id']){delete _0x48b9d9[_0xb2df('0x51')]['id'];}return db[_0xb2df('0x2b')][_0xb2df('0x48')]({'where':{'id':_0x48b9d9['params']['id']}})[_0xb2df('0x22')](handleEntityNotFound(_0x1fffb1,null))[_0xb2df('0x22')](saveUpdates(_0x48b9d9[_0xb2df('0x51')],null))[_0xb2df('0x22')](respondWithResult(_0x1fffb1,null))[_0xb2df('0x43')](handleError(_0x1fffb1,null));};exports[_0xb2df('0x23')]=function(_0x26b797,_0x435013){return db[_0xb2df('0x2b')][_0xb2df('0x48')]({'where':{'id':_0x26b797['params']['id']}})['then'](handleEntityNotFound(_0x435013,null))[_0xb2df('0x22')](removeEntity(_0x435013,null))[_0xb2df('0x43')](handleError(_0x435013,null));};exports['addAllCondition']=function(_0x1901d1,_0x403b8c,_0x7eacc1){if(_0x1901d1[_0xb2df('0x51')]['id']){delete _0x1901d1['body']['id'];}return db[_0xb2df('0x2b')][_0xb2df('0x48')]({'where':{'id':_0x1901d1[_0xb2df('0x45')]['id']}})[_0xb2df('0x22')](handleEntityNotFound(_0x403b8c,null))[_0xb2df('0x22')](function(_0x477dbb){if(_0x477dbb){_0x1901d1[_0xb2df('0x51')]['TriggerAllId']=_0x477dbb['id'];return db['Condition'][_0xb2df('0x49')](_0x1901d1['body']);}})[_0xb2df('0x22')](respondWithResult(_0x403b8c,null))['catch'](handleError(_0x403b8c,null));};exports[_0xb2df('0x52')]=function(_0x1a50a9,_0x1b61b7,_0x2b15ac){if(_0x1a50a9[_0xb2df('0x51')]['id']){delete _0x1a50a9[_0xb2df('0x51')]['id'];}return db[_0xb2df('0x2b')][_0xb2df('0x48')]({'where':{'id':_0x1a50a9[_0xb2df('0x45')]['id']}})['then'](handleEntityNotFound(_0x1b61b7,null))[_0xb2df('0x22')](function(_0x4881be){if(_0x4881be){_0x1a50a9[_0xb2df('0x51')][_0xb2df('0x53')]=_0x4881be['id'];return db['Condition'][_0xb2df('0x49')](_0x1a50a9[_0xb2df('0x51')]);}})[_0xb2df('0x22')](respondWithResult(_0x1b61b7,null))[_0xb2df('0x43')](handleError(_0x1b61b7,null));};exports[_0xb2df('0x54')]=function(_0x3b35d7,_0xce7291,_0x548820){var _0x42da68={};var _0xcff6c9={};var _0x2703dd;var _0x1f4d11;return db['Trigger'][_0xb2df('0x55')]({'where':{'id':_0x3b35d7['params']['id']}})[_0xb2df('0x22')](handleEntityNotFound(_0xce7291,null))['then'](function(_0x2d5d95){if(_0x2d5d95){_0x2703dd=_0x2d5d95;_0xcff6c9['model']=_[_0xb2df('0x32')](db[_0xb2df('0x56')]['rawAttributes']);_0xcff6c9['query']=_[_0xb2df('0x32')](_0x3b35d7[_0xb2df('0x33')]);_0xcff6c9[_0xb2df('0x34')]=_[_0xb2df('0x35')](_0xcff6c9[_0xb2df('0x30')],_0xcff6c9[_0xb2df('0x33')]);_0x42da68[_0xb2df('0x37')]=_['intersection'](_0xcff6c9[_0xb2df('0x30')],qs[_0xb2df('0x36')](_0x3b35d7['query'][_0xb2df('0x36')]));_0x42da68[_0xb2df('0x37')]=_0x42da68[_0xb2df('0x37')][_0xb2df('0x38')]?_0x42da68['attributes']:_0xcff6c9[_0xb2df('0x30')];_0x42da68[_0xb2df('0x3b')]=qs['sort'](_0x3b35d7[_0xb2df('0x33')][_0xb2df('0x3c')]);_0x42da68['where']=qs[_0xb2df('0x34')](_[_0xb2df('0x3e')](_0x3b35d7[_0xb2df('0x33')],_0xcff6c9[_0xb2df('0x34')]));if(_0x3b35d7[_0xb2df('0x33')]['filter']){_0x42da68[_0xb2df('0x3d')]=_[_0xb2df('0x40')](_0x42da68[_0xb2df('0x3d')],{'$or':_[_0xb2df('0x31')](_0x42da68[_0xb2df('0x37')],function(_0x2b7929){var _0x218189={};_0x218189[_0x2b7929]={'$like':'%'+_0x3b35d7[_0xb2df('0x33')][_0xb2df('0x3f')]+'%'};return _0x218189;})});}_0x42da68=_['merge']({},_0x42da68,_0x3b35d7[_0xb2df('0x47')]);return _0x2703dd[_0xb2df('0x54')](_0x42da68);}})['then'](function(_0x4c9132){if(_0x4c9132){_0x1f4d11=_0x4c9132['length'];if(!_0x3b35d7[_0xb2df('0x33')]['hasOwnProperty'](_0xb2df('0x3a'))){_0x42da68['limit']=qs['limit'](_0x3b35d7[_0xb2df('0x33')][_0xb2df('0x1b')]);_0x42da68['offset']=qs[_0xb2df('0x19')](_0x3b35d7['query'][_0xb2df('0x19')]);}return _0x2703dd[_0xb2df('0x54')](_0x42da68);}})[_0xb2df('0x22')](function(_0x2b3637){if(_0x2b3637){return _0x2b3637?{'count':_0x1f4d11,'rows':_0x2b3637}:null;}})[_0xb2df('0x22')](respondWithResult(_0xce7291,null))[_0xb2df('0x43')](handleError(_0xce7291,null));};exports['getAnyConditions']=function(_0x5785f6,_0x167374,_0x391c9c){var _0x2914e2={};var _0x39833e={};var _0x2a79b5;var _0x395066;return db[_0xb2df('0x2b')][_0xb2df('0x55')]({'where':{'id':_0x5785f6['params']['id']}})['then'](handleEntityNotFound(_0x167374,null))[_0xb2df('0x22')](function(_0x16181a){if(_0x16181a){_0x2a79b5=_0x16181a;_0x39833e[_0xb2df('0x30')]=_['keys'](db[_0xb2df('0x56')]['rawAttributes']);_0x39833e['query']=_[_0xb2df('0x32')](_0x5785f6[_0xb2df('0x33')]);_0x39833e[_0xb2df('0x34')]=_[_0xb2df('0x35')](_0x39833e[_0xb2df('0x30')],_0x39833e[_0xb2df('0x33')]);_0x2914e2['attributes']=_['intersection'](_0x39833e[_0xb2df('0x30')],qs[_0xb2df('0x36')](_0x5785f6[_0xb2df('0x33')]['fields']));_0x2914e2['attributes']=_0x2914e2[_0xb2df('0x37')][_0xb2df('0x38')]?_0x2914e2[_0xb2df('0x37')]:_0x39833e[_0xb2df('0x30')];_0x2914e2[_0xb2df('0x3b')]=qs['sort'](_0x5785f6[_0xb2df('0x33')][_0xb2df('0x3c')]);_0x2914e2[_0xb2df('0x3d')]=qs[_0xb2df('0x34')](_['pick'](_0x5785f6[_0xb2df('0x33')],_0x39833e[_0xb2df('0x34')]));if(_0x5785f6[_0xb2df('0x33')][_0xb2df('0x3f')]){_0x2914e2[_0xb2df('0x3d')]=_[_0xb2df('0x40')](_0x2914e2[_0xb2df('0x3d')],{'$or':_[_0xb2df('0x31')](_0x2914e2['attributes'],function(_0x307a26){var _0x3aa8e9={};_0x3aa8e9[_0x307a26]={'$like':'%'+_0x5785f6[_0xb2df('0x33')][_0xb2df('0x3f')]+'%'};return _0x3aa8e9;})});}_0x2914e2=_[_0xb2df('0x40')]({},_0x2914e2,_0x5785f6[_0xb2df('0x47')]);return _0x2a79b5[_0xb2df('0x57')](_0x2914e2);}})[_0xb2df('0x22')](function(_0x3e3e08){if(_0x3e3e08){_0x395066=_0x3e3e08[_0xb2df('0x38')];if(!_0x5785f6[_0xb2df('0x33')][_0xb2df('0x39')](_0xb2df('0x3a'))){_0x2914e2[_0xb2df('0x1b')]=qs['limit'](_0x5785f6[_0xb2df('0x33')][_0xb2df('0x1b')]);_0x2914e2[_0xb2df('0x19')]=qs[_0xb2df('0x19')](_0x5785f6[_0xb2df('0x33')][_0xb2df('0x19')]);}return _0x2a79b5[_0xb2df('0x57')](_0x2914e2);}})['then'](function(_0x1c89ab){if(_0x1c89ab){return _0x1c89ab?{'count':_0x395066,'rows':_0x1c89ab}:null;}})[_0xb2df('0x22')](respondWithResult(_0x167374,null))['catch'](handleError(_0x167374,null));};exports[_0xb2df('0x58')]=function(_0x53102e,_0x2b3394,_0xd4d590){if(_0x53102e[_0xb2df('0x51')]['id']){delete _0x53102e[_0xb2df('0x51')]['id'];}return db[_0xb2df('0x2b')][_0xb2df('0x48')]({'where':{'id':_0x53102e['params']['id']}})['then'](handleEntityNotFound(_0x2b3394,null))[_0xb2df('0x22')](function(_0x33d367){if(_0x33d367){_0x53102e[_0xb2df('0x51')][_0xb2df('0x59')]=_0x33d367['id'];return db[_0xb2df('0x5a')][_0xb2df('0x49')](_0x53102e[_0xb2df('0x51')]);}})[_0xb2df('0x22')](respondWithResult(_0x2b3394,null))[_0xb2df('0x43')](handleError(_0x2b3394,null));};exports[_0xb2df('0x5b')]=function(_0x4f658f,_0x2cce8c,_0xbb70f6){var _0x5a31ba={};var _0x3b0cc7={};var _0x19a9c7;var _0x235947;return db['Trigger'][_0xb2df('0x55')]({'where':{'id':_0x4f658f[_0xb2df('0x45')]['id']}})['then'](handleEntityNotFound(_0x2cce8c,null))['then'](function(_0x42c4e0){if(_0x42c4e0){_0x19a9c7=_0x42c4e0;_0x3b0cc7[_0xb2df('0x30')]=_[_0xb2df('0x32')](db[_0xb2df('0x5a')][_0xb2df('0x2c')]);_0x3b0cc7[_0xb2df('0x33')]=_[_0xb2df('0x32')](_0x4f658f[_0xb2df('0x33')]);_0x3b0cc7[_0xb2df('0x34')]=_[_0xb2df('0x35')](_0x3b0cc7[_0xb2df('0x30')],_0x3b0cc7[_0xb2df('0x33')]);_0x5a31ba[_0xb2df('0x37')]=_['intersection'](_0x3b0cc7[_0xb2df('0x30')],qs[_0xb2df('0x36')](_0x4f658f[_0xb2df('0x33')][_0xb2df('0x36')]));_0x5a31ba[_0xb2df('0x37')]=_0x5a31ba[_0xb2df('0x37')][_0xb2df('0x38')]?_0x5a31ba[_0xb2df('0x37')]:_0x3b0cc7[_0xb2df('0x30')];_0x5a31ba[_0xb2df('0x3b')]=qs[_0xb2df('0x3c')](_0x4f658f[_0xb2df('0x33')][_0xb2df('0x3c')]);_0x5a31ba[_0xb2df('0x3d')]=qs[_0xb2df('0x34')](_[_0xb2df('0x3e')](_0x4f658f[_0xb2df('0x33')],_0x3b0cc7[_0xb2df('0x34')]));if(_0x4f658f[_0xb2df('0x33')][_0xb2df('0x3f')]){_0x5a31ba[_0xb2df('0x3d')]=_[_0xb2df('0x40')](_0x5a31ba[_0xb2df('0x3d')],{'$or':_[_0xb2df('0x31')](_0x5a31ba[_0xb2df('0x37')],function(_0x3a51a5){var _0x410752={};_0x410752[_0x3a51a5]={'$like':'%'+_0x4f658f['query']['filter']+'%'};return _0x410752;})});}_0x5a31ba=_[_0xb2df('0x40')]({},_0x5a31ba,_0x4f658f[_0xb2df('0x47')]);return _0x19a9c7['getActions'](_0x5a31ba);}})[_0xb2df('0x22')](function(_0x2ec811){if(_0x2ec811){_0x235947=_0x2ec811['length'];if(!_0x4f658f[_0xb2df('0x33')][_0xb2df('0x39')](_0xb2df('0x3a'))){_0x5a31ba['limit']=qs[_0xb2df('0x1b')](_0x4f658f[_0xb2df('0x33')][_0xb2df('0x1b')]);_0x5a31ba[_0xb2df('0x19')]=qs[_0xb2df('0x19')](_0x4f658f[_0xb2df('0x33')][_0xb2df('0x19')]);}return _0x19a9c7[_0xb2df('0x5b')](_0x5a31ba);}})['then'](function(_0x37b3b4){if(_0x37b3b4){return _0x37b3b4?{'count':_0x235947,'rows':_0x37b3b4}:null;}})[_0xb2df('0x22')](respondWithResult(_0x2cce8c,null))[_0xb2df('0x43')](handleError(_0x2cce8c,null));};