23448663503a1ce59328151cc7916dbfda216f7a
[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 _0xc4ac=['params','keys','find','catch','create','update','body','getFields','findOne','FreshdeskField','nolimit','getSubjects','hasOwnProperty','getDescriptions','Tag','getTags','setTags','ids','eml-format','request-promise','bluebird','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','reject','save','destroy','error','stack','name','send','map','FreshdeskConfiguration','rawAttributes','fieldName','type','model','query','filters','attributes','intersection','fields','length','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','then','rows'];(function(_0x17c921,_0x5e4203){var _0x4cca96=function(_0x5470ea){while(--_0x5470ea){_0x17c921['push'](_0x17c921['shift']());}};_0x4cca96(++_0x5e4203);}(_0xc4ac,0x66));var _0xcc4a=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xc4ac[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0xcc4a('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xcc4a('0x1'));var moment=require('moment');var BPromise=require(_0xcc4a('0x2'));var Mustache=require('mustache');var util=require(_0xcc4a('0x3'));var path=require(_0xcc4a('0x4'));var sox=require('sox');var csv=require(_0xcc4a('0x5'));var ejs=require(_0xcc4a('0x6'));var fs=require('fs');var fs_extra=require(_0xcc4a('0x7'));var _=require(_0xcc4a('0x8'));var squel=require(_0xcc4a('0x9'));var crypto=require(_0xcc4a('0xa'));var jsforce=require(_0xcc4a('0xb'));var deskjs=require(_0xcc4a('0xc'));var toCsv=require(_0xcc4a('0x5'));var querystring=require(_0xcc4a('0xd'));var Papa=require(_0xcc4a('0xe'));var Redis=require(_0xcc4a('0xf'));var authService=require(_0xcc4a('0x10'));var qs=require(_0xcc4a('0x11'));var as=require(_0xcc4a('0x12'));var hardwareService=require(_0xcc4a('0x13'));var logger=require(_0xcc4a('0x14'))('api');var utils=require(_0xcc4a('0x15'));var config=require(_0xcc4a('0x16'));var licenseUtil=require(_0xcc4a('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x44ba2c,_0x20b23e){_0x20b23e=_0x20b23e||0xcc;return function(_0x418241){if(_0x418241){return _0x44ba2c[_0xcc4a('0x18')](_0x20b23e);}return _0x44ba2c[_0xcc4a('0x19')](_0x20b23e)[_0xcc4a('0x1a')]();};}function respondWithResult(_0x30a46b,_0x2b34fe){_0x2b34fe=_0x2b34fe||0xc8;return function(_0x3312c6){if(_0x3312c6){return _0x30a46b[_0xcc4a('0x19')](_0x2b34fe)[_0xcc4a('0x1b')](_0x3312c6);}};}function respondWithFilteredResult(_0x8bfe91,_0x56db06){return function(_0x34941a){if(_0x34941a){var _0x100244=typeof _0x56db06[_0xcc4a('0x1c')]===_0xcc4a('0x1d')&&typeof _0x56db06['limit']===_0xcc4a('0x1d');var _0x15e06e=_0x34941a['count'];var _0x11ce07=_0x100244?0x0:_0x56db06[_0xcc4a('0x1c')];var _0x57bc81=_0x100244?_0x34941a[_0xcc4a('0x1e')]:_0x56db06[_0xcc4a('0x1c')]+_0x56db06['limit'];var _0x4d1a4e;if(_0x57bc81>=_0x15e06e){_0x57bc81=_0x15e06e;_0x4d1a4e=0xc8;}else{_0x4d1a4e=0xce;}_0x8bfe91['status'](_0x4d1a4e);return _0x8bfe91[_0xcc4a('0x1f')](_0xcc4a('0x20'),_0x11ce07+'-'+_0x57bc81+'/'+_0x15e06e)['json'](_0x34941a);}return null;};}function patchUpdates(_0x393ebb){return function(_0x3fb81e){try{jsonpatch['apply'](_0x3fb81e,_0x393ebb,!![]);}catch(_0x1e5642){return BPromise[_0xcc4a('0x21')](_0x1e5642);}return _0x3fb81e[_0xcc4a('0x22')]();};}function saveUpdates(_0xdd7e39,_0x408fe1){return function(_0x116cec){if(_0x116cec){return _0x116cec['update'](_0xdd7e39)['then'](function(_0xc5eef1){return _0xc5eef1;});}return null;};}function removeEntity(_0x254fcd,_0x261a99){return function(_0x3b020e){if(_0x3b020e){return _0x3b020e[_0xcc4a('0x23')]()['then'](function(){_0x254fcd[_0xcc4a('0x19')](0xcc)[_0xcc4a('0x1a')]();});}};}function handleEntityNotFound(_0x4685cd,_0x2245b1){return function(_0x3b21c2){if(!_0x3b21c2){_0x4685cd['sendStatus'](0x194);}return _0x3b21c2;};}function handleError(_0x59c9dd,_0x348e39){_0x348e39=_0x348e39||0x1f4;return function(_0x3c33d4){logger[_0xcc4a('0x24')](_0x3c33d4[_0xcc4a('0x25')]);if(_0x3c33d4[_0xcc4a('0x26')]){delete _0x3c33d4['name'];}_0x59c9dd['status'](_0x348e39)[_0xcc4a('0x27')](_0x3c33d4);};}exports['index']=function(_0x5c638f,_0x9fcbfd){var _0x2646bb={},_0x228946={},_0x5bbd7f={'count':0x0,'rows':[]};var _0x2c6d67=_[_0xcc4a('0x28')](db[_0xcc4a('0x29')][_0xcc4a('0x2a')],function(_0x5aaa6b){return{'name':_0x5aaa6b[_0xcc4a('0x2b')],'type':_0x5aaa6b[_0xcc4a('0x2c')]['key']};});_0x228946[_0xcc4a('0x2d')]=_[_0xcc4a('0x28')](_0x2c6d67,_0xcc4a('0x26'));_0x228946[_0xcc4a('0x2e')]=_['keys'](_0x5c638f[_0xcc4a('0x2e')]);_0x228946[_0xcc4a('0x2f')]=_['intersection'](_0x228946['model'],_0x228946['query']);_0x2646bb[_0xcc4a('0x30')]=_[_0xcc4a('0x31')](_0x228946[_0xcc4a('0x2d')],qs[_0xcc4a('0x32')](_0x5c638f[_0xcc4a('0x2e')]['fields']));_0x2646bb[_0xcc4a('0x30')]=_0x2646bb[_0xcc4a('0x30')][_0xcc4a('0x33')]?_0x2646bb[_0xcc4a('0x30')]:_0x228946[_0xcc4a('0x2d')];if(!_0x5c638f[_0xcc4a('0x2e')]['hasOwnProperty']('nolimit')){_0x2646bb['limit']=qs['limit'](_0x5c638f[_0xcc4a('0x2e')][_0xcc4a('0x34')]);_0x2646bb['offset']=qs[_0xcc4a('0x1c')](_0x5c638f[_0xcc4a('0x2e')][_0xcc4a('0x1c')]);}_0x2646bb[_0xcc4a('0x35')]=qs['sort'](_0x5c638f[_0xcc4a('0x2e')][_0xcc4a('0x36')]);_0x2646bb[_0xcc4a('0x37')]=qs['filters'](_[_0xcc4a('0x38')](_0x5c638f[_0xcc4a('0x2e')],_0x228946['filters']),_0x2c6d67);if(_0x5c638f[_0xcc4a('0x2e')][_0xcc4a('0x39')]){_0x2646bb['where']=_[_0xcc4a('0x3a')](_0x2646bb[_0xcc4a('0x37')],{'$or':_['map'](_0x2c6d67,function(_0xfbecef){if(_0xfbecef[_0xcc4a('0x2c')]!==_0xcc4a('0x3b')){var _0x5f40d7={};_0x5f40d7[_0xfbecef['name']]={'$like':'%'+_0x5c638f['query']['filter']+'%'};return _0x5f40d7;}})});}_0x2646bb=_[_0xcc4a('0x3a')]({},_0x2646bb,_0x5c638f[_0xcc4a('0x3c')]);var _0x493d73={'where':_0x2646bb['where']};return db[_0xcc4a('0x29')]['count'](_0x493d73)['then'](function(_0x8b4bdc){_0x5bbd7f[_0xcc4a('0x1e')]=_0x8b4bdc;if(_0x5c638f[_0xcc4a('0x2e')][_0xcc4a('0x3d')]){_0x2646bb[_0xcc4a('0x3e')]=[{'all':!![]}];}return db['FreshdeskConfiguration'][_0xcc4a('0x3f')](_0x2646bb);})[_0xcc4a('0x40')](function(_0x10df90){_0x5bbd7f[_0xcc4a('0x41')]=_0x10df90;return _0x5bbd7f;})[_0xcc4a('0x40')](respondWithFilteredResult(_0x9fcbfd,_0x2646bb))['catch'](handleError(_0x9fcbfd,null));};exports['show']=function(_0x34fed9,_0x4e415b){var _0x30b9d3={'raw':![],'where':{'id':_0x34fed9[_0xcc4a('0x42')]['id']}},_0x130596={};_0x130596[_0xcc4a('0x2d')]=_[_0xcc4a('0x43')](db[_0xcc4a('0x29')][_0xcc4a('0x2a')]);_0x130596['query']=_[_0xcc4a('0x43')](_0x34fed9['query']);_0x130596[_0xcc4a('0x2f')]=_[_0xcc4a('0x31')](_0x130596[_0xcc4a('0x2d')],_0x130596[_0xcc4a('0x2e')]);_0x30b9d3[_0xcc4a('0x30')]=_[_0xcc4a('0x31')](_0x130596[_0xcc4a('0x2d')],qs['fields'](_0x34fed9[_0xcc4a('0x2e')][_0xcc4a('0x32')]));_0x30b9d3[_0xcc4a('0x30')]=_0x30b9d3[_0xcc4a('0x30')][_0xcc4a('0x33')]?_0x30b9d3['attributes']:_0x130596[_0xcc4a('0x2d')];if(_0x34fed9[_0xcc4a('0x2e')]['includeAll']){_0x30b9d3['include']=[{'all':!![]}];}_0x30b9d3=_[_0xcc4a('0x3a')]({},_0x30b9d3,_0x34fed9[_0xcc4a('0x3c')]);return db[_0xcc4a('0x29')][_0xcc4a('0x44')](_0x30b9d3)[_0xcc4a('0x40')](handleEntityNotFound(_0x4e415b,null))[_0xcc4a('0x40')](respondWithResult(_0x4e415b,null))[_0xcc4a('0x45')](handleError(_0x4e415b,null));};exports['create']=function(_0x82c098,_0xd1a2d4){return db[_0xcc4a('0x29')][_0xcc4a('0x46')](_0x82c098['body'],{})[_0xcc4a('0x40')](respondWithResult(_0xd1a2d4,0xc9))[_0xcc4a('0x45')](handleError(_0xd1a2d4,null));};exports[_0xcc4a('0x47')]=function(_0x10fd10,_0x418986){if(_0x10fd10[_0xcc4a('0x48')]['id']){delete _0x10fd10[_0xcc4a('0x48')]['id'];}return db[_0xcc4a('0x29')][_0xcc4a('0x44')]({'where':{'id':_0x10fd10[_0xcc4a('0x42')]['id']}})['then'](handleEntityNotFound(_0x418986,null))[_0xcc4a('0x40')](saveUpdates(_0x10fd10[_0xcc4a('0x48')],null))[_0xcc4a('0x40')](respondWithResult(_0x418986,null))[_0xcc4a('0x45')](handleError(_0x418986,null));};exports['destroy']=function(_0x34b950,_0x4c9d65){return db[_0xcc4a('0x29')][_0xcc4a('0x44')]({'where':{'id':_0x34b950[_0xcc4a('0x42')]['id']}})[_0xcc4a('0x40')](handleEntityNotFound(_0x4c9d65,null))[_0xcc4a('0x40')](removeEntity(_0x4c9d65,null))[_0xcc4a('0x45')](handleError(_0x4c9d65,null));};exports[_0xcc4a('0x49')]=function(_0xb384c5,_0x54539c,_0x55174c){var _0x1ab0f8={};var _0x490dc8={};var _0xcf1857;var _0x2d4bcb;return db[_0xcc4a('0x29')][_0xcc4a('0x4a')]({'where':{'id':_0xb384c5[_0xcc4a('0x42')]['id']}})[_0xcc4a('0x40')](handleEntityNotFound(_0x54539c,null))[_0xcc4a('0x40')](function(_0x31d842){if(_0x31d842){_0xcf1857=_0x31d842;_0x490dc8[_0xcc4a('0x2d')]=_[_0xcc4a('0x43')](db[_0xcc4a('0x4b')][_0xcc4a('0x2a')]);_0x490dc8[_0xcc4a('0x2e')]=_['keys'](_0xb384c5[_0xcc4a('0x2e')]);_0x490dc8[_0xcc4a('0x2f')]=_[_0xcc4a('0x31')](_0x490dc8[_0xcc4a('0x2d')],_0x490dc8[_0xcc4a('0x2e')]);_0x1ab0f8[_0xcc4a('0x30')]=_['intersection'](_0x490dc8[_0xcc4a('0x2d')],qs[_0xcc4a('0x32')](_0xb384c5[_0xcc4a('0x2e')]['fields']));_0x1ab0f8[_0xcc4a('0x30')]=_0x1ab0f8['attributes']['length']?_0x1ab0f8[_0xcc4a('0x30')]:_0x490dc8[_0xcc4a('0x2d')];_0x1ab0f8[_0xcc4a('0x35')]=qs['sort'](_0xb384c5[_0xcc4a('0x2e')][_0xcc4a('0x36')]);_0x1ab0f8[_0xcc4a('0x37')]=qs[_0xcc4a('0x2f')](_[_0xcc4a('0x38')](_0xb384c5[_0xcc4a('0x2e')],_0x490dc8[_0xcc4a('0x2f')]));if(_0xb384c5['query'][_0xcc4a('0x39')]){_0x1ab0f8['where']=_[_0xcc4a('0x3a')](_0x1ab0f8[_0xcc4a('0x37')],{'$or':_[_0xcc4a('0x28')](_0x1ab0f8[_0xcc4a('0x30')],function(_0x1edeb1){var _0x3057f2={};_0x3057f2[_0x1edeb1]={'$like':'%'+_0xb384c5['query'][_0xcc4a('0x39')]+'%'};return _0x3057f2;})});}_0x1ab0f8=_[_0xcc4a('0x3a')]({},_0x1ab0f8,_0xb384c5[_0xcc4a('0x3c')]);return _0xcf1857[_0xcc4a('0x49')](_0x1ab0f8);}})[_0xcc4a('0x40')](function(_0x479f7b){if(_0x479f7b){_0x2d4bcb=_0x479f7b['length'];if(!_0xb384c5[_0xcc4a('0x2e')]['hasOwnProperty'](_0xcc4a('0x4c'))){_0x1ab0f8[_0xcc4a('0x34')]=qs[_0xcc4a('0x34')](_0xb384c5[_0xcc4a('0x2e')][_0xcc4a('0x34')]);_0x1ab0f8['offset']=qs[_0xcc4a('0x1c')](_0xb384c5[_0xcc4a('0x2e')][_0xcc4a('0x1c')]);}return _0xcf1857['getFields'](_0x1ab0f8);}})[_0xcc4a('0x40')](function(_0x2d8217){if(_0x2d8217){return _0x2d8217?{'count':_0x2d4bcb,'rows':_0x2d8217}:null;}})[_0xcc4a('0x40')](respondWithResult(_0x54539c,null))[_0xcc4a('0x45')](handleError(_0x54539c,null));};exports['getSubjects']=function(_0x5af876,_0x3d6530,_0x26682d){var _0x22a5a9={};var _0x36cfbe={};var _0x592bb1;var _0x2260ff;return db[_0xcc4a('0x29')]['findOne']({'where':{'id':_0x5af876[_0xcc4a('0x42')]['id']}})[_0xcc4a('0x40')](handleEntityNotFound(_0x3d6530,null))[_0xcc4a('0x40')](function(_0x2b4a9b){if(_0x2b4a9b){_0x592bb1=_0x2b4a9b;_0x36cfbe[_0xcc4a('0x2d')]=_['keys'](db['FreshdeskField'][_0xcc4a('0x2a')]);_0x36cfbe[_0xcc4a('0x2e')]=_[_0xcc4a('0x43')](_0x5af876[_0xcc4a('0x2e')]);_0x36cfbe[_0xcc4a('0x2f')]=_['intersection'](_0x36cfbe[_0xcc4a('0x2d')],_0x36cfbe['query']);_0x22a5a9[_0xcc4a('0x30')]=_[_0xcc4a('0x31')](_0x36cfbe['model'],qs[_0xcc4a('0x32')](_0x5af876[_0xcc4a('0x2e')][_0xcc4a('0x32')]));_0x22a5a9[_0xcc4a('0x30')]=_0x22a5a9[_0xcc4a('0x30')][_0xcc4a('0x33')]?_0x22a5a9[_0xcc4a('0x30')]:_0x36cfbe[_0xcc4a('0x2d')];_0x22a5a9['order']=qs[_0xcc4a('0x36')](_0x5af876[_0xcc4a('0x2e')][_0xcc4a('0x36')]);_0x22a5a9['where']=qs[_0xcc4a('0x2f')](_[_0xcc4a('0x38')](_0x5af876[_0xcc4a('0x2e')],_0x36cfbe[_0xcc4a('0x2f')]));if(_0x5af876[_0xcc4a('0x2e')][_0xcc4a('0x39')]){_0x22a5a9['where']=_['merge'](_0x22a5a9[_0xcc4a('0x37')],{'$or':_[_0xcc4a('0x28')](_0x22a5a9[_0xcc4a('0x30')],function(_0x3dd86d){var _0x5a9a4f={};_0x5a9a4f[_0x3dd86d]={'$like':'%'+_0x5af876['query'][_0xcc4a('0x39')]+'%'};return _0x5a9a4f;})});}_0x22a5a9=_[_0xcc4a('0x3a')]({},_0x22a5a9,_0x5af876[_0xcc4a('0x3c')]);return _0x592bb1[_0xcc4a('0x4d')](_0x22a5a9);}})[_0xcc4a('0x40')](function(_0x398d59){if(_0x398d59){_0x2260ff=_0x398d59[_0xcc4a('0x33')];if(!_0x5af876['query'][_0xcc4a('0x4e')](_0xcc4a('0x4c'))){_0x22a5a9[_0xcc4a('0x34')]=qs[_0xcc4a('0x34')](_0x5af876[_0xcc4a('0x2e')][_0xcc4a('0x34')]);_0x22a5a9[_0xcc4a('0x1c')]=qs[_0xcc4a('0x1c')](_0x5af876['query'][_0xcc4a('0x1c')]);}return _0x592bb1['getSubjects'](_0x22a5a9);}})[_0xcc4a('0x40')](function(_0x50688b){if(_0x50688b){return _0x50688b?{'count':_0x2260ff,'rows':_0x50688b}:null;}})[_0xcc4a('0x40')](respondWithResult(_0x3d6530,null))['catch'](handleError(_0x3d6530,null));};exports[_0xcc4a('0x4f')]=function(_0x5078ef,_0x12edc1,_0x553fcd){var _0x35adfe={};var _0x474a02={};var _0xd6da23;var _0x550a3f;return db[_0xcc4a('0x29')][_0xcc4a('0x4a')]({'where':{'id':_0x5078ef[_0xcc4a('0x42')]['id']}})['then'](handleEntityNotFound(_0x12edc1,null))['then'](function(_0x3bbb39){if(_0x3bbb39){_0xd6da23=_0x3bbb39;_0x474a02[_0xcc4a('0x2d')]=_[_0xcc4a('0x43')](db[_0xcc4a('0x4b')][_0xcc4a('0x2a')]);_0x474a02[_0xcc4a('0x2e')]=_[_0xcc4a('0x43')](_0x5078ef[_0xcc4a('0x2e')]);_0x474a02[_0xcc4a('0x2f')]=_[_0xcc4a('0x31')](_0x474a02[_0xcc4a('0x2d')],_0x474a02[_0xcc4a('0x2e')]);_0x35adfe['attributes']=_['intersection'](_0x474a02[_0xcc4a('0x2d')],qs['fields'](_0x5078ef['query'][_0xcc4a('0x32')]));_0x35adfe['attributes']=_0x35adfe['attributes'][_0xcc4a('0x33')]?_0x35adfe['attributes']:_0x474a02[_0xcc4a('0x2d')];_0x35adfe['order']=qs[_0xcc4a('0x36')](_0x5078ef[_0xcc4a('0x2e')]['sort']);_0x35adfe[_0xcc4a('0x37')]=qs[_0xcc4a('0x2f')](_[_0xcc4a('0x38')](_0x5078ef[_0xcc4a('0x2e')],_0x474a02[_0xcc4a('0x2f')]));if(_0x5078ef['query'][_0xcc4a('0x39')]){_0x35adfe[_0xcc4a('0x37')]=_['merge'](_0x35adfe[_0xcc4a('0x37')],{'$or':_[_0xcc4a('0x28')](_0x35adfe['attributes'],function(_0x1d3b64){var _0x1cfcd4={};_0x1cfcd4[_0x1d3b64]={'$like':'%'+_0x5078ef[_0xcc4a('0x2e')][_0xcc4a('0x39')]+'%'};return _0x1cfcd4;})});}_0x35adfe=_[_0xcc4a('0x3a')]({},_0x35adfe,_0x5078ef['options']);return _0xd6da23[_0xcc4a('0x4f')](_0x35adfe);}})[_0xcc4a('0x40')](function(_0x1fabec){if(_0x1fabec){_0x550a3f=_0x1fabec[_0xcc4a('0x33')];if(!_0x5078ef[_0xcc4a('0x2e')][_0xcc4a('0x4e')](_0xcc4a('0x4c'))){_0x35adfe[_0xcc4a('0x34')]=qs['limit'](_0x5078ef['query']['limit']);_0x35adfe[_0xcc4a('0x1c')]=qs[_0xcc4a('0x1c')](_0x5078ef[_0xcc4a('0x2e')]['offset']);}return _0xd6da23[_0xcc4a('0x4f')](_0x35adfe);}})[_0xcc4a('0x40')](function(_0x349364){if(_0x349364){return _0x349364?{'count':_0x550a3f,'rows':_0x349364}:null;}})[_0xcc4a('0x40')](respondWithResult(_0x12edc1,null))[_0xcc4a('0x45')](handleError(_0x12edc1,null));};exports['getTags']=function(_0x16cd13,_0x58ea9c,_0x2004a8){var _0x1c135b={};var _0x435802={};var _0x3ac5ff;var _0x37f043;return db[_0xcc4a('0x29')][_0xcc4a('0x4a')]({'where':{'id':_0x16cd13[_0xcc4a('0x42')]['id']}})['then'](handleEntityNotFound(_0x58ea9c,null))[_0xcc4a('0x40')](function(_0x38c7fa){if(_0x38c7fa){_0x3ac5ff=_0x38c7fa;_0x435802[_0xcc4a('0x2d')]=_[_0xcc4a('0x43')](db[_0xcc4a('0x50')][_0xcc4a('0x2a')]);_0x435802[_0xcc4a('0x2e')]=_[_0xcc4a('0x43')](_0x16cd13[_0xcc4a('0x2e')]);_0x435802[_0xcc4a('0x2f')]=_[_0xcc4a('0x31')](_0x435802[_0xcc4a('0x2d')],_0x435802[_0xcc4a('0x2e')]);_0x1c135b['attributes']=_[_0xcc4a('0x31')](_0x435802[_0xcc4a('0x2d')],qs[_0xcc4a('0x32')](_0x16cd13[_0xcc4a('0x2e')][_0xcc4a('0x32')]));_0x1c135b['attributes']=_0x1c135b[_0xcc4a('0x30')][_0xcc4a('0x33')]?_0x1c135b[_0xcc4a('0x30')]:_0x435802[_0xcc4a('0x2d')];_0x1c135b['order']=qs[_0xcc4a('0x36')](_0x16cd13[_0xcc4a('0x2e')][_0xcc4a('0x36')]);_0x1c135b[_0xcc4a('0x37')]=qs['filters'](_[_0xcc4a('0x38')](_0x16cd13[_0xcc4a('0x2e')],_0x435802[_0xcc4a('0x2f')]));if(_0x16cd13[_0xcc4a('0x2e')][_0xcc4a('0x39')]){_0x1c135b[_0xcc4a('0x37')]=_[_0xcc4a('0x3a')](_0x1c135b[_0xcc4a('0x37')],{'$or':_[_0xcc4a('0x28')](_0x1c135b[_0xcc4a('0x30')],function(_0xaa8343){var _0x21a4f4={};_0x21a4f4[_0xaa8343]={'$like':'%'+_0x16cd13[_0xcc4a('0x2e')][_0xcc4a('0x39')]+'%'};return _0x21a4f4;})});}_0x1c135b=_['merge']({},_0x1c135b,_0x16cd13[_0xcc4a('0x3c')]);return _0x3ac5ff[_0xcc4a('0x51')](_0x1c135b);}})[_0xcc4a('0x40')](function(_0x107c56){if(_0x107c56){_0x37f043=_0x107c56[_0xcc4a('0x33')];if(!_0x16cd13[_0xcc4a('0x2e')][_0xcc4a('0x4e')](_0xcc4a('0x4c'))){_0x1c135b['limit']=qs[_0xcc4a('0x34')](_0x16cd13['query'][_0xcc4a('0x34')]);_0x1c135b[_0xcc4a('0x1c')]=qs[_0xcc4a('0x1c')](_0x16cd13['query'][_0xcc4a('0x1c')]);}return _0x3ac5ff[_0xcc4a('0x51')](_0x1c135b);}})[_0xcc4a('0x40')](function(_0x1f2ff5){if(_0x1f2ff5){return _0x1f2ff5?{'count':_0x37f043,'rows':_0x1f2ff5}:null;}})[_0xcc4a('0x40')](respondWithResult(_0x58ea9c,null))[_0xcc4a('0x45')](handleError(_0x58ea9c,null));};exports[_0xcc4a('0x52')]=function(_0x25c096,_0x57c2ae,_0x475ca9){if(_0x25c096[_0xcc4a('0x48')]['id']){delete _0x25c096[_0xcc4a('0x48')]['id'];}return db[_0xcc4a('0x29')][_0xcc4a('0x4a')]({'where':{'id':_0x25c096[_0xcc4a('0x42')]['id']}})['then'](handleEntityNotFound(_0x57c2ae,null))['then'](function(_0x19ecf9){if(_0x19ecf9){return _0x19ecf9[_0xcc4a('0x52')](_0x25c096[_0xcc4a('0x48')][_0xcc4a('0x53')]||[]);}return null;})['then'](respondWithResult(_0x57c2ae,null))['catch'](handleError(_0x57c2ae,null));};