e7a0043af8f49018f691fd2a3d013a57f47e7983
[motion2.git] / server / api / intZendeskConfiguration / intZendeskConfiguration.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 _0xe9bd=['setTags','ids','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','to-csv','squel','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','limit','undefined','offset','count','set','apply','save','update','then','end','error','stack','name','map','ZendeskConfiguration','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','find','catch','create','body','destroy','getFields','ZendeskField','findOne','getSubjects','getDescriptions','getTags'];(function(_0xb9ea44,_0x3ea719){var _0x290425=function(_0x4181fc){while(--_0x4181fc){_0xb9ea44['push'](_0xb9ea44['shift']());}};_0x290425(++_0x3ea719);}(_0xe9bd,0x183));var _0xde9b=function(_0x2dc3b8,_0x3da0b5){_0x2dc3b8=_0x2dc3b8-0x0;var _0x33c437=_0xe9bd[_0x2dc3b8];return _0x33c437;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xde9b('0x0'));var zipdir=require(_0xde9b('0x1'));var jsonpatch=require(_0xde9b('0x2'));var rp=require(_0xde9b('0x3'));var moment=require('moment');var BPromise=require(_0xde9b('0x4'));var Mustache=require(_0xde9b('0x5'));var util=require(_0xde9b('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0xde9b('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xde9b('0x8'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xde9b('0x9'));var toCsv=require(_0xde9b('0x7'));var querystring=require(_0xde9b('0xa'));var Papa=require('papaparse');var Redis=require(_0xde9b('0xb'));var authService=require(_0xde9b('0xc'));var qs=require(_0xde9b('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xde9b('0xe'))(_0xde9b('0xf'));var utils=require(_0xde9b('0x10'));var config=require('../../config/environment');var licenseUtil=require(_0xde9b('0x11'));var db=require(_0xde9b('0x12'))['db'];function respondWithStatusCode(_0x1f3794,_0x5bed9a){_0x5bed9a=_0x5bed9a||0xcc;return function(_0x53e53f){if(_0x53e53f){return _0x1f3794[_0xde9b('0x13')](_0x5bed9a);}return _0x1f3794[_0xde9b('0x14')](_0x5bed9a)['end']();};}function respondWithResult(_0x278682,_0x3da23e){_0x3da23e=_0x3da23e||0xc8;return function(_0x167cad){if(_0x167cad){return _0x278682[_0xde9b('0x14')](_0x3da23e)[_0xde9b('0x15')](_0x167cad);}};}function respondWithFilteredResult(_0x1d98f0,_0x566edb){return function(_0x364c9b){if(_0x364c9b){var _0x50f3cc=typeof _0x566edb['offset']==='undefined'&&typeof _0x566edb[_0xde9b('0x16')]===_0xde9b('0x17');var _0x5b9764=_0x364c9b['count'];var _0x1722f3=_0x50f3cc?0x0:_0x566edb[_0xde9b('0x18')];var _0x14f331=_0x50f3cc?_0x364c9b[_0xde9b('0x19')]:_0x566edb[_0xde9b('0x18')]+_0x566edb[_0xde9b('0x16')];var _0x19936e;if(_0x14f331>=_0x5b9764){_0x14f331=_0x5b9764;_0x19936e=0xc8;}else{_0x19936e=0xce;}_0x1d98f0[_0xde9b('0x14')](_0x19936e);return _0x1d98f0[_0xde9b('0x1a')]('Content-Range',_0x1722f3+'-'+_0x14f331+'/'+_0x5b9764)[_0xde9b('0x15')](_0x364c9b);}return null;};}function patchUpdates(_0x260f22){return function(_0x3f36aa){try{jsonpatch[_0xde9b('0x1b')](_0x3f36aa,_0x260f22,!![]);}catch(_0x5f1323){return BPromise['reject'](_0x5f1323);}return _0x3f36aa[_0xde9b('0x1c')]();};}function saveUpdates(_0x581467,_0x5a8cde){return function(_0xae06b7){if(_0xae06b7){return _0xae06b7[_0xde9b('0x1d')](_0x581467)[_0xde9b('0x1e')](function(_0xe0a201){return _0xe0a201;});}return null;};}function removeEntity(_0x96ac9c,_0x5bbd3e){return function(_0x3682e0){if(_0x3682e0){return _0x3682e0['destroy']()['then'](function(){_0x96ac9c[_0xde9b('0x14')](0xcc)[_0xde9b('0x1f')]();});}};}function handleEntityNotFound(_0x316e36,_0xf2a8d9){return function(_0x4ff521){if(!_0x4ff521){_0x316e36[_0xde9b('0x13')](0x194);}return _0x4ff521;};}function handleError(_0x2071cb,_0x219793){_0x219793=_0x219793||0x1f4;return function(_0x5a9ce4){logger[_0xde9b('0x20')](_0x5a9ce4[_0xde9b('0x21')]);if(_0x5a9ce4['name']){delete _0x5a9ce4[_0xde9b('0x22')];}_0x2071cb['status'](_0x219793)['send'](_0x5a9ce4);};}exports['index']=function(_0x5da166,_0x21ee79){var _0x4550bb={},_0x1e37d3={},_0x936628={'count':0x0,'rows':[]};var _0x262281=_[_0xde9b('0x23')](db[_0xde9b('0x24')][_0xde9b('0x25')],function(_0x10bd5a){return{'name':_0x10bd5a['fieldName'],'type':_0x10bd5a[_0xde9b('0x26')][_0xde9b('0x27')]};});_0x1e37d3[_0xde9b('0x28')]=_[_0xde9b('0x23')](_0x262281,_0xde9b('0x22'));_0x1e37d3[_0xde9b('0x29')]=_[_0xde9b('0x2a')](_0x5da166[_0xde9b('0x29')]);_0x1e37d3[_0xde9b('0x2b')]=_[_0xde9b('0x2c')](_0x1e37d3['model'],_0x1e37d3['query']);_0x4550bb['attributes']=_[_0xde9b('0x2c')](_0x1e37d3['model'],qs[_0xde9b('0x2d')](_0x5da166[_0xde9b('0x29')]['fields']));_0x4550bb[_0xde9b('0x2e')]=_0x4550bb['attributes'][_0xde9b('0x2f')]?_0x4550bb[_0xde9b('0x2e')]:_0x1e37d3['model'];if(!_0x5da166[_0xde9b('0x29')][_0xde9b('0x30')](_0xde9b('0x31'))){_0x4550bb['limit']=qs[_0xde9b('0x16')](_0x5da166['query'][_0xde9b('0x16')]);_0x4550bb[_0xde9b('0x18')]=qs[_0xde9b('0x18')](_0x5da166[_0xde9b('0x29')]['offset']);}_0x4550bb[_0xde9b('0x32')]=qs[_0xde9b('0x33')](_0x5da166[_0xde9b('0x29')]['sort']);_0x4550bb[_0xde9b('0x34')]=qs[_0xde9b('0x2b')](_[_0xde9b('0x35')](_0x5da166[_0xde9b('0x29')],_0x1e37d3[_0xde9b('0x2b')]),_0x262281);if(_0x5da166[_0xde9b('0x29')][_0xde9b('0x36')]){_0x4550bb[_0xde9b('0x34')]=_[_0xde9b('0x37')](_0x4550bb[_0xde9b('0x34')],{'$or':_[_0xde9b('0x23')](_0x262281,function(_0x48f32d){if(_0x48f32d['type']!==_0xde9b('0x38')){var _0x45cca4={};_0x45cca4[_0x48f32d[_0xde9b('0x22')]]={'$like':'%'+_0x5da166[_0xde9b('0x29')][_0xde9b('0x36')]+'%'};return _0x45cca4;}})});}_0x4550bb=_[_0xde9b('0x37')]({},_0x4550bb,_0x5da166[_0xde9b('0x39')]);var _0xea74d0={'where':_0x4550bb[_0xde9b('0x34')]};return db[_0xde9b('0x24')][_0xde9b('0x19')](_0xea74d0)[_0xde9b('0x1e')](function(_0x5b3b51){_0x936628[_0xde9b('0x19')]=_0x5b3b51;if(_0x5da166[_0xde9b('0x29')][_0xde9b('0x3a')]){_0x4550bb[_0xde9b('0x3b')]=[{'all':!![]}];}return db[_0xde9b('0x24')][_0xde9b('0x3c')](_0x4550bb);})[_0xde9b('0x1e')](function(_0x55fd84){_0x936628[_0xde9b('0x3d')]=_0x55fd84;return _0x936628;})[_0xde9b('0x1e')](respondWithFilteredResult(_0x21ee79,_0x4550bb))['catch'](handleError(_0x21ee79,null));};exports[_0xde9b('0x3e')]=function(_0x4df121,_0xcc3e08){var _0x35ea52={'raw':![],'where':{'id':_0x4df121[_0xde9b('0x3f')]['id']}},_0x41cf19={};_0x41cf19[_0xde9b('0x28')]=_[_0xde9b('0x2a')](db[_0xde9b('0x24')]['rawAttributes']);_0x41cf19[_0xde9b('0x29')]=_[_0xde9b('0x2a')](_0x4df121[_0xde9b('0x29')]);_0x41cf19[_0xde9b('0x2b')]=_[_0xde9b('0x2c')](_0x41cf19[_0xde9b('0x28')],_0x41cf19[_0xde9b('0x29')]);_0x35ea52[_0xde9b('0x2e')]=_[_0xde9b('0x2c')](_0x41cf19[_0xde9b('0x28')],qs[_0xde9b('0x2d')](_0x4df121[_0xde9b('0x29')][_0xde9b('0x2d')]));_0x35ea52['attributes']=_0x35ea52[_0xde9b('0x2e')][_0xde9b('0x2f')]?_0x35ea52['attributes']:_0x41cf19[_0xde9b('0x28')];if(_0x4df121['query']['includeAll']){_0x35ea52['include']=[{'all':!![]}];}_0x35ea52=_[_0xde9b('0x37')]({},_0x35ea52,_0x4df121[_0xde9b('0x39')]);return db['ZendeskConfiguration'][_0xde9b('0x40')](_0x35ea52)[_0xde9b('0x1e')](handleEntityNotFound(_0xcc3e08,null))[_0xde9b('0x1e')](respondWithResult(_0xcc3e08,null))[_0xde9b('0x41')](handleError(_0xcc3e08,null));};exports[_0xde9b('0x42')]=function(_0x5d379a,_0x4bb47d){return db[_0xde9b('0x24')][_0xde9b('0x42')](_0x5d379a[_0xde9b('0x43')],{})[_0xde9b('0x1e')](respondWithResult(_0x4bb47d,0xc9))['catch'](handleError(_0x4bb47d,null));};exports[_0xde9b('0x1d')]=function(_0x17a638,_0x5cadd0){if(_0x17a638[_0xde9b('0x43')]['id']){delete _0x17a638[_0xde9b('0x43')]['id'];}return db[_0xde9b('0x24')][_0xde9b('0x40')]({'where':{'id':_0x17a638[_0xde9b('0x3f')]['id']}})[_0xde9b('0x1e')](handleEntityNotFound(_0x5cadd0,null))[_0xde9b('0x1e')](saveUpdates(_0x17a638[_0xde9b('0x43')],null))['then'](respondWithResult(_0x5cadd0,null))[_0xde9b('0x41')](handleError(_0x5cadd0,null));};exports[_0xde9b('0x44')]=function(_0x99edad,_0x1ecf38){return db[_0xde9b('0x24')]['find']({'where':{'id':_0x99edad['params']['id']}})[_0xde9b('0x1e')](handleEntityNotFound(_0x1ecf38,null))['then'](removeEntity(_0x1ecf38,null))[_0xde9b('0x41')](handleError(_0x1ecf38,null));};exports[_0xde9b('0x45')]=function(_0x1d5ab3,_0x5043a7,_0x4e0fe5){var _0x46c851={};var _0x5e4dbe={};var _0x2ef1a8;var _0x3e0484;return db[_0xde9b('0x24')]['findOne']({'where':{'id':_0x1d5ab3[_0xde9b('0x3f')]['id']}})[_0xde9b('0x1e')](handleEntityNotFound(_0x5043a7,null))[_0xde9b('0x1e')](function(_0x11dc2f){if(_0x11dc2f){_0x2ef1a8=_0x11dc2f;_0x5e4dbe[_0xde9b('0x28')]=_[_0xde9b('0x2a')](db[_0xde9b('0x46')]['rawAttributes']);_0x5e4dbe['query']=_['keys'](_0x1d5ab3['query']);_0x5e4dbe[_0xde9b('0x2b')]=_[_0xde9b('0x2c')](_0x5e4dbe['model'],_0x5e4dbe[_0xde9b('0x29')]);_0x46c851[_0xde9b('0x2e')]=_[_0xde9b('0x2c')](_0x5e4dbe[_0xde9b('0x28')],qs['fields'](_0x1d5ab3[_0xde9b('0x29')]['fields']));_0x46c851[_0xde9b('0x2e')]=_0x46c851[_0xde9b('0x2e')][_0xde9b('0x2f')]?_0x46c851[_0xde9b('0x2e')]:_0x5e4dbe['model'];_0x46c851[_0xde9b('0x32')]=qs['sort'](_0x1d5ab3[_0xde9b('0x29')]['sort']);_0x46c851['where']=qs[_0xde9b('0x2b')](_[_0xde9b('0x35')](_0x1d5ab3[_0xde9b('0x29')],_0x5e4dbe[_0xde9b('0x2b')]));if(_0x1d5ab3[_0xde9b('0x29')][_0xde9b('0x36')]){_0x46c851[_0xde9b('0x34')]=_[_0xde9b('0x37')](_0x46c851[_0xde9b('0x34')],{'$or':_[_0xde9b('0x23')](_0x46c851[_0xde9b('0x2e')],function(_0x258cda){var _0x1ed98a={};_0x1ed98a[_0x258cda]={'$like':'%'+_0x1d5ab3[_0xde9b('0x29')][_0xde9b('0x36')]+'%'};return _0x1ed98a;})});}_0x46c851=_[_0xde9b('0x37')]({},_0x46c851,_0x1d5ab3[_0xde9b('0x39')]);return _0x2ef1a8['getFields'](_0x46c851);}})['then'](function(_0x4facab){if(_0x4facab){_0x3e0484=_0x4facab[_0xde9b('0x2f')];if(!_0x1d5ab3[_0xde9b('0x29')][_0xde9b('0x30')](_0xde9b('0x31'))){_0x46c851[_0xde9b('0x16')]=qs[_0xde9b('0x16')](_0x1d5ab3[_0xde9b('0x29')][_0xde9b('0x16')]);_0x46c851[_0xde9b('0x18')]=qs[_0xde9b('0x18')](_0x1d5ab3['query']['offset']);}return _0x2ef1a8['getFields'](_0x46c851);}})[_0xde9b('0x1e')](function(_0x43ec9b){if(_0x43ec9b){return _0x43ec9b?{'count':_0x3e0484,'rows':_0x43ec9b}:null;}})['then'](respondWithResult(_0x5043a7,null))[_0xde9b('0x41')](handleError(_0x5043a7,null));};exports['getSubjects']=function(_0x3b5c66,_0x57b6b3,_0x1b0a1d){var _0x3c6d80={};var _0x1bff68={};var _0x1eb427;var _0x4d5f97;return db['ZendeskConfiguration'][_0xde9b('0x47')]({'where':{'id':_0x3b5c66[_0xde9b('0x3f')]['id']}})[_0xde9b('0x1e')](handleEntityNotFound(_0x57b6b3,null))[_0xde9b('0x1e')](function(_0x1967bf){if(_0x1967bf){_0x1eb427=_0x1967bf;_0x1bff68[_0xde9b('0x28')]=_[_0xde9b('0x2a')](db['ZendeskField'][_0xde9b('0x25')]);_0x1bff68[_0xde9b('0x29')]=_[_0xde9b('0x2a')](_0x3b5c66['query']);_0x1bff68[_0xde9b('0x2b')]=_[_0xde9b('0x2c')](_0x1bff68[_0xde9b('0x28')],_0x1bff68['query']);_0x3c6d80['attributes']=_[_0xde9b('0x2c')](_0x1bff68[_0xde9b('0x28')],qs[_0xde9b('0x2d')](_0x3b5c66['query'][_0xde9b('0x2d')]));_0x3c6d80[_0xde9b('0x2e')]=_0x3c6d80[_0xde9b('0x2e')][_0xde9b('0x2f')]?_0x3c6d80['attributes']:_0x1bff68[_0xde9b('0x28')];_0x3c6d80['order']=qs['sort'](_0x3b5c66[_0xde9b('0x29')]['sort']);_0x3c6d80['where']=qs[_0xde9b('0x2b')](_[_0xde9b('0x35')](_0x3b5c66[_0xde9b('0x29')],_0x1bff68[_0xde9b('0x2b')]));if(_0x3b5c66[_0xde9b('0x29')][_0xde9b('0x36')]){_0x3c6d80['where']=_[_0xde9b('0x37')](_0x3c6d80['where'],{'$or':_['map'](_0x3c6d80['attributes'],function(_0x134f2e){var _0x4ef96e={};_0x4ef96e[_0x134f2e]={'$like':'%'+_0x3b5c66[_0xde9b('0x29')]['filter']+'%'};return _0x4ef96e;})});}_0x3c6d80=_[_0xde9b('0x37')]({},_0x3c6d80,_0x3b5c66[_0xde9b('0x39')]);return _0x1eb427[_0xde9b('0x48')](_0x3c6d80);}})[_0xde9b('0x1e')](function(_0x295ecb){if(_0x295ecb){_0x4d5f97=_0x295ecb[_0xde9b('0x2f')];if(!_0x3b5c66['query'][_0xde9b('0x30')](_0xde9b('0x31'))){_0x3c6d80[_0xde9b('0x16')]=qs['limit'](_0x3b5c66[_0xde9b('0x29')][_0xde9b('0x16')]);_0x3c6d80[_0xde9b('0x18')]=qs['offset'](_0x3b5c66[_0xde9b('0x29')][_0xde9b('0x18')]);}return _0x1eb427[_0xde9b('0x48')](_0x3c6d80);}})['then'](function(_0x3fa344){if(_0x3fa344){return _0x3fa344?{'count':_0x4d5f97,'rows':_0x3fa344}:null;}})[_0xde9b('0x1e')](respondWithResult(_0x57b6b3,null))['catch'](handleError(_0x57b6b3,null));};exports['getDescriptions']=function(_0x4d21c2,_0x48c879,_0x2bb35d){var _0x9ff7da={};var _0x10b70d={};var _0x3e0c9e;var _0x4d82a6;return db[_0xde9b('0x24')][_0xde9b('0x47')]({'where':{'id':_0x4d21c2[_0xde9b('0x3f')]['id']}})[_0xde9b('0x1e')](handleEntityNotFound(_0x48c879,null))['then'](function(_0x23cc3b){if(_0x23cc3b){_0x3e0c9e=_0x23cc3b;_0x10b70d[_0xde9b('0x28')]=_['keys'](db[_0xde9b('0x46')][_0xde9b('0x25')]);_0x10b70d[_0xde9b('0x29')]=_[_0xde9b('0x2a')](_0x4d21c2[_0xde9b('0x29')]);_0x10b70d[_0xde9b('0x2b')]=_[_0xde9b('0x2c')](_0x10b70d[_0xde9b('0x28')],_0x10b70d[_0xde9b('0x29')]);_0x9ff7da[_0xde9b('0x2e')]=_[_0xde9b('0x2c')](_0x10b70d[_0xde9b('0x28')],qs[_0xde9b('0x2d')](_0x4d21c2[_0xde9b('0x29')][_0xde9b('0x2d')]));_0x9ff7da[_0xde9b('0x2e')]=_0x9ff7da[_0xde9b('0x2e')][_0xde9b('0x2f')]?_0x9ff7da[_0xde9b('0x2e')]:_0x10b70d['model'];_0x9ff7da['order']=qs[_0xde9b('0x33')](_0x4d21c2['query'][_0xde9b('0x33')]);_0x9ff7da[_0xde9b('0x34')]=qs[_0xde9b('0x2b')](_['pick'](_0x4d21c2[_0xde9b('0x29')],_0x10b70d[_0xde9b('0x2b')]));if(_0x4d21c2[_0xde9b('0x29')][_0xde9b('0x36')]){_0x9ff7da[_0xde9b('0x34')]=_[_0xde9b('0x37')](_0x9ff7da['where'],{'$or':_['map'](_0x9ff7da[_0xde9b('0x2e')],function(_0x5799c6){var _0x3da5fe={};_0x3da5fe[_0x5799c6]={'$like':'%'+_0x4d21c2[_0xde9b('0x29')][_0xde9b('0x36')]+'%'};return _0x3da5fe;})});}_0x9ff7da=_[_0xde9b('0x37')]({},_0x9ff7da,_0x4d21c2[_0xde9b('0x39')]);return _0x3e0c9e[_0xde9b('0x49')](_0x9ff7da);}})[_0xde9b('0x1e')](function(_0x3d9529){if(_0x3d9529){_0x4d82a6=_0x3d9529[_0xde9b('0x2f')];if(!_0x4d21c2[_0xde9b('0x29')][_0xde9b('0x30')]('nolimit')){_0x9ff7da[_0xde9b('0x16')]=qs[_0xde9b('0x16')](_0x4d21c2[_0xde9b('0x29')][_0xde9b('0x16')]);_0x9ff7da[_0xde9b('0x18')]=qs[_0xde9b('0x18')](_0x4d21c2[_0xde9b('0x29')][_0xde9b('0x18')]);}return _0x3e0c9e[_0xde9b('0x49')](_0x9ff7da);}})[_0xde9b('0x1e')](function(_0x18dae6){if(_0x18dae6){return _0x18dae6?{'count':_0x4d82a6,'rows':_0x18dae6}:null;}})[_0xde9b('0x1e')](respondWithResult(_0x48c879,null))['catch'](handleError(_0x48c879,null));};exports[_0xde9b('0x4a')]=function(_0x12ad99,_0x2ccae5,_0x14f920){var _0x3cd472={};var _0x5aa37e={};var _0x3423c9;var _0x5271a5;return db['ZendeskConfiguration']['findOne']({'where':{'id':_0x12ad99[_0xde9b('0x3f')]['id']}})['then'](handleEntityNotFound(_0x2ccae5,null))[_0xde9b('0x1e')](function(_0x3c1c22){if(_0x3c1c22){_0x3423c9=_0x3c1c22;_0x5aa37e[_0xde9b('0x28')]=_['keys'](db['Tag'][_0xde9b('0x25')]);_0x5aa37e['query']=_['keys'](_0x12ad99['query']);_0x5aa37e['filters']=_[_0xde9b('0x2c')](_0x5aa37e[_0xde9b('0x28')],_0x5aa37e[_0xde9b('0x29')]);_0x3cd472[_0xde9b('0x2e')]=_[_0xde9b('0x2c')](_0x5aa37e[_0xde9b('0x28')],qs[_0xde9b('0x2d')](_0x12ad99[_0xde9b('0x29')][_0xde9b('0x2d')]));_0x3cd472[_0xde9b('0x2e')]=_0x3cd472[_0xde9b('0x2e')][_0xde9b('0x2f')]?_0x3cd472[_0xde9b('0x2e')]:_0x5aa37e['model'];_0x3cd472['order']=qs[_0xde9b('0x33')](_0x12ad99[_0xde9b('0x29')]['sort']);_0x3cd472[_0xde9b('0x34')]=qs[_0xde9b('0x2b')](_[_0xde9b('0x35')](_0x12ad99['query'],_0x5aa37e[_0xde9b('0x2b')]));if(_0x12ad99[_0xde9b('0x29')]['filter']){_0x3cd472[_0xde9b('0x34')]=_['merge'](_0x3cd472[_0xde9b('0x34')],{'$or':_[_0xde9b('0x23')](_0x3cd472[_0xde9b('0x2e')],function(_0x481a50){var _0x5e1a2f={};_0x5e1a2f[_0x481a50]={'$like':'%'+_0x12ad99[_0xde9b('0x29')][_0xde9b('0x36')]+'%'};return _0x5e1a2f;})});}_0x3cd472=_[_0xde9b('0x37')]({},_0x3cd472,_0x12ad99[_0xde9b('0x39')]);return _0x3423c9[_0xde9b('0x4a')](_0x3cd472);}})[_0xde9b('0x1e')](function(_0xbae2fc){if(_0xbae2fc){_0x5271a5=_0xbae2fc[_0xde9b('0x2f')];if(!_0x12ad99[_0xde9b('0x29')][_0xde9b('0x30')](_0xde9b('0x31'))){_0x3cd472[_0xde9b('0x16')]=qs[_0xde9b('0x16')](_0x12ad99[_0xde9b('0x29')][_0xde9b('0x16')]);_0x3cd472['offset']=qs['offset'](_0x12ad99[_0xde9b('0x29')][_0xde9b('0x18')]);}return _0x3423c9[_0xde9b('0x4a')](_0x3cd472);}})[_0xde9b('0x1e')](function(_0x42e387){if(_0x42e387){return _0x42e387?{'count':_0x5271a5,'rows':_0x42e387}:null;}})['then'](respondWithResult(_0x2ccae5,null))[_0xde9b('0x41')](handleError(_0x2ccae5,null));};exports[_0xde9b('0x4b')]=function(_0x57a0f2,_0x5d450b,_0x31de93){if(_0x57a0f2['body']['id']){delete _0x57a0f2['body']['id'];}return db[_0xde9b('0x24')][_0xde9b('0x47')]({'where':{'id':_0x57a0f2[_0xde9b('0x3f')]['id']}})[_0xde9b('0x1e')](handleEntityNotFound(_0x5d450b,null))[_0xde9b('0x1e')](function(_0x388f31){if(_0x388f31){return _0x388f31[_0xde9b('0x4b')](_0x57a0f2[_0xde9b('0x43')][_0xde9b('0x4c')]||[]);}return null;})[_0xde9b('0x1e')](respondWithResult(_0x5d450b,null))['catch'](handleError(_0x5d450b,null));};