Built motion from commit (unavailable).|2.5.27
[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 _0xd8b0=['jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','info','FreshdeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','sendStatus','status','end','json','count','offset','Content-Range','apply','reject','save','then','destroy','stack','name','send','index','FreshdeskConfiguration','rawAttributes','fieldName','type','map','keys','query','filters','intersection','model','fields','attributes','hasOwnProperty','limit','order','sort','filter','where','merge','include','findAll','rows','catch','show','params','length','find','create','body','getFields','findOne','FreshdeskField','pick','options','nolimit','getSubjects','getDescriptions','getTags','Tag','setTags','eml-format','rimraf','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','crypto'];(function(_0x2fbca6,_0x3f876f){var _0x330da4=function(_0x3c8b35){while(--_0x3c8b35){_0x2fbca6['push'](_0x2fbca6['shift']());}};_0x330da4(++_0x3f876f);}(_0xd8b0,0xad));var _0x0d8b=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0xd8b0[_0xa464c9];return _0x3d73c4;};'use strict';var emlformat=require(_0x0d8b('0x0'));var rimraf=require(_0x0d8b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x0d8b('0x2'));var BPromise=require(_0x0d8b('0x3'));var Mustache=require(_0x0d8b('0x4'));var util=require(_0x0d8b('0x5'));var path=require(_0x0d8b('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x0d8b('0x7'));var fs=require('fs');var fs_extra=require(_0x0d8b('0x8'));var _=require(_0x0d8b('0x9'));var squel=require('squel');var crypto=require(_0x0d8b('0xa'));var jsforce=require(_0x0d8b('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x0d8b('0xc'));var querystring=require(_0x0d8b('0xd'));var Papa=require(_0x0d8b('0xe'));var Redis=require(_0x0d8b('0xf'));var authService=require(_0x0d8b('0x10'));var qs=require(_0x0d8b('0x11'));var as=require(_0x0d8b('0x12'));var hardwareService=require(_0x0d8b('0x13'));var logger=require('../../config/logger')(_0x0d8b('0x14'));var utils=require('../../config/utils');var config=require(_0x0d8b('0x15'));var licenseUtil=require(_0x0d8b('0x16'));var db=require(_0x0d8b('0x17'))['db'];var jayson=require(_0x0d8b('0x18'));var client=jayson[_0x0d8b('0x19')][_0x0d8b('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x15dd0f,_0x31a8cc,_0x1d4bbc,_0x2ce75e){return new BPromise(function(_0x5ad086,_0xe65334){var _0x1567ce=_0x2ce75e||client;return _0x1567ce[_0x0d8b('0x1b')](_0x15dd0f,_0x1d4bbc)['then'](function(_0x23eb7b){logger[_0x0d8b('0x1c')](_0x0d8b('0x1d'),_0x31a8cc,_0x0d8b('0x1e'));logger[_0x0d8b('0x1f')]('FreshdeskConfiguration,\x20%s,\x20%s,\x20%s',_0x31a8cc,_0x0d8b('0x1e'),JSON[_0x0d8b('0x20')](_0x23eb7b));if(_0x23eb7b[_0x0d8b('0x21')]){if(_0x23eb7b[_0x0d8b('0x21')][_0x0d8b('0x22')]===0x1f4){logger[_0x0d8b('0x21')](_0x0d8b('0x1d'),_0x31a8cc,_0x23eb7b[_0x0d8b('0x21')]['message']);return _0xe65334(_0x23eb7b[_0x0d8b('0x21')][_0x0d8b('0x23')]);}logger[_0x0d8b('0x21')](_0x0d8b('0x1d'),_0x31a8cc,_0x23eb7b[_0x0d8b('0x21')][_0x0d8b('0x23')]);return _0x5ad086(_0x23eb7b[_0x0d8b('0x21')][_0x0d8b('0x23')]);}else{logger['info']('FreshdeskConfiguration,\x20%s,\x20%s',_0x31a8cc,_0x0d8b('0x1e'));_0x5ad086(_0x23eb7b['result']['message']);}})['catch'](function(_0x238728){logger[_0x0d8b('0x21')](_0x0d8b('0x1d'),_0x31a8cc,_0x238728);_0xe65334(_0x238728);});});}function respondWithStatusCode(_0x38efc8,_0x221071){_0x221071=_0x221071||0xcc;return function(_0x2c64e2){if(_0x2c64e2){return _0x38efc8[_0x0d8b('0x24')](_0x221071);}return _0x38efc8[_0x0d8b('0x25')](_0x221071)[_0x0d8b('0x26')]();};}function respondWithResult(_0x5e5bc3,_0xe8bbee){_0xe8bbee=_0xe8bbee||0xc8;return function(_0x4463ee){if(_0x4463ee){return _0x5e5bc3['status'](_0xe8bbee)[_0x0d8b('0x27')](_0x4463ee);}};}function respondWithFilteredResult(_0x4a0ae4,_0x3dd149){return function(_0x234bdd){if(_0x234bdd){var _0xa2af02=_0x234bdd[_0x0d8b('0x28')],_0x4fe6f9=_0x3dd149['offset'],_0x59a905=_0x3dd149[_0x0d8b('0x29')]+_0x3dd149['limit'],_0x28f639;if(_0x59a905>=_0xa2af02){_0x59a905=_0xa2af02;_0x28f639=0xc8;}else{_0x28f639=0xce;}_0x4a0ae4[_0x0d8b('0x25')](_0x28f639);return _0x4a0ae4['set'](_0x0d8b('0x2a'),_0x4fe6f9+'-'+_0x59a905+'/'+_0xa2af02)['json'](_0x234bdd);}return null;};}function patchUpdates(_0x2ab00d){return function(_0x546bf6){try{jsonpatch[_0x0d8b('0x2b')](_0x546bf6,_0x2ab00d,!![]);}catch(_0x544735){return BPromise[_0x0d8b('0x2c')](_0x544735);}return _0x546bf6[_0x0d8b('0x2d')]();};}function saveUpdates(_0x2c058d,_0x56120a){return function(_0x4c80a2){if(_0x4c80a2){return _0x4c80a2['update'](_0x2c058d)[_0x0d8b('0x2e')](function(_0x5515d2){return _0x5515d2;});}return null;};}function removeEntity(_0x3cdf3c,_0x54f6f3){return function(_0x5d05fc){if(_0x5d05fc){return _0x5d05fc[_0x0d8b('0x2f')]()[_0x0d8b('0x2e')](function(){_0x3cdf3c[_0x0d8b('0x25')](0xcc)[_0x0d8b('0x26')]();});}};}function handleEntityNotFound(_0x183220,_0xeaa769){return function(_0x4a99d3){if(!_0x4a99d3){_0x183220[_0x0d8b('0x24')](0x194);}return _0x4a99d3;};}function handleError(_0x553e03,_0x37ca42){_0x37ca42=_0x37ca42||0x1f4;return function(_0x3ef48d){logger['error'](_0x3ef48d[_0x0d8b('0x30')]);if(_0x3ef48d[_0x0d8b('0x31')]){delete _0x3ef48d[_0x0d8b('0x31')];}_0x553e03['status'](_0x37ca42)[_0x0d8b('0x32')](_0x3ef48d);};}exports[_0x0d8b('0x33')]=function(_0x206157,_0x31ceba){var _0x933e01={},_0x55d742={},_0x3f1cb3={'count':0x0,'rows':[]};var _0x1649fc=_['map'](db[_0x0d8b('0x34')][_0x0d8b('0x35')],function(_0x188af2){return{'name':_0x188af2[_0x0d8b('0x36')],'type':_0x188af2[_0x0d8b('0x37')]['key']};});_0x55d742['model']=_[_0x0d8b('0x38')](_0x1649fc,'name');_0x55d742['query']=_[_0x0d8b('0x39')](_0x206157[_0x0d8b('0x3a')]);_0x55d742[_0x0d8b('0x3b')]=_[_0x0d8b('0x3c')](_0x55d742[_0x0d8b('0x3d')],_0x55d742[_0x0d8b('0x3a')]);_0x933e01['attributes']=_[_0x0d8b('0x3c')](_0x55d742[_0x0d8b('0x3d')],qs[_0x0d8b('0x3e')](_0x206157[_0x0d8b('0x3a')][_0x0d8b('0x3e')]));_0x933e01[_0x0d8b('0x3f')]=_0x933e01[_0x0d8b('0x3f')]['length']?_0x933e01[_0x0d8b('0x3f')]:_0x55d742[_0x0d8b('0x3d')];if(!_0x206157[_0x0d8b('0x3a')][_0x0d8b('0x40')]('nolimit')){_0x933e01[_0x0d8b('0x41')]=qs['limit'](_0x206157[_0x0d8b('0x3a')][_0x0d8b('0x41')]);_0x933e01[_0x0d8b('0x29')]=qs[_0x0d8b('0x29')](_0x206157[_0x0d8b('0x3a')][_0x0d8b('0x29')]);}_0x933e01[_0x0d8b('0x42')]=qs[_0x0d8b('0x43')](_0x206157[_0x0d8b('0x3a')][_0x0d8b('0x43')]);_0x933e01['where']=qs['filters'](_['pick'](_0x206157['query'],_0x55d742['filters']),_0x1649fc);if(_0x206157[_0x0d8b('0x3a')][_0x0d8b('0x44')]){_0x933e01[_0x0d8b('0x45')]=_['merge'](_0x933e01['where'],{'$or':_[_0x0d8b('0x38')](_0x1649fc,function(_0x192de1){if(_0x192de1[_0x0d8b('0x37')]!=='VIRTUAL'){var _0x214583={};_0x214583[_0x192de1[_0x0d8b('0x31')]]={'$like':'%'+_0x206157['query']['filter']+'%'};return _0x214583;}})});}_0x933e01=_[_0x0d8b('0x46')]({},_0x933e01,_0x206157['options']);var _0x1e22e5={'where':_0x933e01['where']};return db['FreshdeskConfiguration'][_0x0d8b('0x28')](_0x1e22e5)[_0x0d8b('0x2e')](function(_0x5a75c7){_0x3f1cb3['count']=_0x5a75c7;if(_0x206157['query']['includeAll']){_0x933e01[_0x0d8b('0x47')]=[{'all':!![]}];}return db[_0x0d8b('0x34')][_0x0d8b('0x48')](_0x933e01);})['then'](function(_0xb0910e){_0x3f1cb3[_0x0d8b('0x49')]=_0xb0910e;return _0x3f1cb3;})[_0x0d8b('0x2e')](respondWithFilteredResult(_0x31ceba,_0x933e01))[_0x0d8b('0x4a')](handleError(_0x31ceba,null));};exports[_0x0d8b('0x4b')]=function(_0x2d5246,_0x11d22b){var _0x1d5067={'raw':![],'where':{'id':_0x2d5246[_0x0d8b('0x4c')]['id']}},_0x384a5e={};_0x384a5e[_0x0d8b('0x3d')]=_[_0x0d8b('0x39')](db[_0x0d8b('0x34')][_0x0d8b('0x35')]);_0x384a5e[_0x0d8b('0x3a')]=_[_0x0d8b('0x39')](_0x2d5246[_0x0d8b('0x3a')]);_0x384a5e[_0x0d8b('0x3b')]=_[_0x0d8b('0x3c')](_0x384a5e['model'],_0x384a5e[_0x0d8b('0x3a')]);_0x1d5067['attributes']=_['intersection'](_0x384a5e[_0x0d8b('0x3d')],qs[_0x0d8b('0x3e')](_0x2d5246[_0x0d8b('0x3a')][_0x0d8b('0x3e')]));_0x1d5067['attributes']=_0x1d5067[_0x0d8b('0x3f')][_0x0d8b('0x4d')]?_0x1d5067[_0x0d8b('0x3f')]:_0x384a5e[_0x0d8b('0x3d')];if(_0x2d5246[_0x0d8b('0x3a')]['includeAll']){_0x1d5067['include']=[{'all':!![]}];}_0x1d5067=_['merge']({},_0x1d5067,_0x2d5246['options']);return db[_0x0d8b('0x34')][_0x0d8b('0x4e')](_0x1d5067)['then'](handleEntityNotFound(_0x11d22b,null))['then'](respondWithResult(_0x11d22b,null))[_0x0d8b('0x4a')](handleError(_0x11d22b,null));};exports[_0x0d8b('0x4f')]=function(_0x5c5bd7,_0x5ef6c3){return db[_0x0d8b('0x34')][_0x0d8b('0x4f')](_0x5c5bd7[_0x0d8b('0x50')],{})[_0x0d8b('0x2e')](respondWithResult(_0x5ef6c3,0xc9))[_0x0d8b('0x4a')](handleError(_0x5ef6c3,null));};exports['update']=function(_0x2de903,_0x2afe34){if(_0x2de903['body']['id']){delete _0x2de903['body']['id'];}return db[_0x0d8b('0x34')][_0x0d8b('0x4e')]({'where':{'id':_0x2de903['params']['id']}})['then'](handleEntityNotFound(_0x2afe34,null))[_0x0d8b('0x2e')](saveUpdates(_0x2de903[_0x0d8b('0x50')],null))[_0x0d8b('0x2e')](respondWithResult(_0x2afe34,null))[_0x0d8b('0x4a')](handleError(_0x2afe34,null));};exports['destroy']=function(_0x356b3d,_0x598e03){return db['FreshdeskConfiguration'][_0x0d8b('0x4e')]({'where':{'id':_0x356b3d[_0x0d8b('0x4c')]['id']}})['then'](handleEntityNotFound(_0x598e03,null))['then'](removeEntity(_0x598e03,null))[_0x0d8b('0x4a')](handleError(_0x598e03,null));};exports[_0x0d8b('0x51')]=function(_0xccc2a9,_0x2c1eb0,_0x3afc3a){var _0xb66e76={};var _0x3978e5={};var _0x3bead7;var _0x5418d8;return db[_0x0d8b('0x34')][_0x0d8b('0x52')]({'where':{'id':_0xccc2a9[_0x0d8b('0x4c')]['id']}})[_0x0d8b('0x2e')](handleEntityNotFound(_0x2c1eb0,null))[_0x0d8b('0x2e')](function(_0x47104e){if(_0x47104e){_0x3bead7=_0x47104e;_0x3978e5[_0x0d8b('0x3d')]=_[_0x0d8b('0x39')](db[_0x0d8b('0x53')]['rawAttributes']);_0x3978e5[_0x0d8b('0x3a')]=_[_0x0d8b('0x39')](_0xccc2a9[_0x0d8b('0x3a')]);_0x3978e5[_0x0d8b('0x3b')]=_[_0x0d8b('0x3c')](_0x3978e5['model'],_0x3978e5[_0x0d8b('0x3a')]);_0xb66e76[_0x0d8b('0x3f')]=_[_0x0d8b('0x3c')](_0x3978e5[_0x0d8b('0x3d')],qs[_0x0d8b('0x3e')](_0xccc2a9['query']['fields']));_0xb66e76[_0x0d8b('0x3f')]=_0xb66e76[_0x0d8b('0x3f')][_0x0d8b('0x4d')]?_0xb66e76[_0x0d8b('0x3f')]:_0x3978e5['model'];_0xb66e76[_0x0d8b('0x42')]=qs[_0x0d8b('0x43')](_0xccc2a9[_0x0d8b('0x3a')]['sort']);_0xb66e76[_0x0d8b('0x45')]=qs['filters'](_[_0x0d8b('0x54')](_0xccc2a9[_0x0d8b('0x3a')],_0x3978e5[_0x0d8b('0x3b')]));if(_0xccc2a9[_0x0d8b('0x3a')][_0x0d8b('0x44')]){_0xb66e76[_0x0d8b('0x45')]=_['merge'](_0xb66e76[_0x0d8b('0x45')],{'$or':_['map'](_0xb66e76[_0x0d8b('0x3f')],function(_0x4577c8){var _0xafeeb0={};_0xafeeb0[_0x4577c8]={'$like':'%'+_0xccc2a9[_0x0d8b('0x3a')]['filter']+'%'};return _0xafeeb0;})});}_0xb66e76=_[_0x0d8b('0x46')]({},_0xb66e76,_0xccc2a9[_0x0d8b('0x55')]);return _0x3bead7[_0x0d8b('0x51')](_0xb66e76);}})[_0x0d8b('0x2e')](function(_0x2ccdae){if(_0x2ccdae){_0x5418d8=_0x2ccdae[_0x0d8b('0x4d')];if(!_0xccc2a9[_0x0d8b('0x3a')][_0x0d8b('0x40')](_0x0d8b('0x56'))){_0xb66e76[_0x0d8b('0x41')]=qs['limit'](_0xccc2a9['query'][_0x0d8b('0x41')]);_0xb66e76[_0x0d8b('0x29')]=qs['offset'](_0xccc2a9[_0x0d8b('0x3a')]['offset']);}return _0x3bead7['getFields'](_0xb66e76);}})[_0x0d8b('0x2e')](function(_0x1c4e96){if(_0x1c4e96){return _0x1c4e96?{'count':_0x5418d8,'rows':_0x1c4e96}:null;}})['then'](respondWithResult(_0x2c1eb0,null))['catch'](handleError(_0x2c1eb0,null));};exports[_0x0d8b('0x57')]=function(_0x1c007b,_0x70e4b2,_0x435090){var _0x2ab72b={};var _0x156859={};var _0x40d265;var _0x5b4402;return db[_0x0d8b('0x34')]['findOne']({'where':{'id':_0x1c007b[_0x0d8b('0x4c')]['id']}})[_0x0d8b('0x2e')](handleEntityNotFound(_0x70e4b2,null))[_0x0d8b('0x2e')](function(_0x14a34b){if(_0x14a34b){_0x40d265=_0x14a34b;_0x156859['model']=_[_0x0d8b('0x39')](db['FreshdeskField'][_0x0d8b('0x35')]);_0x156859[_0x0d8b('0x3a')]=_[_0x0d8b('0x39')](_0x1c007b[_0x0d8b('0x3a')]);_0x156859[_0x0d8b('0x3b')]=_[_0x0d8b('0x3c')](_0x156859[_0x0d8b('0x3d')],_0x156859[_0x0d8b('0x3a')]);_0x2ab72b[_0x0d8b('0x3f')]=_[_0x0d8b('0x3c')](_0x156859['model'],qs[_0x0d8b('0x3e')](_0x1c007b['query'][_0x0d8b('0x3e')]));_0x2ab72b[_0x0d8b('0x3f')]=_0x2ab72b['attributes'][_0x0d8b('0x4d')]?_0x2ab72b['attributes']:_0x156859[_0x0d8b('0x3d')];_0x2ab72b[_0x0d8b('0x42')]=qs[_0x0d8b('0x43')](_0x1c007b[_0x0d8b('0x3a')][_0x0d8b('0x43')]);_0x2ab72b[_0x0d8b('0x45')]=qs[_0x0d8b('0x3b')](_[_0x0d8b('0x54')](_0x1c007b['query'],_0x156859[_0x0d8b('0x3b')]));if(_0x1c007b[_0x0d8b('0x3a')]['filter']){_0x2ab72b[_0x0d8b('0x45')]=_[_0x0d8b('0x46')](_0x2ab72b[_0x0d8b('0x45')],{'$or':_[_0x0d8b('0x38')](_0x2ab72b[_0x0d8b('0x3f')],function(_0x9e44b4){var _0x40ff07={};_0x40ff07[_0x9e44b4]={'$like':'%'+_0x1c007b[_0x0d8b('0x3a')][_0x0d8b('0x44')]+'%'};return _0x40ff07;})});}_0x2ab72b=_[_0x0d8b('0x46')]({},_0x2ab72b,_0x1c007b[_0x0d8b('0x55')]);return _0x40d265[_0x0d8b('0x57')](_0x2ab72b);}})['then'](function(_0x1ece98){if(_0x1ece98){_0x5b4402=_0x1ece98[_0x0d8b('0x4d')];if(!_0x1c007b[_0x0d8b('0x3a')]['hasOwnProperty']('nolimit')){_0x2ab72b[_0x0d8b('0x41')]=qs[_0x0d8b('0x41')](_0x1c007b[_0x0d8b('0x3a')]['limit']);_0x2ab72b['offset']=qs[_0x0d8b('0x29')](_0x1c007b[_0x0d8b('0x3a')][_0x0d8b('0x29')]);}return _0x40d265[_0x0d8b('0x57')](_0x2ab72b);}})[_0x0d8b('0x2e')](function(_0x3f7895){if(_0x3f7895){return _0x3f7895?{'count':_0x5b4402,'rows':_0x3f7895}:null;}})[_0x0d8b('0x2e')](respondWithResult(_0x70e4b2,null))[_0x0d8b('0x4a')](handleError(_0x70e4b2,null));};exports[_0x0d8b('0x58')]=function(_0x3a5aea,_0x195901,_0x291336){var _0x3b060e={};var _0x5dbc6b={};var _0x3d3b0b;var _0x1b8b12;return db['FreshdeskConfiguration']['findOne']({'where':{'id':_0x3a5aea[_0x0d8b('0x4c')]['id']}})[_0x0d8b('0x2e')](handleEntityNotFound(_0x195901,null))[_0x0d8b('0x2e')](function(_0x14b1b8){if(_0x14b1b8){_0x3d3b0b=_0x14b1b8;_0x5dbc6b[_0x0d8b('0x3d')]=_[_0x0d8b('0x39')](db['FreshdeskField']['rawAttributes']);_0x5dbc6b['query']=_[_0x0d8b('0x39')](_0x3a5aea[_0x0d8b('0x3a')]);_0x5dbc6b[_0x0d8b('0x3b')]=_[_0x0d8b('0x3c')](_0x5dbc6b[_0x0d8b('0x3d')],_0x5dbc6b[_0x0d8b('0x3a')]);_0x3b060e['attributes']=_[_0x0d8b('0x3c')](_0x5dbc6b[_0x0d8b('0x3d')],qs['fields'](_0x3a5aea[_0x0d8b('0x3a')]['fields']));_0x3b060e[_0x0d8b('0x3f')]=_0x3b060e[_0x0d8b('0x3f')][_0x0d8b('0x4d')]?_0x3b060e[_0x0d8b('0x3f')]:_0x5dbc6b[_0x0d8b('0x3d')];_0x3b060e[_0x0d8b('0x42')]=qs[_0x0d8b('0x43')](_0x3a5aea[_0x0d8b('0x3a')][_0x0d8b('0x43')]);_0x3b060e[_0x0d8b('0x45')]=qs[_0x0d8b('0x3b')](_[_0x0d8b('0x54')](_0x3a5aea['query'],_0x5dbc6b['filters']));if(_0x3a5aea[_0x0d8b('0x3a')][_0x0d8b('0x44')]){_0x3b060e[_0x0d8b('0x45')]=_[_0x0d8b('0x46')](_0x3b060e[_0x0d8b('0x45')],{'$or':_[_0x0d8b('0x38')](_0x3b060e[_0x0d8b('0x3f')],function(_0x54674f){var _0x246152={};_0x246152[_0x54674f]={'$like':'%'+_0x3a5aea['query'][_0x0d8b('0x44')]+'%'};return _0x246152;})});}_0x3b060e=_['merge']({},_0x3b060e,_0x3a5aea['options']);return _0x3d3b0b[_0x0d8b('0x58')](_0x3b060e);}})[_0x0d8b('0x2e')](function(_0x25d99f){if(_0x25d99f){_0x1b8b12=_0x25d99f[_0x0d8b('0x4d')];if(!_0x3a5aea[_0x0d8b('0x3a')][_0x0d8b('0x40')](_0x0d8b('0x56'))){_0x3b060e[_0x0d8b('0x41')]=qs[_0x0d8b('0x41')](_0x3a5aea[_0x0d8b('0x3a')][_0x0d8b('0x41')]);_0x3b060e[_0x0d8b('0x29')]=qs['offset'](_0x3a5aea[_0x0d8b('0x3a')][_0x0d8b('0x29')]);}return _0x3d3b0b[_0x0d8b('0x58')](_0x3b060e);}})['then'](function(_0x4ce443){if(_0x4ce443){return _0x4ce443?{'count':_0x1b8b12,'rows':_0x4ce443}:null;}})[_0x0d8b('0x2e')](respondWithResult(_0x195901,null))[_0x0d8b('0x4a')](handleError(_0x195901,null));};exports[_0x0d8b('0x59')]=function(_0x374181,_0xae81df,_0xb8ffcb){var _0x5648eb={};var _0x1a96ce={};var _0x3d6267;var _0x1c5e90;return db[_0x0d8b('0x34')][_0x0d8b('0x52')]({'where':{'id':_0x374181['params']['id']}})['then'](handleEntityNotFound(_0xae81df,null))[_0x0d8b('0x2e')](function(_0x41ea29){if(_0x41ea29){_0x3d6267=_0x41ea29;_0x1a96ce[_0x0d8b('0x3d')]=_['keys'](db[_0x0d8b('0x5a')][_0x0d8b('0x35')]);_0x1a96ce[_0x0d8b('0x3a')]=_['keys'](_0x374181[_0x0d8b('0x3a')]);_0x1a96ce[_0x0d8b('0x3b')]=_[_0x0d8b('0x3c')](_0x1a96ce[_0x0d8b('0x3d')],_0x1a96ce[_0x0d8b('0x3a')]);_0x5648eb[_0x0d8b('0x3f')]=_[_0x0d8b('0x3c')](_0x1a96ce[_0x0d8b('0x3d')],qs[_0x0d8b('0x3e')](_0x374181['query'][_0x0d8b('0x3e')]));_0x5648eb[_0x0d8b('0x3f')]=_0x5648eb[_0x0d8b('0x3f')][_0x0d8b('0x4d')]?_0x5648eb[_0x0d8b('0x3f')]:_0x1a96ce[_0x0d8b('0x3d')];_0x5648eb[_0x0d8b('0x42')]=qs[_0x0d8b('0x43')](_0x374181[_0x0d8b('0x3a')]['sort']);_0x5648eb['where']=qs[_0x0d8b('0x3b')](_[_0x0d8b('0x54')](_0x374181[_0x0d8b('0x3a')],_0x1a96ce[_0x0d8b('0x3b')]));if(_0x374181['query'][_0x0d8b('0x44')]){_0x5648eb[_0x0d8b('0x45')]=_['merge'](_0x5648eb[_0x0d8b('0x45')],{'$or':_['map'](_0x5648eb[_0x0d8b('0x3f')],function(_0x2e5f7a){var _0x33965a={};_0x33965a[_0x2e5f7a]={'$like':'%'+_0x374181[_0x0d8b('0x3a')][_0x0d8b('0x44')]+'%'};return _0x33965a;})});}_0x5648eb=_[_0x0d8b('0x46')]({},_0x5648eb,_0x374181[_0x0d8b('0x55')]);return _0x3d6267[_0x0d8b('0x59')](_0x5648eb);}})['then'](function(_0x39df85){if(_0x39df85){_0x1c5e90=_0x39df85['length'];if(!_0x374181['query'][_0x0d8b('0x40')]('nolimit')){_0x5648eb[_0x0d8b('0x41')]=qs[_0x0d8b('0x41')](_0x374181['query'][_0x0d8b('0x41')]);_0x5648eb['offset']=qs['offset'](_0x374181[_0x0d8b('0x3a')][_0x0d8b('0x29')]);}return _0x3d6267[_0x0d8b('0x59')](_0x5648eb);}})[_0x0d8b('0x2e')](function(_0x18570d){if(_0x18570d){return _0x18570d?{'count':_0x1c5e90,'rows':_0x18570d}:null;}})['then'](respondWithResult(_0xae81df,null))['catch'](handleError(_0xae81df,null));};exports[_0x0d8b('0x5b')]=function(_0x2e446a,_0x411c15,_0x42a074){if(_0x2e446a[_0x0d8b('0x50')]['id']){delete _0x2e446a[_0x0d8b('0x50')]['id'];}return db[_0x0d8b('0x34')][_0x0d8b('0x52')]({'where':{'id':_0x2e446a['params']['id']}})['then'](handleEntityNotFound(_0x411c15,null))[_0x0d8b('0x2e')](function(_0x2640a6){if(_0x2640a6){return _0x2640a6['setTags'](_0x2e446a['body']['ids']||[]);}return null;})[_0x0d8b('0x2e')](respondWithResult(_0x411c15,null))[_0x0d8b('0x4a')](handleError(_0x411c15,null));};