e2b9b36400818e16dfe4358244dc8ca67b8b9267
[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 _0xa20a=['DeskConfiguration','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','find','create','body','getFields','findOne','length','options','getSubjects','DeskField','getDescriptions','getTags','setTags','ids','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','offset','undefined','limit','count','set','json','apply','save','update','then','destroy','end','sendStatus','error','stack','name','send','map'];(function(_0x1190c2,_0x2c078b){var _0x6ec988=function(_0x333cdf){while(--_0x333cdf){_0x1190c2['push'](_0x1190c2['shift']());}};_0x6ec988(++_0x2c078b);}(_0xa20a,0xd2));var _0xaa20=function(_0x3070dc,_0x40cf11){_0x3070dc=_0x3070dc-0x0;var _0x431489=_0xa20a[_0x3070dc];return _0x431489;};'use strict';var emlformat=require(_0xaa20('0x0'));var rimraf=require(_0xaa20('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xaa20('0x2'));var rp=require(_0xaa20('0x3'));var moment=require(_0xaa20('0x4'));var BPromise=require(_0xaa20('0x5'));var Mustache=require(_0xaa20('0x6'));var util=require(_0xaa20('0x7'));var path=require(_0xaa20('0x8'));var sox=require(_0xaa20('0x9'));var csv=require(_0xaa20('0xa'));var ejs=require(_0xaa20('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xaa20('0xc'));var squel=require(_0xaa20('0xd'));var crypto=require(_0xaa20('0xe'));var jsforce=require(_0xaa20('0xf'));var deskjs=require(_0xaa20('0x10'));var toCsv=require(_0xaa20('0xa'));var querystring=require(_0xaa20('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xaa20('0x12'));var qs=require(_0xaa20('0x13'));var as=require(_0xaa20('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xaa20('0x15'))(_0xaa20('0x16'));var utils=require(_0xaa20('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xaa20('0x18'));var db=require(_0xaa20('0x19'))['db'];function respondWithStatusCode(_0x3038ed,_0x5c3ecd){_0x5c3ecd=_0x5c3ecd||0xcc;return function(_0x49490a){if(_0x49490a){return _0x3038ed['sendStatus'](_0x5c3ecd);}return _0x3038ed[_0xaa20('0x1a')](_0x5c3ecd)['end']();};}function respondWithResult(_0x5bc3e5,_0x18bae6){_0x18bae6=_0x18bae6||0xc8;return function(_0x869ed6){if(_0x869ed6){return _0x5bc3e5[_0xaa20('0x1a')](_0x18bae6)['json'](_0x869ed6);}};}function respondWithFilteredResult(_0x58a669,_0x4d34e9){return function(_0x45a170){if(_0x45a170){var _0x2e8664=typeof _0x4d34e9[_0xaa20('0x1b')]===_0xaa20('0x1c')&&typeof _0x4d34e9[_0xaa20('0x1d')]==='undefined';var _0x1839f6=_0x45a170[_0xaa20('0x1e')];var _0x44fa89=_0x2e8664?0x0:_0x4d34e9[_0xaa20('0x1b')];var _0xb1d92a=_0x2e8664?_0x45a170['count']:_0x4d34e9[_0xaa20('0x1b')]+_0x4d34e9[_0xaa20('0x1d')];var _0x183627;if(_0xb1d92a>=_0x1839f6){_0xb1d92a=_0x1839f6;_0x183627=0xc8;}else{_0x183627=0xce;}_0x58a669[_0xaa20('0x1a')](_0x183627);return _0x58a669[_0xaa20('0x1f')]('Content-Range',_0x44fa89+'-'+_0xb1d92a+'/'+_0x1839f6)[_0xaa20('0x20')](_0x45a170);}return null;};}function patchUpdates(_0x4b68da){return function(_0x591474){try{jsonpatch[_0xaa20('0x21')](_0x591474,_0x4b68da,!![]);}catch(_0x2f4cb3){return BPromise['reject'](_0x2f4cb3);}return _0x591474[_0xaa20('0x22')]();};}function saveUpdates(_0x3409f4,_0x3ddbeb){return function(_0x284eea){if(_0x284eea){return _0x284eea[_0xaa20('0x23')](_0x3409f4)[_0xaa20('0x24')](function(_0x12d4b4){return _0x12d4b4;});}return null;};}function removeEntity(_0x3fce45,_0x1c5259){return function(_0x39f0d6){if(_0x39f0d6){return _0x39f0d6[_0xaa20('0x25')]()[_0xaa20('0x24')](function(){_0x3fce45[_0xaa20('0x1a')](0xcc)[_0xaa20('0x26')]();});}};}function handleEntityNotFound(_0x256d3d,_0x4a4fc4){return function(_0x4ca92f){if(!_0x4ca92f){_0x256d3d[_0xaa20('0x27')](0x194);}return _0x4ca92f;};}function handleError(_0xad17c1,_0x3b8aa6){_0x3b8aa6=_0x3b8aa6||0x1f4;return function(_0x1dd2d0){logger[_0xaa20('0x28')](_0x1dd2d0[_0xaa20('0x29')]);if(_0x1dd2d0[_0xaa20('0x2a')]){delete _0x1dd2d0['name'];}_0xad17c1[_0xaa20('0x1a')](_0x3b8aa6)[_0xaa20('0x2b')](_0x1dd2d0);};}exports['index']=function(_0x5b2142,_0x1af172){var _0x1e66f8={},_0x20cbaa={},_0x3dee91={'count':0x0,'rows':[]};var _0x4eb5a5=_[_0xaa20('0x2c')](db[_0xaa20('0x2d')][_0xaa20('0x2e')],function(_0x1d5154){return{'name':_0x1d5154[_0xaa20('0x2f')],'type':_0x1d5154[_0xaa20('0x30')]['key']};});_0x20cbaa[_0xaa20('0x31')]=_['map'](_0x4eb5a5,'name');_0x20cbaa[_0xaa20('0x32')]=_[_0xaa20('0x33')](_0x5b2142[_0xaa20('0x32')]);_0x20cbaa[_0xaa20('0x34')]=_[_0xaa20('0x35')](_0x20cbaa[_0xaa20('0x31')],_0x20cbaa[_0xaa20('0x32')]);_0x1e66f8[_0xaa20('0x36')]=_[_0xaa20('0x35')](_0x20cbaa[_0xaa20('0x31')],qs[_0xaa20('0x37')](_0x5b2142[_0xaa20('0x32')][_0xaa20('0x37')]));_0x1e66f8[_0xaa20('0x36')]=_0x1e66f8['attributes']['length']?_0x1e66f8[_0xaa20('0x36')]:_0x20cbaa[_0xaa20('0x31')];if(!_0x5b2142['query'][_0xaa20('0x38')](_0xaa20('0x39'))){_0x1e66f8[_0xaa20('0x1d')]=qs[_0xaa20('0x1d')](_0x5b2142['query'][_0xaa20('0x1d')]);_0x1e66f8[_0xaa20('0x1b')]=qs[_0xaa20('0x1b')](_0x5b2142[_0xaa20('0x32')][_0xaa20('0x1b')]);}_0x1e66f8[_0xaa20('0x3a')]=qs[_0xaa20('0x3b')](_0x5b2142[_0xaa20('0x32')]['sort']);_0x1e66f8[_0xaa20('0x3c')]=qs[_0xaa20('0x34')](_[_0xaa20('0x3d')](_0x5b2142[_0xaa20('0x32')],_0x20cbaa['filters']),_0x4eb5a5);if(_0x5b2142['query'][_0xaa20('0x3e')]){_0x1e66f8[_0xaa20('0x3c')]=_[_0xaa20('0x3f')](_0x1e66f8[_0xaa20('0x3c')],{'$or':_['map'](_0x4eb5a5,function(_0x52f011){if(_0x52f011[_0xaa20('0x30')]!==_0xaa20('0x40')){var _0x21c1bf={};_0x21c1bf[_0x52f011['name']]={'$like':'%'+_0x5b2142[_0xaa20('0x32')][_0xaa20('0x3e')]+'%'};return _0x21c1bf;}})});}_0x1e66f8=_[_0xaa20('0x3f')]({},_0x1e66f8,_0x5b2142['options']);var _0x459f51={'where':_0x1e66f8['where']};return db['DeskConfiguration'][_0xaa20('0x1e')](_0x459f51)[_0xaa20('0x24')](function(_0x157fb){_0x3dee91[_0xaa20('0x1e')]=_0x157fb;if(_0x5b2142[_0xaa20('0x32')][_0xaa20('0x41')]){_0x1e66f8[_0xaa20('0x42')]=[{'all':!![]}];}return db[_0xaa20('0x2d')][_0xaa20('0x43')](_0x1e66f8);})['then'](function(_0x187144){_0x3dee91[_0xaa20('0x44')]=_0x187144;return _0x3dee91;})[_0xaa20('0x24')](respondWithFilteredResult(_0x1af172,_0x1e66f8))[_0xaa20('0x45')](handleError(_0x1af172,null));};exports[_0xaa20('0x46')]=function(_0x17abe3,_0x6a457b){var _0x458b39={'raw':![],'where':{'id':_0x17abe3[_0xaa20('0x47')]['id']}},_0x4dab64={};_0x4dab64[_0xaa20('0x31')]=_[_0xaa20('0x33')](db[_0xaa20('0x2d')][_0xaa20('0x2e')]);_0x4dab64[_0xaa20('0x32')]=_['keys'](_0x17abe3['query']);_0x4dab64[_0xaa20('0x34')]=_['intersection'](_0x4dab64[_0xaa20('0x31')],_0x4dab64[_0xaa20('0x32')]);_0x458b39[_0xaa20('0x36')]=_['intersection'](_0x4dab64[_0xaa20('0x31')],qs[_0xaa20('0x37')](_0x17abe3[_0xaa20('0x32')][_0xaa20('0x37')]));_0x458b39['attributes']=_0x458b39[_0xaa20('0x36')]['length']?_0x458b39[_0xaa20('0x36')]:_0x4dab64['model'];if(_0x17abe3[_0xaa20('0x32')][_0xaa20('0x41')]){_0x458b39[_0xaa20('0x42')]=[{'all':!![]}];}_0x458b39=_[_0xaa20('0x3f')]({},_0x458b39,_0x17abe3['options']);return db[_0xaa20('0x2d')][_0xaa20('0x48')](_0x458b39)[_0xaa20('0x24')](handleEntityNotFound(_0x6a457b,null))[_0xaa20('0x24')](respondWithResult(_0x6a457b,null))[_0xaa20('0x45')](handleError(_0x6a457b,null));};exports['create']=function(_0x4a5318,_0x490682){return db['DeskConfiguration'][_0xaa20('0x49')](_0x4a5318[_0xaa20('0x4a')],{})[_0xaa20('0x24')](respondWithResult(_0x490682,0xc9))[_0xaa20('0x45')](handleError(_0x490682,null));};exports[_0xaa20('0x23')]=function(_0x1907d1,_0x205af2){if(_0x1907d1['body']['id']){delete _0x1907d1[_0xaa20('0x4a')]['id'];}return db[_0xaa20('0x2d')]['find']({'where':{'id':_0x1907d1[_0xaa20('0x47')]['id']}})[_0xaa20('0x24')](handleEntityNotFound(_0x205af2,null))[_0xaa20('0x24')](saveUpdates(_0x1907d1[_0xaa20('0x4a')],null))['then'](respondWithResult(_0x205af2,null))[_0xaa20('0x45')](handleError(_0x205af2,null));};exports[_0xaa20('0x25')]=function(_0x1b7e5d,_0x14e8b0){return db['DeskConfiguration'][_0xaa20('0x48')]({'where':{'id':_0x1b7e5d[_0xaa20('0x47')]['id']}})[_0xaa20('0x24')](handleEntityNotFound(_0x14e8b0,null))['then'](removeEntity(_0x14e8b0,null))['catch'](handleError(_0x14e8b0,null));};exports[_0xaa20('0x4b')]=function(_0x193952,_0x165706,_0x5dc6b2){var _0x2f1fef={};var _0x214574={};var _0x59f316;var _0x471955;return db[_0xaa20('0x2d')][_0xaa20('0x4c')]({'where':{'id':_0x193952[_0xaa20('0x47')]['id']}})[_0xaa20('0x24')](handleEntityNotFound(_0x165706,null))[_0xaa20('0x24')](function(_0xa3ad0){if(_0xa3ad0){_0x59f316=_0xa3ad0;_0x214574[_0xaa20('0x31')]=_['keys'](db['DeskField'][_0xaa20('0x2e')]);_0x214574[_0xaa20('0x32')]=_['keys'](_0x193952[_0xaa20('0x32')]);_0x214574['filters']=_[_0xaa20('0x35')](_0x214574[_0xaa20('0x31')],_0x214574['query']);_0x2f1fef['attributes']=_[_0xaa20('0x35')](_0x214574[_0xaa20('0x31')],qs[_0xaa20('0x37')](_0x193952['query']['fields']));_0x2f1fef[_0xaa20('0x36')]=_0x2f1fef[_0xaa20('0x36')][_0xaa20('0x4d')]?_0x2f1fef['attributes']:_0x214574['model'];_0x2f1fef[_0xaa20('0x3a')]=qs[_0xaa20('0x3b')](_0x193952[_0xaa20('0x32')][_0xaa20('0x3b')]);_0x2f1fef[_0xaa20('0x3c')]=qs[_0xaa20('0x34')](_[_0xaa20('0x3d')](_0x193952[_0xaa20('0x32')],_0x214574[_0xaa20('0x34')]));if(_0x193952[_0xaa20('0x32')][_0xaa20('0x3e')]){_0x2f1fef[_0xaa20('0x3c')]=_[_0xaa20('0x3f')](_0x2f1fef['where'],{'$or':_[_0xaa20('0x2c')](_0x2f1fef['attributes'],function(_0x5ec9ca){var _0x58fdff={};_0x58fdff[_0x5ec9ca]={'$like':'%'+_0x193952[_0xaa20('0x32')][_0xaa20('0x3e')]+'%'};return _0x58fdff;})});}_0x2f1fef=_[_0xaa20('0x3f')]({},_0x2f1fef,_0x193952[_0xaa20('0x4e')]);return _0x59f316[_0xaa20('0x4b')](_0x2f1fef);}})[_0xaa20('0x24')](function(_0x58bd42){if(_0x58bd42){_0x471955=_0x58bd42[_0xaa20('0x4d')];if(!_0x193952[_0xaa20('0x32')][_0xaa20('0x38')](_0xaa20('0x39'))){_0x2f1fef['limit']=qs[_0xaa20('0x1d')](_0x193952[_0xaa20('0x32')][_0xaa20('0x1d')]);_0x2f1fef[_0xaa20('0x1b')]=qs['offset'](_0x193952[_0xaa20('0x32')]['offset']);}return _0x59f316[_0xaa20('0x4b')](_0x2f1fef);}})[_0xaa20('0x24')](function(_0x1f5197){if(_0x1f5197){return _0x1f5197?{'count':_0x471955,'rows':_0x1f5197}:null;}})[_0xaa20('0x24')](respondWithResult(_0x165706,null))[_0xaa20('0x45')](handleError(_0x165706,null));};exports[_0xaa20('0x4f')]=function(_0x5017ba,_0x522042,_0x18a3d8){var _0x59d857={};var _0xdfd74f={};var _0x6d7e8;var _0x147916;return db['DeskConfiguration'][_0xaa20('0x4c')]({'where':{'id':_0x5017ba['params']['id']}})['then'](handleEntityNotFound(_0x522042,null))[_0xaa20('0x24')](function(_0x11fb88){if(_0x11fb88){_0x6d7e8=_0x11fb88;_0xdfd74f[_0xaa20('0x31')]=_[_0xaa20('0x33')](db['DeskField'][_0xaa20('0x2e')]);_0xdfd74f[_0xaa20('0x32')]=_[_0xaa20('0x33')](_0x5017ba['query']);_0xdfd74f[_0xaa20('0x34')]=_[_0xaa20('0x35')](_0xdfd74f[_0xaa20('0x31')],_0xdfd74f[_0xaa20('0x32')]);_0x59d857['attributes']=_[_0xaa20('0x35')](_0xdfd74f[_0xaa20('0x31')],qs[_0xaa20('0x37')](_0x5017ba['query'][_0xaa20('0x37')]));_0x59d857[_0xaa20('0x36')]=_0x59d857[_0xaa20('0x36')][_0xaa20('0x4d')]?_0x59d857[_0xaa20('0x36')]:_0xdfd74f[_0xaa20('0x31')];_0x59d857[_0xaa20('0x3a')]=qs[_0xaa20('0x3b')](_0x5017ba[_0xaa20('0x32')][_0xaa20('0x3b')]);_0x59d857['where']=qs[_0xaa20('0x34')](_[_0xaa20('0x3d')](_0x5017ba[_0xaa20('0x32')],_0xdfd74f[_0xaa20('0x34')]));if(_0x5017ba[_0xaa20('0x32')][_0xaa20('0x3e')]){_0x59d857[_0xaa20('0x3c')]=_[_0xaa20('0x3f')](_0x59d857[_0xaa20('0x3c')],{'$or':_[_0xaa20('0x2c')](_0x59d857[_0xaa20('0x36')],function(_0x33bec1){var _0x16816b={};_0x16816b[_0x33bec1]={'$like':'%'+_0x5017ba[_0xaa20('0x32')][_0xaa20('0x3e')]+'%'};return _0x16816b;})});}_0x59d857=_[_0xaa20('0x3f')]({},_0x59d857,_0x5017ba[_0xaa20('0x4e')]);return _0x6d7e8['getSubjects'](_0x59d857);}})[_0xaa20('0x24')](function(_0x4ef9b6){if(_0x4ef9b6){_0x147916=_0x4ef9b6[_0xaa20('0x4d')];if(!_0x5017ba[_0xaa20('0x32')][_0xaa20('0x38')](_0xaa20('0x39'))){_0x59d857[_0xaa20('0x1d')]=qs[_0xaa20('0x1d')](_0x5017ba[_0xaa20('0x32')]['limit']);_0x59d857[_0xaa20('0x1b')]=qs[_0xaa20('0x1b')](_0x5017ba['query'][_0xaa20('0x1b')]);}return _0x6d7e8['getSubjects'](_0x59d857);}})[_0xaa20('0x24')](function(_0x1ec2e1){if(_0x1ec2e1){return _0x1ec2e1?{'count':_0x147916,'rows':_0x1ec2e1}:null;}})[_0xaa20('0x24')](respondWithResult(_0x522042,null))[_0xaa20('0x45')](handleError(_0x522042,null));};exports['getDescriptions']=function(_0x3ea7c7,_0x49a3f8,_0x1ba520){var _0x9c1620={};var _0x23be3a={};var _0x231643;var _0x5aed99;return db[_0xaa20('0x2d')]['findOne']({'where':{'id':_0x3ea7c7[_0xaa20('0x47')]['id']}})['then'](handleEntityNotFound(_0x49a3f8,null))[_0xaa20('0x24')](function(_0x491cc8){if(_0x491cc8){_0x231643=_0x491cc8;_0x23be3a[_0xaa20('0x31')]=_[_0xaa20('0x33')](db[_0xaa20('0x50')][_0xaa20('0x2e')]);_0x23be3a['query']=_['keys'](_0x3ea7c7[_0xaa20('0x32')]);_0x23be3a[_0xaa20('0x34')]=_[_0xaa20('0x35')](_0x23be3a[_0xaa20('0x31')],_0x23be3a['query']);_0x9c1620[_0xaa20('0x36')]=_[_0xaa20('0x35')](_0x23be3a[_0xaa20('0x31')],qs[_0xaa20('0x37')](_0x3ea7c7[_0xaa20('0x32')]['fields']));_0x9c1620[_0xaa20('0x36')]=_0x9c1620[_0xaa20('0x36')][_0xaa20('0x4d')]?_0x9c1620['attributes']:_0x23be3a['model'];_0x9c1620['order']=qs[_0xaa20('0x3b')](_0x3ea7c7[_0xaa20('0x32')]['sort']);_0x9c1620[_0xaa20('0x3c')]=qs['filters'](_[_0xaa20('0x3d')](_0x3ea7c7[_0xaa20('0x32')],_0x23be3a[_0xaa20('0x34')]));if(_0x3ea7c7[_0xaa20('0x32')][_0xaa20('0x3e')]){_0x9c1620[_0xaa20('0x3c')]=_['merge'](_0x9c1620[_0xaa20('0x3c')],{'$or':_[_0xaa20('0x2c')](_0x9c1620[_0xaa20('0x36')],function(_0x3c542f){var _0x5f28c8={};_0x5f28c8[_0x3c542f]={'$like':'%'+_0x3ea7c7[_0xaa20('0x32')][_0xaa20('0x3e')]+'%'};return _0x5f28c8;})});}_0x9c1620=_[_0xaa20('0x3f')]({},_0x9c1620,_0x3ea7c7[_0xaa20('0x4e')]);return _0x231643[_0xaa20('0x51')](_0x9c1620);}})['then'](function(_0x547acf){if(_0x547acf){_0x5aed99=_0x547acf[_0xaa20('0x4d')];if(!_0x3ea7c7[_0xaa20('0x32')][_0xaa20('0x38')](_0xaa20('0x39'))){_0x9c1620[_0xaa20('0x1d')]=qs['limit'](_0x3ea7c7[_0xaa20('0x32')][_0xaa20('0x1d')]);_0x9c1620[_0xaa20('0x1b')]=qs[_0xaa20('0x1b')](_0x3ea7c7[_0xaa20('0x32')]['offset']);}return _0x231643[_0xaa20('0x51')](_0x9c1620);}})[_0xaa20('0x24')](function(_0x38346a){if(_0x38346a){return _0x38346a?{'count':_0x5aed99,'rows':_0x38346a}:null;}})['then'](respondWithResult(_0x49a3f8,null))[_0xaa20('0x45')](handleError(_0x49a3f8,null));};exports[_0xaa20('0x52')]=function(_0x34d475,_0x5f1b6f,_0x295498){var _0x33a047={};var _0x2b863a={};var _0x13465a;var _0x5dbd60;return db['DeskConfiguration'][_0xaa20('0x4c')]({'where':{'id':_0x34d475['params']['id']}})['then'](handleEntityNotFound(_0x5f1b6f,null))[_0xaa20('0x24')](function(_0x561080){if(_0x561080){_0x13465a=_0x561080;_0x2b863a[_0xaa20('0x31')]=_['keys'](db['Tag'][_0xaa20('0x2e')]);_0x2b863a['query']=_[_0xaa20('0x33')](_0x34d475[_0xaa20('0x32')]);_0x2b863a[_0xaa20('0x34')]=_[_0xaa20('0x35')](_0x2b863a[_0xaa20('0x31')],_0x2b863a[_0xaa20('0x32')]);_0x33a047[_0xaa20('0x36')]=_[_0xaa20('0x35')](_0x2b863a[_0xaa20('0x31')],qs[_0xaa20('0x37')](_0x34d475[_0xaa20('0x32')][_0xaa20('0x37')]));_0x33a047['attributes']=_0x33a047['attributes']['length']?_0x33a047[_0xaa20('0x36')]:_0x2b863a[_0xaa20('0x31')];_0x33a047[_0xaa20('0x3a')]=qs['sort'](_0x34d475['query'][_0xaa20('0x3b')]);_0x33a047[_0xaa20('0x3c')]=qs[_0xaa20('0x34')](_[_0xaa20('0x3d')](_0x34d475['query'],_0x2b863a[_0xaa20('0x34')]));if(_0x34d475[_0xaa20('0x32')][_0xaa20('0x3e')]){_0x33a047[_0xaa20('0x3c')]=_[_0xaa20('0x3f')](_0x33a047[_0xaa20('0x3c')],{'$or':_[_0xaa20('0x2c')](_0x33a047['attributes'],function(_0x101fc6){var _0x1fe9b9={};_0x1fe9b9[_0x101fc6]={'$like':'%'+_0x34d475[_0xaa20('0x32')][_0xaa20('0x3e')]+'%'};return _0x1fe9b9;})});}_0x33a047=_[_0xaa20('0x3f')]({},_0x33a047,_0x34d475[_0xaa20('0x4e')]);return _0x13465a[_0xaa20('0x52')](_0x33a047);}})[_0xaa20('0x24')](function(_0x2faa6a){if(_0x2faa6a){_0x5dbd60=_0x2faa6a[_0xaa20('0x4d')];if(!_0x34d475[_0xaa20('0x32')][_0xaa20('0x38')]('nolimit')){_0x33a047['limit']=qs['limit'](_0x34d475['query'][_0xaa20('0x1d')]);_0x33a047['offset']=qs[_0xaa20('0x1b')](_0x34d475[_0xaa20('0x32')]['offset']);}return _0x13465a['getTags'](_0x33a047);}})[_0xaa20('0x24')](function(_0x1ff737){if(_0x1ff737){return _0x1ff737?{'count':_0x5dbd60,'rows':_0x1ff737}:null;}})[_0xaa20('0x24')](respondWithResult(_0x5f1b6f,null))[_0xaa20('0x45')](handleError(_0x5f1b6f,null));};exports[_0xaa20('0x53')]=function(_0x35293e,_0x3281e5,_0x3a75d9){if(_0x35293e[_0xaa20('0x4a')]['id']){delete _0x35293e[_0xaa20('0x4a')]['id'];}return db[_0xaa20('0x2d')][_0xaa20('0x4c')]({'where':{'id':_0x35293e['params']['id']}})[_0xaa20('0x24')](handleEntityNotFound(_0x3281e5,null))[_0xaa20('0x24')](function(_0x54c5f8){if(_0x54c5f8){return _0x54c5f8[_0xaa20('0x53')](_0x35293e[_0xaa20('0x4a')][_0xaa20('0x54')]||[]);}return null;})[_0xaa20('0x24')](respondWithResult(_0x3281e5,null))['catch'](handleError(_0x3281e5,null));};