4ca56b0e757a5ffcef52798c2fcb7a257beebd79
[motion2.git] / server / api / intDeskConfiguration / intDeskConfiguration.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 _0xe29b=['moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','status','end','json','undefined','limit','count','offset','Content-Range','apply','save','update','then','destroy','sendStatus','stack','name','send','index','map','DeskConfiguration','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','sort','where','pick','VIRTUAL','filter','merge','includeAll','include','findAll','rows','params','rawAttributes','length','options','find','catch','body','findOne','getFields','nolimit','getSubjects','DeskField','order','getDescriptions','getTags','setTags','ids','rimraf','zip-dir','fast-json-patch'];(function(_0x10b863,_0x4027c2){var _0x498d2a=function(_0x140cf6){while(--_0x140cf6){_0x10b863['push'](_0x10b863['shift']());}};_0x498d2a(++_0x4027c2);}(_0xe29b,0xed));var _0xbe29=function(_0x5c99a2,_0x77cd1d){_0x5c99a2=_0x5c99a2-0x0;var _0x240c17=_0xe29b[_0x5c99a2];return _0x240c17;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xbe29('0x0'));var zipdir=require(_0xbe29('0x1'));var jsonpatch=require(_0xbe29('0x2'));var rp=require('request-promise');var moment=require(_0xbe29('0x3'));var BPromise=require(_0xbe29('0x4'));var Mustache=require(_0xbe29('0x5'));var util=require(_0xbe29('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0xbe29('0x7'));var ejs=require(_0xbe29('0x8'));var fs=require('fs');var fs_extra=require(_0xbe29('0x9'));var _=require(_0xbe29('0xa'));var squel=require(_0xbe29('0xb'));var crypto=require('crypto');var jsforce=require(_0xbe29('0xc'));var deskjs=require(_0xbe29('0xd'));var toCsv=require(_0xbe29('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xbe29('0xe'));var authService=require(_0xbe29('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xbe29('0x10'));var hardwareService=require(_0xbe29('0x11'));var logger=require(_0xbe29('0x12'))(_0xbe29('0x13'));var utils=require(_0xbe29('0x14'));var config=require(_0xbe29('0x15'));var licenseUtil=require(_0xbe29('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3c37fb,_0x12affc){_0x12affc=_0x12affc||0xcc;return function(_0xf19419){if(_0xf19419){return _0x3c37fb['sendStatus'](_0x12affc);}return _0x3c37fb[_0xbe29('0x17')](_0x12affc)[_0xbe29('0x18')]();};}function respondWithResult(_0x4dd183,_0x3768ee){_0x3768ee=_0x3768ee||0xc8;return function(_0x2ca44c){if(_0x2ca44c){return _0x4dd183['status'](_0x3768ee)[_0xbe29('0x19')](_0x2ca44c);}};}function respondWithFilteredResult(_0x2ad3be,_0x16958e){return function(_0x46a2aa){if(_0x46a2aa){var _0xb6997f=typeof _0x16958e['offset']===_0xbe29('0x1a')&&typeof _0x16958e[_0xbe29('0x1b')]==='undefined';var _0x38bc08=_0x46a2aa[_0xbe29('0x1c')];var _0x36d720=_0xb6997f?0x0:_0x16958e[_0xbe29('0x1d')];var _0x149723=_0xb6997f?_0x46a2aa['count']:_0x16958e['offset']+_0x16958e[_0xbe29('0x1b')];var _0x5186d2;if(_0x149723>=_0x38bc08){_0x149723=_0x38bc08;_0x5186d2=0xc8;}else{_0x5186d2=0xce;}_0x2ad3be['status'](_0x5186d2);return _0x2ad3be['set'](_0xbe29('0x1e'),_0x36d720+'-'+_0x149723+'/'+_0x38bc08)[_0xbe29('0x19')](_0x46a2aa);}return null;};}function patchUpdates(_0x84d7fb){return function(_0x526bc8){try{jsonpatch[_0xbe29('0x1f')](_0x526bc8,_0x84d7fb,!![]);}catch(_0x500884){return BPromise['reject'](_0x500884);}return _0x526bc8[_0xbe29('0x20')]();};}function saveUpdates(_0x20ceda,_0x4556db){return function(_0x498de7){if(_0x498de7){return _0x498de7[_0xbe29('0x21')](_0x20ceda)[_0xbe29('0x22')](function(_0x4664a4){return _0x4664a4;});}return null;};}function removeEntity(_0x3aee5a,_0x5f488b){return function(_0x269148){if(_0x269148){return _0x269148[_0xbe29('0x23')]()['then'](function(){_0x3aee5a[_0xbe29('0x17')](0xcc)[_0xbe29('0x18')]();});}};}function handleEntityNotFound(_0x30f437,_0x5bb3f0){return function(_0x558fc9){if(!_0x558fc9){_0x30f437[_0xbe29('0x24')](0x194);}return _0x558fc9;};}function handleError(_0x5be599,_0x4cac85){_0x4cac85=_0x4cac85||0x1f4;return function(_0x2d8f7f){logger['error'](_0x2d8f7f[_0xbe29('0x25')]);if(_0x2d8f7f['name']){delete _0x2d8f7f[_0xbe29('0x26')];}_0x5be599['status'](_0x4cac85)[_0xbe29('0x27')](_0x2d8f7f);};}exports[_0xbe29('0x28')]=function(_0x1b20c5,_0x5e6d8a){var _0x46b1b4={},_0x580e62={},_0x480c16={'count':0x0,'rows':[]};var _0x30fd90=_[_0xbe29('0x29')](db[_0xbe29('0x2a')]['rawAttributes'],function(_0x26e671){return{'name':_0x26e671[_0xbe29('0x2b')],'type':_0x26e671['type'][_0xbe29('0x2c')]};});_0x580e62[_0xbe29('0x2d')]=_[_0xbe29('0x29')](_0x30fd90,_0xbe29('0x26'));_0x580e62[_0xbe29('0x2e')]=_[_0xbe29('0x2f')](_0x1b20c5[_0xbe29('0x2e')]);_0x580e62[_0xbe29('0x30')]=_[_0xbe29('0x31')](_0x580e62[_0xbe29('0x2d')],_0x580e62[_0xbe29('0x2e')]);_0x46b1b4[_0xbe29('0x32')]=_[_0xbe29('0x31')](_0x580e62[_0xbe29('0x2d')],qs[_0xbe29('0x33')](_0x1b20c5[_0xbe29('0x2e')]['fields']));_0x46b1b4[_0xbe29('0x32')]=_0x46b1b4[_0xbe29('0x32')]['length']?_0x46b1b4[_0xbe29('0x32')]:_0x580e62[_0xbe29('0x2d')];if(!_0x1b20c5[_0xbe29('0x2e')][_0xbe29('0x34')]('nolimit')){_0x46b1b4[_0xbe29('0x1b')]=qs[_0xbe29('0x1b')](_0x1b20c5[_0xbe29('0x2e')]['limit']);_0x46b1b4[_0xbe29('0x1d')]=qs['offset'](_0x1b20c5[_0xbe29('0x2e')][_0xbe29('0x1d')]);}_0x46b1b4['order']=qs[_0xbe29('0x35')](_0x1b20c5[_0xbe29('0x2e')][_0xbe29('0x35')]);_0x46b1b4[_0xbe29('0x36')]=qs[_0xbe29('0x30')](_[_0xbe29('0x37')](_0x1b20c5[_0xbe29('0x2e')],_0x580e62[_0xbe29('0x30')]),_0x30fd90);if(_0x1b20c5[_0xbe29('0x2e')]['filter']){_0x46b1b4[_0xbe29('0x36')]=_['merge'](_0x46b1b4[_0xbe29('0x36')],{'$or':_[_0xbe29('0x29')](_0x30fd90,function(_0x3a2115){if(_0x3a2115['type']!==_0xbe29('0x38')){var _0x2db6fd={};_0x2db6fd[_0x3a2115['name']]={'$like':'%'+_0x1b20c5[_0xbe29('0x2e')][_0xbe29('0x39')]+'%'};return _0x2db6fd;}})});}_0x46b1b4=_[_0xbe29('0x3a')]({},_0x46b1b4,_0x1b20c5['options']);var _0x107dd5={'where':_0x46b1b4[_0xbe29('0x36')]};return db[_0xbe29('0x2a')][_0xbe29('0x1c')](_0x107dd5)['then'](function(_0x5e8c06){_0x480c16[_0xbe29('0x1c')]=_0x5e8c06;if(_0x1b20c5[_0xbe29('0x2e')][_0xbe29('0x3b')]){_0x46b1b4[_0xbe29('0x3c')]=[{'all':!![]}];}return db[_0xbe29('0x2a')][_0xbe29('0x3d')](_0x46b1b4);})[_0xbe29('0x22')](function(_0x277107){_0x480c16[_0xbe29('0x3e')]=_0x277107;return _0x480c16;})[_0xbe29('0x22')](respondWithFilteredResult(_0x5e6d8a,_0x46b1b4))['catch'](handleError(_0x5e6d8a,null));};exports['show']=function(_0xce614f,_0x5967a8){var _0x25d0dd={'raw':![],'where':{'id':_0xce614f[_0xbe29('0x3f')]['id']}},_0x5a5783={};_0x5a5783['model']=_[_0xbe29('0x2f')](db[_0xbe29('0x2a')][_0xbe29('0x40')]);_0x5a5783[_0xbe29('0x2e')]=_[_0xbe29('0x2f')](_0xce614f[_0xbe29('0x2e')]);_0x5a5783[_0xbe29('0x30')]=_[_0xbe29('0x31')](_0x5a5783[_0xbe29('0x2d')],_0x5a5783['query']);_0x25d0dd[_0xbe29('0x32')]=_[_0xbe29('0x31')](_0x5a5783[_0xbe29('0x2d')],qs[_0xbe29('0x33')](_0xce614f[_0xbe29('0x2e')][_0xbe29('0x33')]));_0x25d0dd[_0xbe29('0x32')]=_0x25d0dd[_0xbe29('0x32')][_0xbe29('0x41')]?_0x25d0dd[_0xbe29('0x32')]:_0x5a5783[_0xbe29('0x2d')];if(_0xce614f[_0xbe29('0x2e')][_0xbe29('0x3b')]){_0x25d0dd[_0xbe29('0x3c')]=[{'all':!![]}];}_0x25d0dd=_[_0xbe29('0x3a')]({},_0x25d0dd,_0xce614f[_0xbe29('0x42')]);return db['DeskConfiguration'][_0xbe29('0x43')](_0x25d0dd)[_0xbe29('0x22')](handleEntityNotFound(_0x5967a8,null))[_0xbe29('0x22')](respondWithResult(_0x5967a8,null))['catch'](handleError(_0x5967a8,null));};exports['create']=function(_0x29b75f,_0x51ce2e){return db[_0xbe29('0x2a')]['create'](_0x29b75f['body'],{})[_0xbe29('0x22')](respondWithResult(_0x51ce2e,0xc9))[_0xbe29('0x44')](handleError(_0x51ce2e,null));};exports['update']=function(_0x334f82,_0x1cf25f){if(_0x334f82[_0xbe29('0x45')]['id']){delete _0x334f82['body']['id'];}return db[_0xbe29('0x2a')][_0xbe29('0x43')]({'where':{'id':_0x334f82[_0xbe29('0x3f')]['id']}})[_0xbe29('0x22')](handleEntityNotFound(_0x1cf25f,null))['then'](saveUpdates(_0x334f82[_0xbe29('0x45')],null))[_0xbe29('0x22')](respondWithResult(_0x1cf25f,null))[_0xbe29('0x44')](handleError(_0x1cf25f,null));};exports['destroy']=function(_0x576121,_0x509b9a){return db['DeskConfiguration']['find']({'where':{'id':_0x576121['params']['id']}})[_0xbe29('0x22')](handleEntityNotFound(_0x509b9a,null))[_0xbe29('0x22')](removeEntity(_0x509b9a,null))[_0xbe29('0x44')](handleError(_0x509b9a,null));};exports['getFields']=function(_0x1ebef5,_0x577d86,_0x4d210c){var _0x3437da={};var _0x1c1e94={};var _0x5ef380;var _0xa356bc;return db[_0xbe29('0x2a')][_0xbe29('0x46')]({'where':{'id':_0x1ebef5[_0xbe29('0x3f')]['id']}})['then'](handleEntityNotFound(_0x577d86,null))[_0xbe29('0x22')](function(_0x1a6ad7){if(_0x1a6ad7){_0x5ef380=_0x1a6ad7;_0x1c1e94[_0xbe29('0x2d')]=_[_0xbe29('0x2f')](db['DeskField'][_0xbe29('0x40')]);_0x1c1e94[_0xbe29('0x2e')]=_['keys'](_0x1ebef5[_0xbe29('0x2e')]);_0x1c1e94[_0xbe29('0x30')]=_[_0xbe29('0x31')](_0x1c1e94[_0xbe29('0x2d')],_0x1c1e94[_0xbe29('0x2e')]);_0x3437da[_0xbe29('0x32')]=_[_0xbe29('0x31')](_0x1c1e94['model'],qs['fields'](_0x1ebef5[_0xbe29('0x2e')][_0xbe29('0x33')]));_0x3437da[_0xbe29('0x32')]=_0x3437da[_0xbe29('0x32')][_0xbe29('0x41')]?_0x3437da[_0xbe29('0x32')]:_0x1c1e94['model'];_0x3437da['order']=qs[_0xbe29('0x35')](_0x1ebef5[_0xbe29('0x2e')][_0xbe29('0x35')]);_0x3437da['where']=qs[_0xbe29('0x30')](_[_0xbe29('0x37')](_0x1ebef5[_0xbe29('0x2e')],_0x1c1e94[_0xbe29('0x30')]));if(_0x1ebef5[_0xbe29('0x2e')][_0xbe29('0x39')]){_0x3437da[_0xbe29('0x36')]=_[_0xbe29('0x3a')](_0x3437da[_0xbe29('0x36')],{'$or':_[_0xbe29('0x29')](_0x3437da[_0xbe29('0x32')],function(_0x560265){var _0x3ee10e={};_0x3ee10e[_0x560265]={'$like':'%'+_0x1ebef5[_0xbe29('0x2e')][_0xbe29('0x39')]+'%'};return _0x3ee10e;})});}_0x3437da=_[_0xbe29('0x3a')]({},_0x3437da,_0x1ebef5['options']);return _0x5ef380[_0xbe29('0x47')](_0x3437da);}})[_0xbe29('0x22')](function(_0x215ab1){if(_0x215ab1){_0xa356bc=_0x215ab1[_0xbe29('0x41')];if(!_0x1ebef5[_0xbe29('0x2e')][_0xbe29('0x34')](_0xbe29('0x48'))){_0x3437da[_0xbe29('0x1b')]=qs['limit'](_0x1ebef5['query'][_0xbe29('0x1b')]);_0x3437da[_0xbe29('0x1d')]=qs[_0xbe29('0x1d')](_0x1ebef5['query'][_0xbe29('0x1d')]);}return _0x5ef380[_0xbe29('0x47')](_0x3437da);}})[_0xbe29('0x22')](function(_0x2a31c8){if(_0x2a31c8){return _0x2a31c8?{'count':_0xa356bc,'rows':_0x2a31c8}:null;}})[_0xbe29('0x22')](respondWithResult(_0x577d86,null))['catch'](handleError(_0x577d86,null));};exports[_0xbe29('0x49')]=function(_0x51c7c7,_0x5b6abf,_0x48f098){var _0x2cb84={};var _0x5aa9f7={};var _0x8a9ea1;var _0x2354e1;return db[_0xbe29('0x2a')][_0xbe29('0x46')]({'where':{'id':_0x51c7c7[_0xbe29('0x3f')]['id']}})[_0xbe29('0x22')](handleEntityNotFound(_0x5b6abf,null))[_0xbe29('0x22')](function(_0x2c1008){if(_0x2c1008){_0x8a9ea1=_0x2c1008;_0x5aa9f7['model']=_[_0xbe29('0x2f')](db[_0xbe29('0x4a')][_0xbe29('0x40')]);_0x5aa9f7[_0xbe29('0x2e')]=_[_0xbe29('0x2f')](_0x51c7c7[_0xbe29('0x2e')]);_0x5aa9f7[_0xbe29('0x30')]=_[_0xbe29('0x31')](_0x5aa9f7[_0xbe29('0x2d')],_0x5aa9f7[_0xbe29('0x2e')]);_0x2cb84[_0xbe29('0x32')]=_['intersection'](_0x5aa9f7['model'],qs[_0xbe29('0x33')](_0x51c7c7[_0xbe29('0x2e')][_0xbe29('0x33')]));_0x2cb84[_0xbe29('0x32')]=_0x2cb84[_0xbe29('0x32')]['length']?_0x2cb84[_0xbe29('0x32')]:_0x5aa9f7[_0xbe29('0x2d')];_0x2cb84[_0xbe29('0x4b')]=qs['sort'](_0x51c7c7[_0xbe29('0x2e')]['sort']);_0x2cb84[_0xbe29('0x36')]=qs[_0xbe29('0x30')](_[_0xbe29('0x37')](_0x51c7c7[_0xbe29('0x2e')],_0x5aa9f7['filters']));if(_0x51c7c7[_0xbe29('0x2e')]['filter']){_0x2cb84[_0xbe29('0x36')]=_[_0xbe29('0x3a')](_0x2cb84[_0xbe29('0x36')],{'$or':_[_0xbe29('0x29')](_0x2cb84[_0xbe29('0x32')],function(_0x2e2cb2){var _0x3e039f={};_0x3e039f[_0x2e2cb2]={'$like':'%'+_0x51c7c7['query'][_0xbe29('0x39')]+'%'};return _0x3e039f;})});}_0x2cb84=_[_0xbe29('0x3a')]({},_0x2cb84,_0x51c7c7[_0xbe29('0x42')]);return _0x8a9ea1[_0xbe29('0x49')](_0x2cb84);}})[_0xbe29('0x22')](function(_0x5527b0){if(_0x5527b0){_0x2354e1=_0x5527b0[_0xbe29('0x41')];if(!_0x51c7c7[_0xbe29('0x2e')][_0xbe29('0x34')](_0xbe29('0x48'))){_0x2cb84['limit']=qs[_0xbe29('0x1b')](_0x51c7c7[_0xbe29('0x2e')]['limit']);_0x2cb84[_0xbe29('0x1d')]=qs[_0xbe29('0x1d')](_0x51c7c7[_0xbe29('0x2e')]['offset']);}return _0x8a9ea1['getSubjects'](_0x2cb84);}})[_0xbe29('0x22')](function(_0x406a47){if(_0x406a47){return _0x406a47?{'count':_0x2354e1,'rows':_0x406a47}:null;}})['then'](respondWithResult(_0x5b6abf,null))[_0xbe29('0x44')](handleError(_0x5b6abf,null));};exports[_0xbe29('0x4c')]=function(_0x45f8bd,_0x150739,_0x5cb889){var _0xaddf3d={};var _0x58f83f={};var _0x13b278;var _0x2ec134;return db[_0xbe29('0x2a')][_0xbe29('0x46')]({'where':{'id':_0x45f8bd[_0xbe29('0x3f')]['id']}})[_0xbe29('0x22')](handleEntityNotFound(_0x150739,null))[_0xbe29('0x22')](function(_0x17de60){if(_0x17de60){_0x13b278=_0x17de60;_0x58f83f['model']=_['keys'](db[_0xbe29('0x4a')][_0xbe29('0x40')]);_0x58f83f[_0xbe29('0x2e')]=_[_0xbe29('0x2f')](_0x45f8bd['query']);_0x58f83f[_0xbe29('0x30')]=_['intersection'](_0x58f83f['model'],_0x58f83f['query']);_0xaddf3d[_0xbe29('0x32')]=_[_0xbe29('0x31')](_0x58f83f['model'],qs['fields'](_0x45f8bd[_0xbe29('0x2e')][_0xbe29('0x33')]));_0xaddf3d['attributes']=_0xaddf3d[_0xbe29('0x32')]['length']?_0xaddf3d[_0xbe29('0x32')]:_0x58f83f[_0xbe29('0x2d')];_0xaddf3d[_0xbe29('0x4b')]=qs[_0xbe29('0x35')](_0x45f8bd[_0xbe29('0x2e')][_0xbe29('0x35')]);_0xaddf3d[_0xbe29('0x36')]=qs['filters'](_[_0xbe29('0x37')](_0x45f8bd[_0xbe29('0x2e')],_0x58f83f[_0xbe29('0x30')]));if(_0x45f8bd[_0xbe29('0x2e')][_0xbe29('0x39')]){_0xaddf3d['where']=_[_0xbe29('0x3a')](_0xaddf3d['where'],{'$or':_['map'](_0xaddf3d[_0xbe29('0x32')],function(_0x552e3a){var _0x51e45a={};_0x51e45a[_0x552e3a]={'$like':'%'+_0x45f8bd[_0xbe29('0x2e')][_0xbe29('0x39')]+'%'};return _0x51e45a;})});}_0xaddf3d=_[_0xbe29('0x3a')]({},_0xaddf3d,_0x45f8bd[_0xbe29('0x42')]);return _0x13b278[_0xbe29('0x4c')](_0xaddf3d);}})[_0xbe29('0x22')](function(_0x95b4f4){if(_0x95b4f4){_0x2ec134=_0x95b4f4[_0xbe29('0x41')];if(!_0x45f8bd[_0xbe29('0x2e')]['hasOwnProperty'](_0xbe29('0x48'))){_0xaddf3d[_0xbe29('0x1b')]=qs[_0xbe29('0x1b')](_0x45f8bd[_0xbe29('0x2e')][_0xbe29('0x1b')]);_0xaddf3d[_0xbe29('0x1d')]=qs[_0xbe29('0x1d')](_0x45f8bd['query']['offset']);}return _0x13b278[_0xbe29('0x4c')](_0xaddf3d);}})[_0xbe29('0x22')](function(_0x3a2a2a){if(_0x3a2a2a){return _0x3a2a2a?{'count':_0x2ec134,'rows':_0x3a2a2a}:null;}})['then'](respondWithResult(_0x150739,null))['catch'](handleError(_0x150739,null));};exports[_0xbe29('0x4d')]=function(_0x11497a,_0x26c11c,_0x3e58c0){var _0x42f2a8={};var _0x8afd14={};var _0x17f0ea;var _0x77d56f;return db['DeskConfiguration'][_0xbe29('0x46')]({'where':{'id':_0x11497a[_0xbe29('0x3f')]['id']}})[_0xbe29('0x22')](handleEntityNotFound(_0x26c11c,null))['then'](function(_0x546bde){if(_0x546bde){_0x17f0ea=_0x546bde;_0x8afd14['model']=_[_0xbe29('0x2f')](db['Tag'][_0xbe29('0x40')]);_0x8afd14[_0xbe29('0x2e')]=_[_0xbe29('0x2f')](_0x11497a[_0xbe29('0x2e')]);_0x8afd14[_0xbe29('0x30')]=_[_0xbe29('0x31')](_0x8afd14[_0xbe29('0x2d')],_0x8afd14[_0xbe29('0x2e')]);_0x42f2a8[_0xbe29('0x32')]=_[_0xbe29('0x31')](_0x8afd14[_0xbe29('0x2d')],qs[_0xbe29('0x33')](_0x11497a[_0xbe29('0x2e')]['fields']));_0x42f2a8[_0xbe29('0x32')]=_0x42f2a8['attributes'][_0xbe29('0x41')]?_0x42f2a8[_0xbe29('0x32')]:_0x8afd14[_0xbe29('0x2d')];_0x42f2a8['order']=qs[_0xbe29('0x35')](_0x11497a[_0xbe29('0x2e')]['sort']);_0x42f2a8[_0xbe29('0x36')]=qs[_0xbe29('0x30')](_['pick'](_0x11497a[_0xbe29('0x2e')],_0x8afd14[_0xbe29('0x30')]));if(_0x11497a[_0xbe29('0x2e')]['filter']){_0x42f2a8[_0xbe29('0x36')]=_[_0xbe29('0x3a')](_0x42f2a8[_0xbe29('0x36')],{'$or':_['map'](_0x42f2a8[_0xbe29('0x32')],function(_0x5595ef){var _0x559c88={};_0x559c88[_0x5595ef]={'$like':'%'+_0x11497a[_0xbe29('0x2e')][_0xbe29('0x39')]+'%'};return _0x559c88;})});}_0x42f2a8=_[_0xbe29('0x3a')]({},_0x42f2a8,_0x11497a[_0xbe29('0x42')]);return _0x17f0ea['getTags'](_0x42f2a8);}})[_0xbe29('0x22')](function(_0x2c6757){if(_0x2c6757){_0x77d56f=_0x2c6757['length'];if(!_0x11497a['query'][_0xbe29('0x34')]('nolimit')){_0x42f2a8[_0xbe29('0x1b')]=qs['limit'](_0x11497a[_0xbe29('0x2e')][_0xbe29('0x1b')]);_0x42f2a8[_0xbe29('0x1d')]=qs[_0xbe29('0x1d')](_0x11497a[_0xbe29('0x2e')][_0xbe29('0x1d')]);}return _0x17f0ea[_0xbe29('0x4d')](_0x42f2a8);}})['then'](function(_0x56104c){if(_0x56104c){return _0x56104c?{'count':_0x77d56f,'rows':_0x56104c}:null;}})[_0xbe29('0x22')](respondWithResult(_0x26c11c,null))[_0xbe29('0x44')](handleError(_0x26c11c,null));};exports[_0xbe29('0x4e')]=function(_0x4eb6ed,_0x4a6006,_0x1ad34b){if(_0x4eb6ed[_0xbe29('0x45')]['id']){delete _0x4eb6ed['body']['id'];}return db[_0xbe29('0x2a')]['findOne']({'where':{'id':_0x4eb6ed['params']['id']}})[_0xbe29('0x22')](handleEntityNotFound(_0x4a6006,null))[_0xbe29('0x22')](function(_0x1db610){if(_0x1db610){return _0x1db610[_0xbe29('0x4e')](_0x4eb6ed['body'][_0xbe29('0x4f')]||[]);}return null;})['then'](respondWithResult(_0x4a6006,null))[_0xbe29('0x44')](handleError(_0x4a6006,null));};