805345e161e22d4b74ff6468fbbf6aa3e93fea96
[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 _0x08cc=['jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','end','json','count','offset','limit','status','set','Content-Range','apply','save','update','then','destroy','Triggers','error','stack','name','index','map','Trigger','type','model','query','filters','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','options','include','findAll','rows','params','rawAttributes','intersection','includeAll','find','catch','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addAllCondition','Condition','addAnyCondition','TriggerAnyId','findOne','keys','getAllConditions','getAnyConditions','addAction','TriggerId','Action','getActions','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','lodash','squel','crypto'];(function(_0x19973d,_0x1bf449){var _0x34acbc=function(_0x4901d7){while(--_0x4901d7){_0x19973d['push'](_0x19973d['shift']());}};_0x34acbc(++_0x1bf449);}(_0x08cc,0x1ba));var _0xc08c=function(_0x250a4c,_0x1e7220){_0x250a4c=_0x250a4c-0x0;var _0x3ff33d=_0x08cc[_0x250a4c];return _0x3ff33d;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xc08c('0x0'));var zipdir=require(_0xc08c('0x1'));var jsonpatch=require(_0xc08c('0x2'));var rp=require(_0xc08c('0x3'));var moment=require(_0xc08c('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xc08c('0x5'));var util=require('util');var path=require(_0xc08c('0x6'));var sox=require(_0xc08c('0x7'));var csv=require(_0xc08c('0x8'));var ejs=require(_0xc08c('0x9'));var fs=require('fs');var _=require(_0xc08c('0xa'));var squel=require(_0xc08c('0xb'));var crypto=require(_0xc08c('0xc'));var jsforce=require(_0xc08c('0xd'));var deskjs=require(_0xc08c('0xe'));var toCsv=require(_0xc08c('0x8'));var querystring=require(_0xc08c('0xf'));var Papa=require(_0xc08c('0x10'));var Redis=require(_0xc08c('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xc08c('0x12'));var as=require(_0xc08c('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc08c('0x14'))(_0xc08c('0x15'));var utils=require('../../config/utils');var config=require(_0xc08c('0x16'));var db=require(_0xc08c('0x17'))['db'];function respondWithStatusCode(_0x5a56b3,_0x731281){_0x731281=_0x731281||0xcc;return function(_0xb4ba87){if(_0xb4ba87){return _0x5a56b3[_0xc08c('0x18')](_0x731281);}return _0x5a56b3['status'](_0x731281)[_0xc08c('0x19')]();};}function respondWithResult(_0x31e2be,_0x5d1e40){_0x5d1e40=_0x5d1e40||0xc8;return function(_0x3f802a){if(_0x3f802a){return _0x31e2be['status'](_0x5d1e40)[_0xc08c('0x1a')](_0x3f802a);}};}function respondWithFilteredResult(_0x1621aa,_0x43bb42){return function(_0x42f82a){if(_0x42f82a){var _0x5dce04=_0x42f82a[_0xc08c('0x1b')],_0xff8ca8=_0x43bb42[_0xc08c('0x1c')],_0x2fbf30=_0x43bb42[_0xc08c('0x1c')]+_0x43bb42[_0xc08c('0x1d')],_0x15dd51;if(_0x2fbf30>=_0x5dce04){_0x2fbf30=_0x5dce04;_0x15dd51=0xc8;}else{_0x15dd51=0xce;}_0x1621aa[_0xc08c('0x1e')](_0x15dd51);return _0x1621aa[_0xc08c('0x1f')](_0xc08c('0x20'),_0xff8ca8+'-'+_0x2fbf30+'/'+_0x5dce04)['json'](_0x42f82a);}return null;};}function patchUpdates(_0xd439f){return function(_0x604975){try{jsonpatch[_0xc08c('0x21')](_0x604975,_0xd439f,!![]);}catch(_0x52913c){return BPromise['reject'](_0x52913c);}return _0x604975[_0xc08c('0x22')]();};}function saveUpdates(_0x59af5e,_0x55e63f){return function(_0x6cfae1){if(_0x6cfae1){return _0x6cfae1[_0xc08c('0x23')](_0x59af5e)[_0xc08c('0x24')](function(_0x830b11){return _0x830b11;});}return null;};}function removeEntity(_0x452611,_0x5268f1){return function(_0x38d037){if(_0x38d037){return _0x38d037[_0xc08c('0x25')]()[_0xc08c('0x24')](function(){var _0x551e32=_0x38d037['get']({'plain':!![]});var _0x2de4e2=_0xc08c('0x26');return db['UserProfileResource']['destroy']({'where':{'type':_0x2de4e2,'resourceId':_0x551e32['id']}})[_0xc08c('0x24')](function(){return _0x38d037;});})[_0xc08c('0x24')](function(){_0x452611['status'](0xcc)[_0xc08c('0x19')]();});}};}function handleEntityNotFound(_0x5704dc,_0x4f55fb){return function(_0xcdcf3d){if(!_0xcdcf3d){_0x5704dc[_0xc08c('0x18')](0x194);}return _0xcdcf3d;};}function handleError(_0x11a767,_0x53f69b){_0x53f69b=_0x53f69b||0x1f4;return function(_0x1cbdf6){logger[_0xc08c('0x27')](_0x1cbdf6[_0xc08c('0x28')]);if(_0x1cbdf6[_0xc08c('0x29')]){delete _0x1cbdf6[_0xc08c('0x29')];}_0x11a767['status'](_0x53f69b)['send'](_0x1cbdf6);};}exports[_0xc08c('0x2a')]=function(_0x4c187c,_0x395805){var _0x4a3a34={},_0x139400={},_0x40c02b={'count':0x0,'rows':[]};var _0x1efcd7=_[_0xc08c('0x2b')](db[_0xc08c('0x2c')]['rawAttributes'],function(_0xe996e0){return{'name':_0xe996e0['fieldName'],'type':_0xe996e0[_0xc08c('0x2d')]['key']};});_0x139400[_0xc08c('0x2e')]=_[_0xc08c('0x2b')](_0x1efcd7,'name');_0x139400[_0xc08c('0x2f')]=_['keys'](_0x4c187c[_0xc08c('0x2f')]);_0x139400[_0xc08c('0x30')]=_['intersection'](_0x139400[_0xc08c('0x2e')],_0x139400[_0xc08c('0x2f')]);_0x4a3a34['attributes']=_['intersection'](_0x139400['model'],qs[_0xc08c('0x31')](_0x4c187c[_0xc08c('0x2f')][_0xc08c('0x31')]));_0x4a3a34[_0xc08c('0x32')]=_0x4a3a34[_0xc08c('0x32')][_0xc08c('0x33')]?_0x4a3a34[_0xc08c('0x32')]:_0x139400[_0xc08c('0x2e')];if(!_0x4c187c[_0xc08c('0x2f')][_0xc08c('0x34')](_0xc08c('0x35'))){_0x4a3a34[_0xc08c('0x1d')]=qs[_0xc08c('0x1d')](_0x4c187c[_0xc08c('0x2f')][_0xc08c('0x1d')]);_0x4a3a34[_0xc08c('0x1c')]=qs['offset'](_0x4c187c[_0xc08c('0x2f')][_0xc08c('0x1c')]);}_0x4a3a34[_0xc08c('0x36')]=qs['sort'](_0x4c187c['query'][_0xc08c('0x37')]);_0x4a3a34['where']=qs['filters'](_[_0xc08c('0x38')](_0x4c187c[_0xc08c('0x2f')],_0x139400[_0xc08c('0x30')]),_0x1efcd7);if(_0x4c187c['query'][_0xc08c('0x39')]){_0x4a3a34[_0xc08c('0x3a')]=_[_0xc08c('0x3b')](_0x4a3a34['where'],{'$or':_[_0xc08c('0x2b')](_0x1efcd7,function(_0x5be1fb){if(_0x5be1fb[_0xc08c('0x2d')]!=='VIRTUAL'){var _0x1327d2={};_0x1327d2[_0x5be1fb['name']]={'$like':'%'+_0x4c187c[_0xc08c('0x2f')][_0xc08c('0x39')]+'%'};return _0x1327d2;}})});}_0x4a3a34=_[_0xc08c('0x3b')]({},_0x4a3a34,_0x4c187c[_0xc08c('0x3c')]);var _0x59b703={'where':_0x4a3a34['where']};return db[_0xc08c('0x2c')]['count'](_0x59b703)[_0xc08c('0x24')](function(_0x4be9bc){_0x40c02b[_0xc08c('0x1b')]=_0x4be9bc;if(_0x4c187c['query']['includeAll']){_0x4a3a34[_0xc08c('0x3d')]=[{'all':!![]}];}return db['Trigger'][_0xc08c('0x3e')](_0x4a3a34);})['then'](function(_0x1eca4d){_0x40c02b[_0xc08c('0x3f')]=_0x1eca4d;return _0x40c02b;})['then'](respondWithFilteredResult(_0x395805,_0x4a3a34))['catch'](handleError(_0x395805,null));};exports['show']=function(_0xaab9d9,_0x3efc6e){var _0x481498={'raw':![],'where':{'id':_0xaab9d9[_0xc08c('0x40')]['id']}},_0x1e6e3e={};_0x1e6e3e[_0xc08c('0x2e')]=_['keys'](db[_0xc08c('0x2c')][_0xc08c('0x41')]);_0x1e6e3e[_0xc08c('0x2f')]=_['keys'](_0xaab9d9[_0xc08c('0x2f')]);_0x1e6e3e[_0xc08c('0x30')]=_[_0xc08c('0x42')](_0x1e6e3e['model'],_0x1e6e3e['query']);_0x481498[_0xc08c('0x32')]=_[_0xc08c('0x42')](_0x1e6e3e[_0xc08c('0x2e')],qs[_0xc08c('0x31')](_0xaab9d9[_0xc08c('0x2f')][_0xc08c('0x31')]));_0x481498[_0xc08c('0x32')]=_0x481498[_0xc08c('0x32')][_0xc08c('0x33')]?_0x481498[_0xc08c('0x32')]:_0x1e6e3e['model'];if(_0xaab9d9[_0xc08c('0x2f')][_0xc08c('0x43')]){_0x481498[_0xc08c('0x3d')]=[{'all':!![]}];}_0x481498=_[_0xc08c('0x3b')]({},_0x481498,_0xaab9d9[_0xc08c('0x3c')]);return db[_0xc08c('0x2c')][_0xc08c('0x44')](_0x481498)[_0xc08c('0x24')](handleEntityNotFound(_0x3efc6e,null))[_0xc08c('0x24')](respondWithResult(_0x3efc6e,null))[_0xc08c('0x45')](handleError(_0x3efc6e,null));};exports['create']=function(_0x4ccdbd,_0x4f330f){return db['Trigger'][_0xc08c('0x46')](_0x4ccdbd[_0xc08c('0x47')],{})[_0xc08c('0x24')](function(_0xb07560){var _0x46cc8b=_0x4ccdbd['user'][_0xc08c('0x48')]({'plain':!![]});if(!_0x46cc8b)throw new Error(_0xc08c('0x49'));if(_0x46cc8b[_0xc08c('0x4a')]==='user'){var _0x82336d=_0xb07560['get']({'plain':!![]});var _0x306bb7=_0xc08c('0x26');return db[_0xc08c('0x4b')][_0xc08c('0x44')]({'where':{'name':_0x306bb7,'userProfileId':_0x46cc8b[_0xc08c('0x4c')]},'raw':!![]})[_0xc08c('0x24')](function(_0x5f9c4c){if(_0x5f9c4c&&_0x5f9c4c[_0xc08c('0x4d')]===0x0){return db['UserProfileResource']['create']({'name':_0x82336d[_0xc08c('0x29')],'resourceId':_0x82336d['id'],'type':_0x5f9c4c[_0xc08c('0x29')],'sectionId':_0x5f9c4c['id']},{})['then'](function(){return _0xb07560;});}else{return _0xb07560;}})['catch'](function(_0x2e450f){logger['error'](_0xc08c('0x4e'),_0x2e450f);throw _0x2e450f;});}return _0xb07560;})[_0xc08c('0x24')](respondWithResult(_0x4f330f,0xc9))[_0xc08c('0x45')](handleError(_0x4f330f,null));};exports['update']=function(_0x51f117,_0x2d8e84){if(_0x51f117['body']['id']){delete _0x51f117[_0xc08c('0x47')]['id'];}return db['Trigger'][_0xc08c('0x44')]({'where':{'id':_0x51f117[_0xc08c('0x40')]['id']}})[_0xc08c('0x24')](handleEntityNotFound(_0x2d8e84,null))[_0xc08c('0x24')](saveUpdates(_0x51f117[_0xc08c('0x47')],null))[_0xc08c('0x24')](respondWithResult(_0x2d8e84,null))[_0xc08c('0x45')](handleError(_0x2d8e84,null));};exports[_0xc08c('0x25')]=function(_0x1a70ae,_0x541742){return db[_0xc08c('0x2c')][_0xc08c('0x44')]({'where':{'id':_0x1a70ae[_0xc08c('0x40')]['id']}})['then'](handleEntityNotFound(_0x541742,null))['then'](removeEntity(_0x541742,null))[_0xc08c('0x45')](handleError(_0x541742,null));};exports[_0xc08c('0x4f')]=function(_0x2d3190,_0x21aba6,_0x315df8){if(_0x2d3190['body']['id']){delete _0x2d3190[_0xc08c('0x47')]['id'];}return db[_0xc08c('0x2c')][_0xc08c('0x44')]({'where':{'id':_0x2d3190[_0xc08c('0x40')]['id']}})['then'](handleEntityNotFound(_0x21aba6,null))[_0xc08c('0x24')](function(_0x30d5e5){if(_0x30d5e5){_0x2d3190['body']['TriggerAllId']=_0x30d5e5['id'];return db[_0xc08c('0x50')][_0xc08c('0x46')](_0x2d3190[_0xc08c('0x47')]);}})[_0xc08c('0x24')](respondWithResult(_0x21aba6,null))[_0xc08c('0x45')](handleError(_0x21aba6,null));};exports[_0xc08c('0x51')]=function(_0x55e328,_0x1117e5,_0x199155){if(_0x55e328['body']['id']){delete _0x55e328['body']['id'];}return db['Trigger'][_0xc08c('0x44')]({'where':{'id':_0x55e328[_0xc08c('0x40')]['id']}})['then'](handleEntityNotFound(_0x1117e5,null))[_0xc08c('0x24')](function(_0x28fab5){if(_0x28fab5){_0x55e328[_0xc08c('0x47')][_0xc08c('0x52')]=_0x28fab5['id'];return db[_0xc08c('0x50')][_0xc08c('0x46')](_0x55e328[_0xc08c('0x47')]);}})[_0xc08c('0x24')](respondWithResult(_0x1117e5,null))[_0xc08c('0x45')](handleError(_0x1117e5,null));};exports['getAllConditions']=function(_0x10e380,_0x1de777,_0x54a8e3){var _0x386bc8={};var _0x39b820={};var _0x4fd1c;var _0x7ea515;return db['Trigger'][_0xc08c('0x53')]({'where':{'id':_0x10e380[_0xc08c('0x40')]['id']}})[_0xc08c('0x24')](handleEntityNotFound(_0x1de777,null))[_0xc08c('0x24')](function(_0x48d9fe){if(_0x48d9fe){_0x4fd1c=_0x48d9fe;_0x39b820[_0xc08c('0x2e')]=_[_0xc08c('0x54')](db['Condition'][_0xc08c('0x41')]);_0x39b820[_0xc08c('0x2f')]=_[_0xc08c('0x54')](_0x10e380[_0xc08c('0x2f')]);_0x39b820['filters']=_[_0xc08c('0x42')](_0x39b820[_0xc08c('0x2e')],_0x39b820[_0xc08c('0x2f')]);_0x386bc8[_0xc08c('0x32')]=_[_0xc08c('0x42')](_0x39b820['model'],qs[_0xc08c('0x31')](_0x10e380[_0xc08c('0x2f')][_0xc08c('0x31')]));_0x386bc8[_0xc08c('0x32')]=_0x386bc8[_0xc08c('0x32')][_0xc08c('0x33')]?_0x386bc8[_0xc08c('0x32')]:_0x39b820[_0xc08c('0x2e')];_0x386bc8['order']=qs[_0xc08c('0x37')](_0x10e380['query'][_0xc08c('0x37')]);_0x386bc8[_0xc08c('0x3a')]=qs[_0xc08c('0x30')](_[_0xc08c('0x38')](_0x10e380[_0xc08c('0x2f')],_0x39b820['filters']));if(_0x10e380[_0xc08c('0x2f')]['filter']){_0x386bc8[_0xc08c('0x3a')]=_['merge'](_0x386bc8[_0xc08c('0x3a')],{'$or':_['map'](_0x386bc8[_0xc08c('0x32')],function(_0x3c926d){var _0x38466b={};_0x38466b[_0x3c926d]={'$like':'%'+_0x10e380['query'][_0xc08c('0x39')]+'%'};return _0x38466b;})});}_0x386bc8=_[_0xc08c('0x3b')]({},_0x386bc8,_0x10e380[_0xc08c('0x3c')]);return _0x4fd1c[_0xc08c('0x55')](_0x386bc8);}})[_0xc08c('0x24')](function(_0x53f95f){if(_0x53f95f){_0x7ea515=_0x53f95f[_0xc08c('0x33')];if(!_0x10e380[_0xc08c('0x2f')]['hasOwnProperty'](_0xc08c('0x35'))){_0x386bc8[_0xc08c('0x1d')]=qs[_0xc08c('0x1d')](_0x10e380[_0xc08c('0x2f')][_0xc08c('0x1d')]);_0x386bc8[_0xc08c('0x1c')]=qs['offset'](_0x10e380[_0xc08c('0x2f')][_0xc08c('0x1c')]);}return _0x4fd1c[_0xc08c('0x55')](_0x386bc8);}})['then'](function(_0xa02026){if(_0xa02026){return _0xa02026?{'count':_0x7ea515,'rows':_0xa02026}:null;}})[_0xc08c('0x24')](respondWithResult(_0x1de777,null))[_0xc08c('0x45')](handleError(_0x1de777,null));};exports['getAnyConditions']=function(_0x391d46,_0x16c31b,_0x2f36c5){var _0xb8370c={};var _0x208270={};var _0x23eebf;var _0x13c99a;return db[_0xc08c('0x2c')]['findOne']({'where':{'id':_0x391d46[_0xc08c('0x40')]['id']}})[_0xc08c('0x24')](handleEntityNotFound(_0x16c31b,null))[_0xc08c('0x24')](function(_0x4cd8a7){if(_0x4cd8a7){_0x23eebf=_0x4cd8a7;_0x208270['model']=_['keys'](db['Condition'][_0xc08c('0x41')]);_0x208270[_0xc08c('0x2f')]=_[_0xc08c('0x54')](_0x391d46[_0xc08c('0x2f')]);_0x208270['filters']=_[_0xc08c('0x42')](_0x208270[_0xc08c('0x2e')],_0x208270[_0xc08c('0x2f')]);_0xb8370c['attributes']=_[_0xc08c('0x42')](_0x208270[_0xc08c('0x2e')],qs[_0xc08c('0x31')](_0x391d46[_0xc08c('0x2f')][_0xc08c('0x31')]));_0xb8370c['attributes']=_0xb8370c['attributes'][_0xc08c('0x33')]?_0xb8370c[_0xc08c('0x32')]:_0x208270[_0xc08c('0x2e')];_0xb8370c[_0xc08c('0x36')]=qs[_0xc08c('0x37')](_0x391d46['query'][_0xc08c('0x37')]);_0xb8370c[_0xc08c('0x3a')]=qs['filters'](_[_0xc08c('0x38')](_0x391d46['query'],_0x208270['filters']));if(_0x391d46['query'][_0xc08c('0x39')]){_0xb8370c['where']=_[_0xc08c('0x3b')](_0xb8370c[_0xc08c('0x3a')],{'$or':_[_0xc08c('0x2b')](_0xb8370c['attributes'],function(_0x54e3f6){var _0x2b58db={};_0x2b58db[_0x54e3f6]={'$like':'%'+_0x391d46[_0xc08c('0x2f')][_0xc08c('0x39')]+'%'};return _0x2b58db;})});}_0xb8370c=_[_0xc08c('0x3b')]({},_0xb8370c,_0x391d46['options']);return _0x23eebf[_0xc08c('0x56')](_0xb8370c);}})[_0xc08c('0x24')](function(_0x233242){if(_0x233242){_0x13c99a=_0x233242[_0xc08c('0x33')];if(!_0x391d46[_0xc08c('0x2f')][_0xc08c('0x34')]('nolimit')){_0xb8370c[_0xc08c('0x1d')]=qs[_0xc08c('0x1d')](_0x391d46['query']['limit']);_0xb8370c[_0xc08c('0x1c')]=qs[_0xc08c('0x1c')](_0x391d46[_0xc08c('0x2f')][_0xc08c('0x1c')]);}return _0x23eebf[_0xc08c('0x56')](_0xb8370c);}})['then'](function(_0x8f3f31){if(_0x8f3f31){return _0x8f3f31?{'count':_0x13c99a,'rows':_0x8f3f31}:null;}})[_0xc08c('0x24')](respondWithResult(_0x16c31b,null))[_0xc08c('0x45')](handleError(_0x16c31b,null));};exports[_0xc08c('0x57')]=function(_0x5e5ce5,_0xaa83c4,_0x31fc11){if(_0x5e5ce5[_0xc08c('0x47')]['id']){delete _0x5e5ce5[_0xc08c('0x47')]['id'];}return db[_0xc08c('0x2c')][_0xc08c('0x44')]({'where':{'id':_0x5e5ce5[_0xc08c('0x40')]['id']}})[_0xc08c('0x24')](handleEntityNotFound(_0xaa83c4,null))[_0xc08c('0x24')](function(_0x577fc8){if(_0x577fc8){_0x5e5ce5[_0xc08c('0x47')][_0xc08c('0x58')]=_0x577fc8['id'];return db[_0xc08c('0x59')][_0xc08c('0x46')](_0x5e5ce5[_0xc08c('0x47')]);}})[_0xc08c('0x24')](respondWithResult(_0xaa83c4,null))[_0xc08c('0x45')](handleError(_0xaa83c4,null));};exports[_0xc08c('0x5a')]=function(_0x1bd635,_0x4fa2cd,_0x3ee8e0){var _0x37fe41={};var _0x4b62a4={};var _0x1aee66;var _0x1b8251;return db[_0xc08c('0x2c')][_0xc08c('0x53')]({'where':{'id':_0x1bd635[_0xc08c('0x40')]['id']}})[_0xc08c('0x24')](handleEntityNotFound(_0x4fa2cd,null))['then'](function(_0xeebbba){if(_0xeebbba){_0x1aee66=_0xeebbba;_0x4b62a4[_0xc08c('0x2e')]=_['keys'](db[_0xc08c('0x59')][_0xc08c('0x41')]);_0x4b62a4[_0xc08c('0x2f')]=_[_0xc08c('0x54')](_0x1bd635[_0xc08c('0x2f')]);_0x4b62a4[_0xc08c('0x30')]=_[_0xc08c('0x42')](_0x4b62a4[_0xc08c('0x2e')],_0x4b62a4[_0xc08c('0x2f')]);_0x37fe41[_0xc08c('0x32')]=_[_0xc08c('0x42')](_0x4b62a4['model'],qs[_0xc08c('0x31')](_0x1bd635[_0xc08c('0x2f')][_0xc08c('0x31')]));_0x37fe41[_0xc08c('0x32')]=_0x37fe41[_0xc08c('0x32')][_0xc08c('0x33')]?_0x37fe41[_0xc08c('0x32')]:_0x4b62a4['model'];_0x37fe41[_0xc08c('0x36')]=qs['sort'](_0x1bd635[_0xc08c('0x2f')][_0xc08c('0x37')]);_0x37fe41[_0xc08c('0x3a')]=qs[_0xc08c('0x30')](_['pick'](_0x1bd635['query'],_0x4b62a4[_0xc08c('0x30')]));if(_0x1bd635[_0xc08c('0x2f')][_0xc08c('0x39')]){_0x37fe41['where']=_[_0xc08c('0x3b')](_0x37fe41['where'],{'$or':_[_0xc08c('0x2b')](_0x37fe41[_0xc08c('0x32')],function(_0x4af94c){var _0x5820c9={};_0x5820c9[_0x4af94c]={'$like':'%'+_0x1bd635[_0xc08c('0x2f')][_0xc08c('0x39')]+'%'};return _0x5820c9;})});}_0x37fe41=_[_0xc08c('0x3b')]({},_0x37fe41,_0x1bd635[_0xc08c('0x3c')]);return _0x1aee66[_0xc08c('0x5a')](_0x37fe41);}})[_0xc08c('0x24')](function(_0x314fc8){if(_0x314fc8){_0x1b8251=_0x314fc8[_0xc08c('0x33')];if(!_0x1bd635[_0xc08c('0x2f')][_0xc08c('0x34')]('nolimit')){_0x37fe41['limit']=qs[_0xc08c('0x1d')](_0x1bd635['query'][_0xc08c('0x1d')]);_0x37fe41[_0xc08c('0x1c')]=qs[_0xc08c('0x1c')](_0x1bd635[_0xc08c('0x2f')][_0xc08c('0x1c')]);}return _0x1aee66[_0xc08c('0x5a')](_0x37fe41);}})[_0xc08c('0x24')](function(_0x5c8abe){if(_0x5c8abe){return _0x5c8abe?{'count':_0x1b8251,'rows':_0x5c8abe}:null;}})['then'](respondWithResult(_0x4fa2cd,null))[_0xc08c('0x45')](handleError(_0x4fa2cd,null));};