Built motion from commit f3da74b7.|2.5.36
[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 _0x05bc=['type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','FreshdeskConfiguration','catch','show','include','find','create','body','params','pick','getFields','getSubjects','findOne','getDescriptions','getTags','setTags','eml-format','zip-dir','request-promise','moment','bluebird','sox','to-csv','fs-extra','lodash','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','save','update','then','destroy','error','stack','name','send','index','map','rawAttributes','fieldName'];(function(_0x3a456e,_0x41611a){var _0x45ba81=function(_0x45fded){while(--_0x45fded){_0x3a456e['push'](_0x3a456e['shift']());}};_0x45ba81(++_0x41611a);}(_0x05bc,0x14f));var _0xc05b=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x05bc[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0xc05b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xc05b('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc05b('0x2'));var moment=require(_0xc05b('0x3'));var BPromise=require(_0xc05b('0x4'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xc05b('0x5'));var csv=require(_0xc05b('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc05b('0x7'));var _=require(_0xc05b('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xc05b('0x9'));var toCsv=require(_0xc05b('0x6'));var querystring=require('querystring');var Papa=require(_0xc05b('0xa'));var Redis=require(_0xc05b('0xb'));var authService=require(_0xc05b('0xc'));var qs=require(_0xc05b('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc05b('0xe'));var logger=require(_0xc05b('0xf'))(_0xc05b('0x10'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x373951,_0xdb9692){_0xdb9692=_0xdb9692||0xcc;return function(_0x76ef61){if(_0x76ef61){return _0x373951[_0xc05b('0x11')](_0xdb9692);}return _0x373951[_0xc05b('0x12')](_0xdb9692)[_0xc05b('0x13')]();};}function respondWithResult(_0x47cf57,_0x16f1fd){_0x16f1fd=_0x16f1fd||0xc8;return function(_0x2cceea){if(_0x2cceea){return _0x47cf57[_0xc05b('0x12')](_0x16f1fd)['json'](_0x2cceea);}};}function respondWithFilteredResult(_0x3a6adb,_0x379650){return function(_0x5b555b){if(_0x5b555b){var _0x673067=typeof _0x379650[_0xc05b('0x14')]===_0xc05b('0x15')&&typeof _0x379650[_0xc05b('0x16')]===_0xc05b('0x15');var _0x422f6c=_0x5b555b[_0xc05b('0x17')];var _0x53a7e7=_0x673067?0x0:_0x379650[_0xc05b('0x14')];var _0x14e697=_0x673067?_0x5b555b[_0xc05b('0x17')]:_0x379650[_0xc05b('0x14')]+_0x379650['limit'];var _0x9ebad1;if(_0x14e697>=_0x422f6c){_0x14e697=_0x422f6c;_0x9ebad1=0xc8;}else{_0x9ebad1=0xce;}_0x3a6adb[_0xc05b('0x12')](_0x9ebad1);return _0x3a6adb[_0xc05b('0x18')](_0xc05b('0x19'),_0x53a7e7+'-'+_0x14e697+'/'+_0x422f6c)[_0xc05b('0x1a')](_0x5b555b);}return null;};}function patchUpdates(_0x49842f){return function(_0x2e066b){try{jsonpatch[_0xc05b('0x1b')](_0x2e066b,_0x49842f,!![]);}catch(_0x59a730){return BPromise['reject'](_0x59a730);}return _0x2e066b[_0xc05b('0x1c')]();};}function saveUpdates(_0x218d48,_0x46c695){return function(_0x148f40){if(_0x148f40){return _0x148f40[_0xc05b('0x1d')](_0x218d48)[_0xc05b('0x1e')](function(_0x7548e4){return _0x7548e4;});}return null;};}function removeEntity(_0x43f8a6,_0x48e448){return function(_0x50ac3f){if(_0x50ac3f){return _0x50ac3f[_0xc05b('0x1f')]()[_0xc05b('0x1e')](function(){_0x43f8a6[_0xc05b('0x12')](0xcc)['end']();});}};}function handleEntityNotFound(_0x10ac34,_0x115744){return function(_0x12b56f){if(!_0x12b56f){_0x10ac34[_0xc05b('0x11')](0x194);}return _0x12b56f;};}function handleError(_0x5e06cd,_0x33cc15){_0x33cc15=_0x33cc15||0x1f4;return function(_0x5e5487){logger[_0xc05b('0x20')](_0x5e5487[_0xc05b('0x21')]);if(_0x5e5487['name']){delete _0x5e5487[_0xc05b('0x22')];}_0x5e06cd[_0xc05b('0x12')](_0x33cc15)[_0xc05b('0x23')](_0x5e5487);};}exports[_0xc05b('0x24')]=function(_0x5dfb16,_0x1150b5){var _0x4c3403={},_0x39fbc5={},_0x23f3c6={'count':0x0,'rows':[]};var _0x3a9570=_[_0xc05b('0x25')](db['FreshdeskConfiguration'][_0xc05b('0x26')],function(_0x5402a0){return{'name':_0x5402a0[_0xc05b('0x27')],'type':_0x5402a0[_0xc05b('0x28')][_0xc05b('0x29')]};});_0x39fbc5[_0xc05b('0x2a')]=_[_0xc05b('0x25')](_0x3a9570,_0xc05b('0x22'));_0x39fbc5[_0xc05b('0x2b')]=_[_0xc05b('0x2c')](_0x5dfb16[_0xc05b('0x2b')]);_0x39fbc5[_0xc05b('0x2d')]=_[_0xc05b('0x2e')](_0x39fbc5[_0xc05b('0x2a')],_0x39fbc5[_0xc05b('0x2b')]);_0x4c3403[_0xc05b('0x2f')]=_[_0xc05b('0x2e')](_0x39fbc5[_0xc05b('0x2a')],qs[_0xc05b('0x30')](_0x5dfb16[_0xc05b('0x2b')][_0xc05b('0x30')]));_0x4c3403[_0xc05b('0x2f')]=_0x4c3403[_0xc05b('0x2f')][_0xc05b('0x31')]?_0x4c3403[_0xc05b('0x2f')]:_0x39fbc5['model'];if(!_0x5dfb16[_0xc05b('0x2b')][_0xc05b('0x32')](_0xc05b('0x33'))){_0x4c3403[_0xc05b('0x16')]=qs['limit'](_0x5dfb16[_0xc05b('0x2b')]['limit']);_0x4c3403[_0xc05b('0x14')]=qs[_0xc05b('0x14')](_0x5dfb16[_0xc05b('0x2b')][_0xc05b('0x14')]);}_0x4c3403[_0xc05b('0x34')]=qs['sort'](_0x5dfb16['query'][_0xc05b('0x35')]);_0x4c3403[_0xc05b('0x36')]=qs[_0xc05b('0x2d')](_['pick'](_0x5dfb16['query'],_0x39fbc5[_0xc05b('0x2d')]),_0x3a9570);if(_0x5dfb16[_0xc05b('0x2b')][_0xc05b('0x37')]){_0x4c3403[_0xc05b('0x36')]=_[_0xc05b('0x38')](_0x4c3403['where'],{'$or':_[_0xc05b('0x25')](_0x3a9570,function(_0xa5bb47){if(_0xa5bb47[_0xc05b('0x28')]!==_0xc05b('0x39')){var _0x2ab20e={};_0x2ab20e[_0xa5bb47[_0xc05b('0x22')]]={'$like':'%'+_0x5dfb16['query'][_0xc05b('0x37')]+'%'};return _0x2ab20e;}})});}_0x4c3403=_[_0xc05b('0x38')]({},_0x4c3403,_0x5dfb16[_0xc05b('0x3a')]);var _0x19ef0d={'where':_0x4c3403[_0xc05b('0x36')]};return db['FreshdeskConfiguration'][_0xc05b('0x17')](_0x19ef0d)[_0xc05b('0x1e')](function(_0x4acc9d){_0x23f3c6[_0xc05b('0x17')]=_0x4acc9d;if(_0x5dfb16[_0xc05b('0x2b')][_0xc05b('0x3b')]){_0x4c3403['include']=[{'all':!![]}];}return db[_0xc05b('0x3c')]['findAll'](_0x4c3403);})[_0xc05b('0x1e')](function(_0x141ac3){_0x23f3c6['rows']=_0x141ac3;return _0x23f3c6;})['then'](respondWithFilteredResult(_0x1150b5,_0x4c3403))[_0xc05b('0x3d')](handleError(_0x1150b5,null));};exports[_0xc05b('0x3e')]=function(_0x5743b4,_0x3feb5f){var _0x557012={'raw':![],'where':{'id':_0x5743b4['params']['id']}},_0x3e8187={};_0x3e8187['model']=_[_0xc05b('0x2c')](db[_0xc05b('0x3c')][_0xc05b('0x26')]);_0x3e8187['query']=_[_0xc05b('0x2c')](_0x5743b4['query']);_0x3e8187['filters']=_[_0xc05b('0x2e')](_0x3e8187[_0xc05b('0x2a')],_0x3e8187[_0xc05b('0x2b')]);_0x557012[_0xc05b('0x2f')]=_[_0xc05b('0x2e')](_0x3e8187['model'],qs[_0xc05b('0x30')](_0x5743b4[_0xc05b('0x2b')]['fields']));_0x557012[_0xc05b('0x2f')]=_0x557012[_0xc05b('0x2f')][_0xc05b('0x31')]?_0x557012[_0xc05b('0x2f')]:_0x3e8187[_0xc05b('0x2a')];if(_0x5743b4[_0xc05b('0x2b')][_0xc05b('0x3b')]){_0x557012[_0xc05b('0x3f')]=[{'all':!![]}];}_0x557012=_[_0xc05b('0x38')]({},_0x557012,_0x5743b4['options']);return db[_0xc05b('0x3c')][_0xc05b('0x40')](_0x557012)[_0xc05b('0x1e')](handleEntityNotFound(_0x3feb5f,null))[_0xc05b('0x1e')](respondWithResult(_0x3feb5f,null))[_0xc05b('0x3d')](handleError(_0x3feb5f,null));};exports[_0xc05b('0x41')]=function(_0x1a3c7b,_0x601bdb){return db['FreshdeskConfiguration'][_0xc05b('0x41')](_0x1a3c7b[_0xc05b('0x42')],{})[_0xc05b('0x1e')](respondWithResult(_0x601bdb,0xc9))['catch'](handleError(_0x601bdb,null));};exports[_0xc05b('0x1d')]=function(_0x53ae92,_0x5438c0){if(_0x53ae92[_0xc05b('0x42')]['id']){delete _0x53ae92[_0xc05b('0x42')]['id'];}return db[_0xc05b('0x3c')][_0xc05b('0x40')]({'where':{'id':_0x53ae92[_0xc05b('0x43')]['id']}})['then'](handleEntityNotFound(_0x5438c0,null))[_0xc05b('0x1e')](saveUpdates(_0x53ae92['body'],null))[_0xc05b('0x1e')](respondWithResult(_0x5438c0,null))[_0xc05b('0x3d')](handleError(_0x5438c0,null));};exports[_0xc05b('0x1f')]=function(_0x6c3e6a,_0x44a82d){return db[_0xc05b('0x3c')]['find']({'where':{'id':_0x6c3e6a['params']['id']}})[_0xc05b('0x1e')](handleEntityNotFound(_0x44a82d,null))[_0xc05b('0x1e')](removeEntity(_0x44a82d,null))[_0xc05b('0x3d')](handleError(_0x44a82d,null));};exports['getFields']=function(_0x2bce02,_0x371c76,_0x309ddc){var _0xe1611d={};var _0x4ffce8={};var _0x5da899;var _0x45d1cf;return db[_0xc05b('0x3c')]['findOne']({'where':{'id':_0x2bce02['params']['id']}})[_0xc05b('0x1e')](handleEntityNotFound(_0x371c76,null))[_0xc05b('0x1e')](function(_0x3c3ecf){if(_0x3c3ecf){_0x5da899=_0x3c3ecf;_0x4ffce8[_0xc05b('0x2a')]=_[_0xc05b('0x2c')](db['FreshdeskField'][_0xc05b('0x26')]);_0x4ffce8[_0xc05b('0x2b')]=_[_0xc05b('0x2c')](_0x2bce02[_0xc05b('0x2b')]);_0x4ffce8[_0xc05b('0x2d')]=_[_0xc05b('0x2e')](_0x4ffce8[_0xc05b('0x2a')],_0x4ffce8[_0xc05b('0x2b')]);_0xe1611d[_0xc05b('0x2f')]=_[_0xc05b('0x2e')](_0x4ffce8['model'],qs[_0xc05b('0x30')](_0x2bce02[_0xc05b('0x2b')]['fields']));_0xe1611d[_0xc05b('0x2f')]=_0xe1611d[_0xc05b('0x2f')]['length']?_0xe1611d['attributes']:_0x4ffce8[_0xc05b('0x2a')];_0xe1611d[_0xc05b('0x34')]=qs[_0xc05b('0x35')](_0x2bce02[_0xc05b('0x2b')]['sort']);_0xe1611d['where']=qs[_0xc05b('0x2d')](_[_0xc05b('0x44')](_0x2bce02[_0xc05b('0x2b')],_0x4ffce8[_0xc05b('0x2d')]));if(_0x2bce02['query'][_0xc05b('0x37')]){_0xe1611d[_0xc05b('0x36')]=_[_0xc05b('0x38')](_0xe1611d[_0xc05b('0x36')],{'$or':_[_0xc05b('0x25')](_0xe1611d['attributes'],function(_0x137e18){var _0x1a8973={};_0x1a8973[_0x137e18]={'$like':'%'+_0x2bce02[_0xc05b('0x2b')][_0xc05b('0x37')]+'%'};return _0x1a8973;})});}_0xe1611d=_[_0xc05b('0x38')]({},_0xe1611d,_0x2bce02[_0xc05b('0x3a')]);return _0x5da899[_0xc05b('0x45')](_0xe1611d);}})['then'](function(_0x466508){if(_0x466508){_0x45d1cf=_0x466508[_0xc05b('0x31')];if(!_0x2bce02[_0xc05b('0x2b')][_0xc05b('0x32')]('nolimit')){_0xe1611d[_0xc05b('0x16')]=qs[_0xc05b('0x16')](_0x2bce02[_0xc05b('0x2b')][_0xc05b('0x16')]);_0xe1611d[_0xc05b('0x14')]=qs['offset'](_0x2bce02['query'][_0xc05b('0x14')]);}return _0x5da899[_0xc05b('0x45')](_0xe1611d);}})[_0xc05b('0x1e')](function(_0x4b5a34){if(_0x4b5a34){return _0x4b5a34?{'count':_0x45d1cf,'rows':_0x4b5a34}:null;}})[_0xc05b('0x1e')](respondWithResult(_0x371c76,null))[_0xc05b('0x3d')](handleError(_0x371c76,null));};exports[_0xc05b('0x46')]=function(_0x3d4ab9,_0x54bf0f,_0x99893c){var _0xfe6c55={};var _0x3acf94={};var _0x13c092;var _0x2dab9b;return db[_0xc05b('0x3c')][_0xc05b('0x47')]({'where':{'id':_0x3d4ab9[_0xc05b('0x43')]['id']}})[_0xc05b('0x1e')](handleEntityNotFound(_0x54bf0f,null))['then'](function(_0x691648){if(_0x691648){_0x13c092=_0x691648;_0x3acf94['model']=_[_0xc05b('0x2c')](db['FreshdeskField'][_0xc05b('0x26')]);_0x3acf94[_0xc05b('0x2b')]=_[_0xc05b('0x2c')](_0x3d4ab9[_0xc05b('0x2b')]);_0x3acf94['filters']=_[_0xc05b('0x2e')](_0x3acf94[_0xc05b('0x2a')],_0x3acf94['query']);_0xfe6c55['attributes']=_['intersection'](_0x3acf94[_0xc05b('0x2a')],qs[_0xc05b('0x30')](_0x3d4ab9['query'][_0xc05b('0x30')]));_0xfe6c55['attributes']=_0xfe6c55[_0xc05b('0x2f')][_0xc05b('0x31')]?_0xfe6c55['attributes']:_0x3acf94[_0xc05b('0x2a')];_0xfe6c55['order']=qs['sort'](_0x3d4ab9[_0xc05b('0x2b')][_0xc05b('0x35')]);_0xfe6c55['where']=qs[_0xc05b('0x2d')](_[_0xc05b('0x44')](_0x3d4ab9[_0xc05b('0x2b')],_0x3acf94[_0xc05b('0x2d')]));if(_0x3d4ab9['query'][_0xc05b('0x37')]){_0xfe6c55[_0xc05b('0x36')]=_[_0xc05b('0x38')](_0xfe6c55[_0xc05b('0x36')],{'$or':_['map'](_0xfe6c55[_0xc05b('0x2f')],function(_0x192cfc){var _0x369449={};_0x369449[_0x192cfc]={'$like':'%'+_0x3d4ab9[_0xc05b('0x2b')][_0xc05b('0x37')]+'%'};return _0x369449;})});}_0xfe6c55=_[_0xc05b('0x38')]({},_0xfe6c55,_0x3d4ab9['options']);return _0x13c092['getSubjects'](_0xfe6c55);}})[_0xc05b('0x1e')](function(_0x18d545){if(_0x18d545){_0x2dab9b=_0x18d545['length'];if(!_0x3d4ab9[_0xc05b('0x2b')]['hasOwnProperty'](_0xc05b('0x33'))){_0xfe6c55[_0xc05b('0x16')]=qs[_0xc05b('0x16')](_0x3d4ab9['query'][_0xc05b('0x16')]);_0xfe6c55[_0xc05b('0x14')]=qs[_0xc05b('0x14')](_0x3d4ab9['query'][_0xc05b('0x14')]);}return _0x13c092[_0xc05b('0x46')](_0xfe6c55);}})[_0xc05b('0x1e')](function(_0xc00b12){if(_0xc00b12){return _0xc00b12?{'count':_0x2dab9b,'rows':_0xc00b12}:null;}})[_0xc05b('0x1e')](respondWithResult(_0x54bf0f,null))[_0xc05b('0x3d')](handleError(_0x54bf0f,null));};exports[_0xc05b('0x48')]=function(_0x685fe2,_0x12c9f2,_0x38fa2f){var _0x3cbca2={};var _0x32a44b={};var _0x295697;var _0x27b542;return db[_0xc05b('0x3c')][_0xc05b('0x47')]({'where':{'id':_0x685fe2[_0xc05b('0x43')]['id']}})['then'](handleEntityNotFound(_0x12c9f2,null))[_0xc05b('0x1e')](function(_0x541aee){if(_0x541aee){_0x295697=_0x541aee;_0x32a44b[_0xc05b('0x2a')]=_[_0xc05b('0x2c')](db['FreshdeskField']['rawAttributes']);_0x32a44b[_0xc05b('0x2b')]=_[_0xc05b('0x2c')](_0x685fe2[_0xc05b('0x2b')]);_0x32a44b['filters']=_[_0xc05b('0x2e')](_0x32a44b[_0xc05b('0x2a')],_0x32a44b[_0xc05b('0x2b')]);_0x3cbca2['attributes']=_[_0xc05b('0x2e')](_0x32a44b[_0xc05b('0x2a')],qs[_0xc05b('0x30')](_0x685fe2[_0xc05b('0x2b')][_0xc05b('0x30')]));_0x3cbca2[_0xc05b('0x2f')]=_0x3cbca2[_0xc05b('0x2f')][_0xc05b('0x31')]?_0x3cbca2[_0xc05b('0x2f')]:_0x32a44b[_0xc05b('0x2a')];_0x3cbca2[_0xc05b('0x34')]=qs[_0xc05b('0x35')](_0x685fe2[_0xc05b('0x2b')][_0xc05b('0x35')]);_0x3cbca2[_0xc05b('0x36')]=qs[_0xc05b('0x2d')](_[_0xc05b('0x44')](_0x685fe2[_0xc05b('0x2b')],_0x32a44b[_0xc05b('0x2d')]));if(_0x685fe2[_0xc05b('0x2b')][_0xc05b('0x37')]){_0x3cbca2[_0xc05b('0x36')]=_['merge'](_0x3cbca2['where'],{'$or':_[_0xc05b('0x25')](_0x3cbca2[_0xc05b('0x2f')],function(_0x50f558){var _0x9c7d08={};_0x9c7d08[_0x50f558]={'$like':'%'+_0x685fe2[_0xc05b('0x2b')][_0xc05b('0x37')]+'%'};return _0x9c7d08;})});}_0x3cbca2=_['merge']({},_0x3cbca2,_0x685fe2[_0xc05b('0x3a')]);return _0x295697[_0xc05b('0x48')](_0x3cbca2);}})[_0xc05b('0x1e')](function(_0x27d3d1){if(_0x27d3d1){_0x27b542=_0x27d3d1[_0xc05b('0x31')];if(!_0x685fe2[_0xc05b('0x2b')][_0xc05b('0x32')](_0xc05b('0x33'))){_0x3cbca2['limit']=qs[_0xc05b('0x16')](_0x685fe2[_0xc05b('0x2b')][_0xc05b('0x16')]);_0x3cbca2[_0xc05b('0x14')]=qs[_0xc05b('0x14')](_0x685fe2['query'][_0xc05b('0x14')]);}return _0x295697[_0xc05b('0x48')](_0x3cbca2);}})[_0xc05b('0x1e')](function(_0x381958){if(_0x381958){return _0x381958?{'count':_0x27b542,'rows':_0x381958}:null;}})[_0xc05b('0x1e')](respondWithResult(_0x12c9f2,null))[_0xc05b('0x3d')](handleError(_0x12c9f2,null));};exports[_0xc05b('0x49')]=function(_0x5862c4,_0x518389,_0x2cc52a){var _0x247666={};var _0x16dc8d={};var _0x4c63d6;var _0x116712;return db[_0xc05b('0x3c')][_0xc05b('0x47')]({'where':{'id':_0x5862c4[_0xc05b('0x43')]['id']}})[_0xc05b('0x1e')](handleEntityNotFound(_0x518389,null))[_0xc05b('0x1e')](function(_0x38430c){if(_0x38430c){_0x4c63d6=_0x38430c;_0x16dc8d[_0xc05b('0x2a')]=_[_0xc05b('0x2c')](db['Tag'][_0xc05b('0x26')]);_0x16dc8d[_0xc05b('0x2b')]=_[_0xc05b('0x2c')](_0x5862c4[_0xc05b('0x2b')]);_0x16dc8d['filters']=_[_0xc05b('0x2e')](_0x16dc8d[_0xc05b('0x2a')],_0x16dc8d[_0xc05b('0x2b')]);_0x247666['attributes']=_[_0xc05b('0x2e')](_0x16dc8d[_0xc05b('0x2a')],qs[_0xc05b('0x30')](_0x5862c4[_0xc05b('0x2b')][_0xc05b('0x30')]));_0x247666['attributes']=_0x247666['attributes'][_0xc05b('0x31')]?_0x247666[_0xc05b('0x2f')]:_0x16dc8d[_0xc05b('0x2a')];_0x247666[_0xc05b('0x34')]=qs[_0xc05b('0x35')](_0x5862c4['query'][_0xc05b('0x35')]);_0x247666[_0xc05b('0x36')]=qs['filters'](_[_0xc05b('0x44')](_0x5862c4[_0xc05b('0x2b')],_0x16dc8d['filters']));if(_0x5862c4[_0xc05b('0x2b')][_0xc05b('0x37')]){_0x247666[_0xc05b('0x36')]=_[_0xc05b('0x38')](_0x247666['where'],{'$or':_[_0xc05b('0x25')](_0x247666[_0xc05b('0x2f')],function(_0x221aad){var _0x4445c2={};_0x4445c2[_0x221aad]={'$like':'%'+_0x5862c4[_0xc05b('0x2b')]['filter']+'%'};return _0x4445c2;})});}_0x247666=_[_0xc05b('0x38')]({},_0x247666,_0x5862c4[_0xc05b('0x3a')]);return _0x4c63d6['getTags'](_0x247666);}})[_0xc05b('0x1e')](function(_0x3d5c47){if(_0x3d5c47){_0x116712=_0x3d5c47[_0xc05b('0x31')];if(!_0x5862c4['query'][_0xc05b('0x32')](_0xc05b('0x33'))){_0x247666['limit']=qs[_0xc05b('0x16')](_0x5862c4[_0xc05b('0x2b')][_0xc05b('0x16')]);_0x247666[_0xc05b('0x14')]=qs['offset'](_0x5862c4[_0xc05b('0x2b')][_0xc05b('0x14')]);}return _0x4c63d6[_0xc05b('0x49')](_0x247666);}})[_0xc05b('0x1e')](function(_0x5da0ba){if(_0x5da0ba){return _0x5da0ba?{'count':_0x116712,'rows':_0x5da0ba}:null;}})[_0xc05b('0x1e')](respondWithResult(_0x518389,null))[_0xc05b('0x3d')](handleError(_0x518389,null));};exports[_0xc05b('0x4a')]=function(_0x237b69,_0x18963f,_0xc3b42){if(_0x237b69[_0xc05b('0x42')]['id']){delete _0x237b69[_0xc05b('0x42')]['id'];}return db[_0xc05b('0x3c')][_0xc05b('0x47')]({'where':{'id':_0x237b69[_0xc05b('0x43')]['id']}})[_0xc05b('0x1e')](handleEntityNotFound(_0x18963f,null))['then'](function(_0x4ded09){if(_0x4ded09){return _0x4ded09['setTags'](_0x237b69['body']['ids']||[]);}return null;})['then'](respondWithResult(_0x18963f,null))[_0xc05b('0x3d')](handleError(_0x18963f,null));};