Built motion from commit d9028345.|2.5.43
[motion2.git] / server / api / intFreshdeskConfiguration / intFreshdeskConfiguration.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 _0x5a28=['crypto','desk.js','querystring','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','order','sort','where','filter','merge','VIRTUAL','options','FreshdeskConfiguration','includeAll','include','rows','catch','show','keys','find','create','body','params','getFields','pick','nolimit','getSubjects','findOne','FreshdeskField','hasOwnProperty','getDescriptions','getTags','setTags','ids','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','squel'];(function(_0x389c85,_0x4eb2ba){var _0x220979=function(_0x2c02b9){while(--_0x2c02b9){_0x389c85['push'](_0x389c85['shift']());}};_0x220979(++_0x4eb2ba);}(_0x5a28,0x98));var _0x85a2=function(_0x1f4674,_0x146085){_0x1f4674=_0x1f4674-0x0;var _0x3e7f42=_0x5a28[_0x1f4674];return _0x3e7f42;};'use strict';var emlformat=require(_0x85a2('0x0'));var rimraf=require(_0x85a2('0x1'));var zipdir=require(_0x85a2('0x2'));var jsonpatch=require(_0x85a2('0x3'));var rp=require(_0x85a2('0x4'));var moment=require(_0x85a2('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x85a2('0x6'));var util=require(_0x85a2('0x7'));var path=require(_0x85a2('0x8'));var sox=require(_0x85a2('0x9'));var csv=require(_0x85a2('0xa'));var ejs=require(_0x85a2('0xb'));var fs=require('fs');var fs_extra=require(_0x85a2('0xc'));var _=require('lodash');var squel=require(_0x85a2('0xd'));var crypto=require(_0x85a2('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x85a2('0xf'));var toCsv=require('to-csv');var querystring=require(_0x85a2('0x10'));var Papa=require(_0x85a2('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x85a2('0x12'));var hardwareService=require(_0x85a2('0x13'));var logger=require('../../config/logger')(_0x85a2('0x14'));var utils=require(_0x85a2('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x85a2('0x16'))['db'];function respondWithStatusCode(_0x4e1a71,_0x22ee63){_0x22ee63=_0x22ee63||0xcc;return function(_0x53c386){if(_0x53c386){return _0x4e1a71[_0x85a2('0x17')](_0x22ee63);}return _0x4e1a71[_0x85a2('0x18')](_0x22ee63)[_0x85a2('0x19')]();};}function respondWithResult(_0x2e13f6,_0x402d60){_0x402d60=_0x402d60||0xc8;return function(_0x18da30){if(_0x18da30){return _0x2e13f6[_0x85a2('0x18')](_0x402d60)[_0x85a2('0x1a')](_0x18da30);}};}function respondWithFilteredResult(_0x484b78,_0x244020){return function(_0x175f27){if(_0x175f27){var _0x225f4f=typeof _0x244020[_0x85a2('0x1b')]===_0x85a2('0x1c')&&typeof _0x244020[_0x85a2('0x1d')]==='undefined';var _0x3aa25b=_0x175f27[_0x85a2('0x1e')];var _0x5f5a42=_0x225f4f?0x0:_0x244020['offset'];var _0x2a7b20=_0x225f4f?_0x175f27[_0x85a2('0x1e')]:_0x244020[_0x85a2('0x1b')]+_0x244020[_0x85a2('0x1d')];var _0xa8b431;if(_0x2a7b20>=_0x3aa25b){_0x2a7b20=_0x3aa25b;_0xa8b431=0xc8;}else{_0xa8b431=0xce;}_0x484b78[_0x85a2('0x18')](_0xa8b431);return _0x484b78['set'](_0x85a2('0x1f'),_0x5f5a42+'-'+_0x2a7b20+'/'+_0x3aa25b)[_0x85a2('0x1a')](_0x175f27);}return null;};}function patchUpdates(_0x22c2b3){return function(_0x4443ae){try{jsonpatch[_0x85a2('0x20')](_0x4443ae,_0x22c2b3,!![]);}catch(_0x30031d){return BPromise[_0x85a2('0x21')](_0x30031d);}return _0x4443ae[_0x85a2('0x22')]();};}function saveUpdates(_0x149ef1,_0x2cd23f){return function(_0x37f7f3){if(_0x37f7f3){return _0x37f7f3[_0x85a2('0x23')](_0x149ef1)[_0x85a2('0x24')](function(_0x51629a){return _0x51629a;});}return null;};}function removeEntity(_0x145b76,_0x2ca242){return function(_0x463919){if(_0x463919){return _0x463919[_0x85a2('0x25')]()[_0x85a2('0x24')](function(){_0x145b76[_0x85a2('0x18')](0xcc)[_0x85a2('0x19')]();});}};}function handleEntityNotFound(_0x72f4ff,_0x2863fb){return function(_0x25a6c9){if(!_0x25a6c9){_0x72f4ff['sendStatus'](0x194);}return _0x25a6c9;};}function handleError(_0x38f387,_0x4a7f23){_0x4a7f23=_0x4a7f23||0x1f4;return function(_0x5e13fb){logger['error'](_0x5e13fb[_0x85a2('0x26')]);if(_0x5e13fb[_0x85a2('0x27')]){delete _0x5e13fb['name'];}_0x38f387['status'](_0x4a7f23)[_0x85a2('0x28')](_0x5e13fb);};}exports[_0x85a2('0x29')]=function(_0xdaa94,_0x446471){var _0x3de2d4={},_0x14a021={},_0x3f8b12={'count':0x0,'rows':[]};var _0x1e8940=_[_0x85a2('0x2a')](db['FreshdeskConfiguration'][_0x85a2('0x2b')],function(_0x5c29c5){return{'name':_0x5c29c5[_0x85a2('0x2c')],'type':_0x5c29c5[_0x85a2('0x2d')][_0x85a2('0x2e')]};});_0x14a021[_0x85a2('0x2f')]=_['map'](_0x1e8940,_0x85a2('0x27'));_0x14a021[_0x85a2('0x30')]=_['keys'](_0xdaa94[_0x85a2('0x30')]);_0x14a021[_0x85a2('0x31')]=_[_0x85a2('0x32')](_0x14a021[_0x85a2('0x2f')],_0x14a021[_0x85a2('0x30')]);_0x3de2d4[_0x85a2('0x33')]=_['intersection'](_0x14a021[_0x85a2('0x2f')],qs['fields'](_0xdaa94[_0x85a2('0x30')][_0x85a2('0x34')]));_0x3de2d4[_0x85a2('0x33')]=_0x3de2d4[_0x85a2('0x33')][_0x85a2('0x35')]?_0x3de2d4[_0x85a2('0x33')]:_0x14a021[_0x85a2('0x2f')];if(!_0xdaa94['query']['hasOwnProperty']('nolimit')){_0x3de2d4['limit']=qs['limit'](_0xdaa94[_0x85a2('0x30')]['limit']);_0x3de2d4[_0x85a2('0x1b')]=qs[_0x85a2('0x1b')](_0xdaa94['query'][_0x85a2('0x1b')]);}_0x3de2d4[_0x85a2('0x36')]=qs[_0x85a2('0x37')](_0xdaa94[_0x85a2('0x30')][_0x85a2('0x37')]);_0x3de2d4[_0x85a2('0x38')]=qs[_0x85a2('0x31')](_['pick'](_0xdaa94['query'],_0x14a021[_0x85a2('0x31')]),_0x1e8940);if(_0xdaa94[_0x85a2('0x30')][_0x85a2('0x39')]){_0x3de2d4['where']=_[_0x85a2('0x3a')](_0x3de2d4['where'],{'$or':_[_0x85a2('0x2a')](_0x1e8940,function(_0x390c36){if(_0x390c36['type']!==_0x85a2('0x3b')){var _0x3ff32c={};_0x3ff32c[_0x390c36[_0x85a2('0x27')]]={'$like':'%'+_0xdaa94['query']['filter']+'%'};return _0x3ff32c;}})});}_0x3de2d4=_[_0x85a2('0x3a')]({},_0x3de2d4,_0xdaa94[_0x85a2('0x3c')]);var _0x34f61c={'where':_0x3de2d4[_0x85a2('0x38')]};return db[_0x85a2('0x3d')][_0x85a2('0x1e')](_0x34f61c)[_0x85a2('0x24')](function(_0xbbde63){_0x3f8b12[_0x85a2('0x1e')]=_0xbbde63;if(_0xdaa94[_0x85a2('0x30')][_0x85a2('0x3e')]){_0x3de2d4[_0x85a2('0x3f')]=[{'all':!![]}];}return db[_0x85a2('0x3d')]['findAll'](_0x3de2d4);})[_0x85a2('0x24')](function(_0x322834){_0x3f8b12[_0x85a2('0x40')]=_0x322834;return _0x3f8b12;})[_0x85a2('0x24')](respondWithFilteredResult(_0x446471,_0x3de2d4))[_0x85a2('0x41')](handleError(_0x446471,null));};exports[_0x85a2('0x42')]=function(_0x2b6929,_0x29061f){var _0x2261e3={'raw':![],'where':{'id':_0x2b6929['params']['id']}},_0x103e59={};_0x103e59[_0x85a2('0x2f')]=_[_0x85a2('0x43')](db['FreshdeskConfiguration'][_0x85a2('0x2b')]);_0x103e59['query']=_[_0x85a2('0x43')](_0x2b6929[_0x85a2('0x30')]);_0x103e59['filters']=_[_0x85a2('0x32')](_0x103e59[_0x85a2('0x2f')],_0x103e59['query']);_0x2261e3[_0x85a2('0x33')]=_['intersection'](_0x103e59['model'],qs[_0x85a2('0x34')](_0x2b6929[_0x85a2('0x30')][_0x85a2('0x34')]));_0x2261e3[_0x85a2('0x33')]=_0x2261e3[_0x85a2('0x33')][_0x85a2('0x35')]?_0x2261e3['attributes']:_0x103e59[_0x85a2('0x2f')];if(_0x2b6929[_0x85a2('0x30')][_0x85a2('0x3e')]){_0x2261e3['include']=[{'all':!![]}];}_0x2261e3=_[_0x85a2('0x3a')]({},_0x2261e3,_0x2b6929['options']);return db[_0x85a2('0x3d')][_0x85a2('0x44')](_0x2261e3)['then'](handleEntityNotFound(_0x29061f,null))[_0x85a2('0x24')](respondWithResult(_0x29061f,null))[_0x85a2('0x41')](handleError(_0x29061f,null));};exports['create']=function(_0x21d5ad,_0x317554){return db[_0x85a2('0x3d')][_0x85a2('0x45')](_0x21d5ad[_0x85a2('0x46')],{})[_0x85a2('0x24')](respondWithResult(_0x317554,0xc9))['catch'](handleError(_0x317554,null));};exports[_0x85a2('0x23')]=function(_0x35307f,_0x1e8099){if(_0x35307f[_0x85a2('0x46')]['id']){delete _0x35307f[_0x85a2('0x46')]['id'];}return db[_0x85a2('0x3d')][_0x85a2('0x44')]({'where':{'id':_0x35307f[_0x85a2('0x47')]['id']}})[_0x85a2('0x24')](handleEntityNotFound(_0x1e8099,null))[_0x85a2('0x24')](saveUpdates(_0x35307f['body'],null))[_0x85a2('0x24')](respondWithResult(_0x1e8099,null))[_0x85a2('0x41')](handleError(_0x1e8099,null));};exports['destroy']=function(_0x4b5cdd,_0x422ae3){return db[_0x85a2('0x3d')][_0x85a2('0x44')]({'where':{'id':_0x4b5cdd[_0x85a2('0x47')]['id']}})[_0x85a2('0x24')](handleEntityNotFound(_0x422ae3,null))[_0x85a2('0x24')](removeEntity(_0x422ae3,null))[_0x85a2('0x41')](handleError(_0x422ae3,null));};exports[_0x85a2('0x48')]=function(_0x5d2999,_0x4bb87a,_0x1f7d40){var _0x2dbd79={};var _0x36fe27={};var _0x58b2f8;var _0x5d6bd4;return db[_0x85a2('0x3d')]['findOne']({'where':{'id':_0x5d2999[_0x85a2('0x47')]['id']}})['then'](handleEntityNotFound(_0x4bb87a,null))['then'](function(_0x482790){if(_0x482790){_0x58b2f8=_0x482790;_0x36fe27[_0x85a2('0x2f')]=_[_0x85a2('0x43')](db['FreshdeskField'][_0x85a2('0x2b')]);_0x36fe27[_0x85a2('0x30')]=_[_0x85a2('0x43')](_0x5d2999['query']);_0x36fe27[_0x85a2('0x31')]=_[_0x85a2('0x32')](_0x36fe27[_0x85a2('0x2f')],_0x36fe27[_0x85a2('0x30')]);_0x2dbd79['attributes']=_[_0x85a2('0x32')](_0x36fe27[_0x85a2('0x2f')],qs['fields'](_0x5d2999[_0x85a2('0x30')]['fields']));_0x2dbd79['attributes']=_0x2dbd79[_0x85a2('0x33')][_0x85a2('0x35')]?_0x2dbd79['attributes']:_0x36fe27[_0x85a2('0x2f')];_0x2dbd79['order']=qs['sort'](_0x5d2999[_0x85a2('0x30')][_0x85a2('0x37')]);_0x2dbd79['where']=qs[_0x85a2('0x31')](_[_0x85a2('0x49')](_0x5d2999[_0x85a2('0x30')],_0x36fe27[_0x85a2('0x31')]));if(_0x5d2999[_0x85a2('0x30')]['filter']){_0x2dbd79[_0x85a2('0x38')]=_['merge'](_0x2dbd79[_0x85a2('0x38')],{'$or':_['map'](_0x2dbd79['attributes'],function(_0x4c1db7){var _0x439567={};_0x439567[_0x4c1db7]={'$like':'%'+_0x5d2999['query'][_0x85a2('0x39')]+'%'};return _0x439567;})});}_0x2dbd79=_[_0x85a2('0x3a')]({},_0x2dbd79,_0x5d2999[_0x85a2('0x3c')]);return _0x58b2f8[_0x85a2('0x48')](_0x2dbd79);}})[_0x85a2('0x24')](function(_0x2202cd){if(_0x2202cd){_0x5d6bd4=_0x2202cd[_0x85a2('0x35')];if(!_0x5d2999['query']['hasOwnProperty'](_0x85a2('0x4a'))){_0x2dbd79[_0x85a2('0x1d')]=qs[_0x85a2('0x1d')](_0x5d2999[_0x85a2('0x30')][_0x85a2('0x1d')]);_0x2dbd79[_0x85a2('0x1b')]=qs[_0x85a2('0x1b')](_0x5d2999['query'][_0x85a2('0x1b')]);}return _0x58b2f8['getFields'](_0x2dbd79);}})[_0x85a2('0x24')](function(_0x4ea202){if(_0x4ea202){return _0x4ea202?{'count':_0x5d6bd4,'rows':_0x4ea202}:null;}})['then'](respondWithResult(_0x4bb87a,null))['catch'](handleError(_0x4bb87a,null));};exports[_0x85a2('0x4b')]=function(_0x1dc9f2,_0x467727,_0x49e473){var _0x1eda77={};var _0x22a926={};var _0x4ed370;var _0x33cf38;return db[_0x85a2('0x3d')][_0x85a2('0x4c')]({'where':{'id':_0x1dc9f2['params']['id']}})['then'](handleEntityNotFound(_0x467727,null))[_0x85a2('0x24')](function(_0x24515d){if(_0x24515d){_0x4ed370=_0x24515d;_0x22a926[_0x85a2('0x2f')]=_[_0x85a2('0x43')](db[_0x85a2('0x4d')][_0x85a2('0x2b')]);_0x22a926['query']=_[_0x85a2('0x43')](_0x1dc9f2[_0x85a2('0x30')]);_0x22a926[_0x85a2('0x31')]=_['intersection'](_0x22a926[_0x85a2('0x2f')],_0x22a926[_0x85a2('0x30')]);_0x1eda77[_0x85a2('0x33')]=_[_0x85a2('0x32')](_0x22a926['model'],qs[_0x85a2('0x34')](_0x1dc9f2[_0x85a2('0x30')][_0x85a2('0x34')]));_0x1eda77['attributes']=_0x1eda77[_0x85a2('0x33')][_0x85a2('0x35')]?_0x1eda77['attributes']:_0x22a926[_0x85a2('0x2f')];_0x1eda77[_0x85a2('0x36')]=qs[_0x85a2('0x37')](_0x1dc9f2[_0x85a2('0x30')][_0x85a2('0x37')]);_0x1eda77[_0x85a2('0x38')]=qs[_0x85a2('0x31')](_[_0x85a2('0x49')](_0x1dc9f2[_0x85a2('0x30')],_0x22a926[_0x85a2('0x31')]));if(_0x1dc9f2['query']['filter']){_0x1eda77[_0x85a2('0x38')]=_[_0x85a2('0x3a')](_0x1eda77[_0x85a2('0x38')],{'$or':_[_0x85a2('0x2a')](_0x1eda77['attributes'],function(_0x1f1014){var _0x13093c={};_0x13093c[_0x1f1014]={'$like':'%'+_0x1dc9f2[_0x85a2('0x30')]['filter']+'%'};return _0x13093c;})});}_0x1eda77=_[_0x85a2('0x3a')]({},_0x1eda77,_0x1dc9f2[_0x85a2('0x3c')]);return _0x4ed370[_0x85a2('0x4b')](_0x1eda77);}})[_0x85a2('0x24')](function(_0x26c12f){if(_0x26c12f){_0x33cf38=_0x26c12f[_0x85a2('0x35')];if(!_0x1dc9f2[_0x85a2('0x30')][_0x85a2('0x4e')](_0x85a2('0x4a'))){_0x1eda77[_0x85a2('0x1d')]=qs[_0x85a2('0x1d')](_0x1dc9f2['query']['limit']);_0x1eda77[_0x85a2('0x1b')]=qs['offset'](_0x1dc9f2['query'][_0x85a2('0x1b')]);}return _0x4ed370[_0x85a2('0x4b')](_0x1eda77);}})[_0x85a2('0x24')](function(_0x302fa6){if(_0x302fa6){return _0x302fa6?{'count':_0x33cf38,'rows':_0x302fa6}:null;}})['then'](respondWithResult(_0x467727,null))[_0x85a2('0x41')](handleError(_0x467727,null));};exports['getDescriptions']=function(_0x6575d3,_0x1ccdb8,_0x38446d){var _0x3e2e31={};var _0x3eed80={};var _0x240825;var _0x53583c;return db[_0x85a2('0x3d')]['findOne']({'where':{'id':_0x6575d3['params']['id']}})['then'](handleEntityNotFound(_0x1ccdb8,null))[_0x85a2('0x24')](function(_0xe4478b){if(_0xe4478b){_0x240825=_0xe4478b;_0x3eed80[_0x85a2('0x2f')]=_[_0x85a2('0x43')](db['FreshdeskField'][_0x85a2('0x2b')]);_0x3eed80[_0x85a2('0x30')]=_[_0x85a2('0x43')](_0x6575d3[_0x85a2('0x30')]);_0x3eed80[_0x85a2('0x31')]=_[_0x85a2('0x32')](_0x3eed80['model'],_0x3eed80[_0x85a2('0x30')]);_0x3e2e31[_0x85a2('0x33')]=_[_0x85a2('0x32')](_0x3eed80[_0x85a2('0x2f')],qs[_0x85a2('0x34')](_0x6575d3[_0x85a2('0x30')][_0x85a2('0x34')]));_0x3e2e31[_0x85a2('0x33')]=_0x3e2e31['attributes'][_0x85a2('0x35')]?_0x3e2e31['attributes']:_0x3eed80[_0x85a2('0x2f')];_0x3e2e31['order']=qs[_0x85a2('0x37')](_0x6575d3['query'][_0x85a2('0x37')]);_0x3e2e31[_0x85a2('0x38')]=qs[_0x85a2('0x31')](_['pick'](_0x6575d3['query'],_0x3eed80[_0x85a2('0x31')]));if(_0x6575d3[_0x85a2('0x30')][_0x85a2('0x39')]){_0x3e2e31[_0x85a2('0x38')]=_[_0x85a2('0x3a')](_0x3e2e31[_0x85a2('0x38')],{'$or':_[_0x85a2('0x2a')](_0x3e2e31[_0x85a2('0x33')],function(_0x1405d6){var _0x48b07f={};_0x48b07f[_0x1405d6]={'$like':'%'+_0x6575d3[_0x85a2('0x30')][_0x85a2('0x39')]+'%'};return _0x48b07f;})});}_0x3e2e31=_[_0x85a2('0x3a')]({},_0x3e2e31,_0x6575d3['options']);return _0x240825[_0x85a2('0x4f')](_0x3e2e31);}})[_0x85a2('0x24')](function(_0x203b4c){if(_0x203b4c){_0x53583c=_0x203b4c[_0x85a2('0x35')];if(!_0x6575d3[_0x85a2('0x30')][_0x85a2('0x4e')](_0x85a2('0x4a'))){_0x3e2e31[_0x85a2('0x1d')]=qs[_0x85a2('0x1d')](_0x6575d3[_0x85a2('0x30')][_0x85a2('0x1d')]);_0x3e2e31[_0x85a2('0x1b')]=qs['offset'](_0x6575d3[_0x85a2('0x30')][_0x85a2('0x1b')]);}return _0x240825[_0x85a2('0x4f')](_0x3e2e31);}})[_0x85a2('0x24')](function(_0x5f51b7){if(_0x5f51b7){return _0x5f51b7?{'count':_0x53583c,'rows':_0x5f51b7}:null;}})[_0x85a2('0x24')](respondWithResult(_0x1ccdb8,null))[_0x85a2('0x41')](handleError(_0x1ccdb8,null));};exports[_0x85a2('0x50')]=function(_0x4586d2,_0x2f4005,_0x1acc39){var _0x3013b0={};var _0x5e7870={};var _0x60bb55;var _0x51a4fb;return db[_0x85a2('0x3d')][_0x85a2('0x4c')]({'where':{'id':_0x4586d2[_0x85a2('0x47')]['id']}})[_0x85a2('0x24')](handleEntityNotFound(_0x2f4005,null))[_0x85a2('0x24')](function(_0x3757f4){if(_0x3757f4){_0x60bb55=_0x3757f4;_0x5e7870[_0x85a2('0x2f')]=_[_0x85a2('0x43')](db['Tag'][_0x85a2('0x2b')]);_0x5e7870[_0x85a2('0x30')]=_['keys'](_0x4586d2[_0x85a2('0x30')]);_0x5e7870['filters']=_[_0x85a2('0x32')](_0x5e7870[_0x85a2('0x2f')],_0x5e7870[_0x85a2('0x30')]);_0x3013b0['attributes']=_[_0x85a2('0x32')](_0x5e7870[_0x85a2('0x2f')],qs[_0x85a2('0x34')](_0x4586d2[_0x85a2('0x30')][_0x85a2('0x34')]));_0x3013b0['attributes']=_0x3013b0['attributes'][_0x85a2('0x35')]?_0x3013b0[_0x85a2('0x33')]:_0x5e7870['model'];_0x3013b0[_0x85a2('0x36')]=qs[_0x85a2('0x37')](_0x4586d2[_0x85a2('0x30')][_0x85a2('0x37')]);_0x3013b0['where']=qs['filters'](_[_0x85a2('0x49')](_0x4586d2[_0x85a2('0x30')],_0x5e7870[_0x85a2('0x31')]));if(_0x4586d2[_0x85a2('0x30')]['filter']){_0x3013b0['where']=_[_0x85a2('0x3a')](_0x3013b0[_0x85a2('0x38')],{'$or':_[_0x85a2('0x2a')](_0x3013b0[_0x85a2('0x33')],function(_0x19f678){var _0x4d2383={};_0x4d2383[_0x19f678]={'$like':'%'+_0x4586d2[_0x85a2('0x30')]['filter']+'%'};return _0x4d2383;})});}_0x3013b0=_[_0x85a2('0x3a')]({},_0x3013b0,_0x4586d2[_0x85a2('0x3c')]);return _0x60bb55[_0x85a2('0x50')](_0x3013b0);}})[_0x85a2('0x24')](function(_0x3ef14c){if(_0x3ef14c){_0x51a4fb=_0x3ef14c[_0x85a2('0x35')];if(!_0x4586d2[_0x85a2('0x30')][_0x85a2('0x4e')](_0x85a2('0x4a'))){_0x3013b0[_0x85a2('0x1d')]=qs['limit'](_0x4586d2[_0x85a2('0x30')][_0x85a2('0x1d')]);_0x3013b0[_0x85a2('0x1b')]=qs[_0x85a2('0x1b')](_0x4586d2[_0x85a2('0x30')]['offset']);}return _0x60bb55[_0x85a2('0x50')](_0x3013b0);}})[_0x85a2('0x24')](function(_0x4793b2){if(_0x4793b2){return _0x4793b2?{'count':_0x51a4fb,'rows':_0x4793b2}:null;}})[_0x85a2('0x24')](respondWithResult(_0x2f4005,null))[_0x85a2('0x41')](handleError(_0x2f4005,null));};exports[_0x85a2('0x51')]=function(_0x24533c,_0x5ec565,_0x29c9e8){if(_0x24533c['body']['id']){delete _0x24533c[_0x85a2('0x46')]['id'];}return db[_0x85a2('0x3d')]['findOne']({'where':{'id':_0x24533c[_0x85a2('0x47')]['id']}})[_0x85a2('0x24')](handleEntityNotFound(_0x5ec565,null))[_0x85a2('0x24')](function(_0x4ead42){if(_0x4ead42){return _0x4ead42[_0x85a2('0x51')](_0x24533c[_0x85a2('0x46')][_0x85a2('0x52')]||[]);}return null;})['then'](respondWithResult(_0x5ec565,null))[_0x85a2('0x41')](handleError(_0x5ec565,null));};