Built motion from commit 538092ac.|2.6.10
[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 _0x5c73=['catch','show','params','includeAll','options','find','create','update','body','getFields','FreshdeskField','pick','getSubjects','getDescriptions','getTags','findOne','setTags','ids','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','save','then','destroy','sendStatus','stack','name','send','index','FreshdeskConfiguration','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','map','VIRTUAL','include','rows'];(function(_0x281ea6,_0x2af4e0){var _0x1445e9=function(_0x547433){while(--_0x547433){_0x281ea6['push'](_0x281ea6['shift']());}};_0x1445e9(++_0x2af4e0);}(_0x5c73,0xc0));var _0x35c7=function(_0x53ebc0,_0x13a560){_0x53ebc0=_0x53ebc0-0x0;var _0x286172=_0x5c73[_0x53ebc0];return _0x286172;};'use strict';var emlformat=require(_0x35c7('0x0'));var rimraf=require(_0x35c7('0x1'));var zipdir=require(_0x35c7('0x2'));var jsonpatch=require(_0x35c7('0x3'));var rp=require(_0x35c7('0x4'));var moment=require(_0x35c7('0x5'));var BPromise=require(_0x35c7('0x6'));var Mustache=require(_0x35c7('0x7'));var util=require('util');var path=require(_0x35c7('0x8'));var sox=require(_0x35c7('0x9'));var csv=require('to-csv');var ejs=require(_0x35c7('0xa'));var fs=require('fs');var fs_extra=require(_0x35c7('0xb'));var _=require(_0x35c7('0xc'));var squel=require(_0x35c7('0xd'));var crypto=require(_0x35c7('0xe'));var jsforce=require(_0x35c7('0xf'));var deskjs=require(_0x35c7('0x10'));var toCsv=require(_0x35c7('0x11'));var querystring=require(_0x35c7('0x12'));var Papa=require(_0x35c7('0x13'));var Redis=require(_0x35c7('0x14'));var authService=require(_0x35c7('0x15'));var qs=require(_0x35c7('0x16'));var as=require(_0x35c7('0x17'));var hardwareService=require(_0x35c7('0x18'));var logger=require('../../config/logger')(_0x35c7('0x19'));var utils=require('../../config/utils');var config=require(_0x35c7('0x1a'));var licenseUtil=require(_0x35c7('0x1b'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3db7e1,_0x1c7208){_0x1c7208=_0x1c7208||0xcc;return function(_0x2d7a49){if(_0x2d7a49){return _0x3db7e1['sendStatus'](_0x1c7208);}return _0x3db7e1[_0x35c7('0x1c')](_0x1c7208)[_0x35c7('0x1d')]();};}function respondWithResult(_0x2046b6,_0x49f9aa){_0x49f9aa=_0x49f9aa||0xc8;return function(_0x1604a6){if(_0x1604a6){return _0x2046b6[_0x35c7('0x1c')](_0x49f9aa)[_0x35c7('0x1e')](_0x1604a6);}};}function respondWithFilteredResult(_0x17999f,_0x4594c1){return function(_0x354456){if(_0x354456){var _0x7520d3=typeof _0x4594c1[_0x35c7('0x1f')]===_0x35c7('0x20')&&typeof _0x4594c1[_0x35c7('0x21')]===_0x35c7('0x20');var _0x56d32e=_0x354456[_0x35c7('0x22')];var _0x105bb9=_0x7520d3?0x0:_0x4594c1['offset'];var _0x1d8d52=_0x7520d3?_0x354456[_0x35c7('0x22')]:_0x4594c1[_0x35c7('0x1f')]+_0x4594c1['limit'];var _0x3b265e;if(_0x1d8d52>=_0x56d32e){_0x1d8d52=_0x56d32e;_0x3b265e=0xc8;}else{_0x3b265e=0xce;}_0x17999f[_0x35c7('0x1c')](_0x3b265e);return _0x17999f[_0x35c7('0x23')](_0x35c7('0x24'),_0x105bb9+'-'+_0x1d8d52+'/'+_0x56d32e)['json'](_0x354456);}return null;};}function patchUpdates(_0x900dc9){return function(_0x161aad){try{jsonpatch[_0x35c7('0x25')](_0x161aad,_0x900dc9,!![]);}catch(_0xab67b6){return BPromise['reject'](_0xab67b6);}return _0x161aad[_0x35c7('0x26')]();};}function saveUpdates(_0x3bbba5,_0xcbd295){return function(_0x3af4c5){if(_0x3af4c5){return _0x3af4c5['update'](_0x3bbba5)[_0x35c7('0x27')](function(_0x5b7534){return _0x5b7534;});}return null;};}function removeEntity(_0x273ca9,_0x53b062){return function(_0x4543b4){if(_0x4543b4){return _0x4543b4[_0x35c7('0x28')]()[_0x35c7('0x27')](function(){_0x273ca9[_0x35c7('0x1c')](0xcc)[_0x35c7('0x1d')]();});}};}function handleEntityNotFound(_0x2c57ad,_0xb7c67){return function(_0x53afb2){if(!_0x53afb2){_0x2c57ad[_0x35c7('0x29')](0x194);}return _0x53afb2;};}function handleError(_0x4cab3b,_0x4f70ac){_0x4f70ac=_0x4f70ac||0x1f4;return function(_0x2dd707){logger['error'](_0x2dd707[_0x35c7('0x2a')]);if(_0x2dd707['name']){delete _0x2dd707[_0x35c7('0x2b')];}_0x4cab3b[_0x35c7('0x1c')](_0x4f70ac)[_0x35c7('0x2c')](_0x2dd707);};}exports[_0x35c7('0x2d')]=function(_0x4c6485,_0x49958c){var _0x507a69={},_0x5abd0c={},_0x517df5={'count':0x0,'rows':[]};var _0x57eefc=_['map'](db[_0x35c7('0x2e')][_0x35c7('0x2f')],function(_0x57c5ad){return{'name':_0x57c5ad['fieldName'],'type':_0x57c5ad[_0x35c7('0x30')][_0x35c7('0x31')]};});_0x5abd0c[_0x35c7('0x32')]=_['map'](_0x57eefc,_0x35c7('0x2b'));_0x5abd0c[_0x35c7('0x33')]=_[_0x35c7('0x34')](_0x4c6485[_0x35c7('0x33')]);_0x5abd0c[_0x35c7('0x35')]=_[_0x35c7('0x36')](_0x5abd0c[_0x35c7('0x32')],_0x5abd0c[_0x35c7('0x33')]);_0x507a69[_0x35c7('0x37')]=_['intersection'](_0x5abd0c['model'],qs[_0x35c7('0x38')](_0x4c6485[_0x35c7('0x33')]['fields']));_0x507a69[_0x35c7('0x37')]=_0x507a69['attributes'][_0x35c7('0x39')]?_0x507a69[_0x35c7('0x37')]:_0x5abd0c['model'];if(!_0x4c6485[_0x35c7('0x33')][_0x35c7('0x3a')](_0x35c7('0x3b'))){_0x507a69[_0x35c7('0x21')]=qs['limit'](_0x4c6485[_0x35c7('0x33')]['limit']);_0x507a69[_0x35c7('0x1f')]=qs[_0x35c7('0x1f')](_0x4c6485[_0x35c7('0x33')][_0x35c7('0x1f')]);}_0x507a69[_0x35c7('0x3c')]=qs[_0x35c7('0x3d')](_0x4c6485[_0x35c7('0x33')]['sort']);_0x507a69[_0x35c7('0x3e')]=qs[_0x35c7('0x35')](_['pick'](_0x4c6485[_0x35c7('0x33')],_0x5abd0c[_0x35c7('0x35')]),_0x57eefc);if(_0x4c6485['query'][_0x35c7('0x3f')]){_0x507a69['where']=_[_0x35c7('0x40')](_0x507a69['where'],{'$or':_[_0x35c7('0x41')](_0x57eefc,function(_0x381d71){if(_0x381d71[_0x35c7('0x30')]!==_0x35c7('0x42')){var _0x3ea1ac={};_0x3ea1ac[_0x381d71[_0x35c7('0x2b')]]={'$like':'%'+_0x4c6485[_0x35c7('0x33')][_0x35c7('0x3f')]+'%'};return _0x3ea1ac;}})});}_0x507a69=_[_0x35c7('0x40')]({},_0x507a69,_0x4c6485['options']);var _0x1f7bff={'where':_0x507a69[_0x35c7('0x3e')]};return db['FreshdeskConfiguration'][_0x35c7('0x22')](_0x1f7bff)['then'](function(_0xfeee06){_0x517df5['count']=_0xfeee06;if(_0x4c6485[_0x35c7('0x33')]['includeAll']){_0x507a69[_0x35c7('0x43')]=[{'all':!![]}];}return db[_0x35c7('0x2e')]['findAll'](_0x507a69);})['then'](function(_0x10ab84){_0x517df5[_0x35c7('0x44')]=_0x10ab84;return _0x517df5;})[_0x35c7('0x27')](respondWithFilteredResult(_0x49958c,_0x507a69))[_0x35c7('0x45')](handleError(_0x49958c,null));};exports[_0x35c7('0x46')]=function(_0x2f2a1f,_0x316ff1){var _0x4f00a2={'raw':![],'where':{'id':_0x2f2a1f[_0x35c7('0x47')]['id']}},_0x20b253={};_0x20b253[_0x35c7('0x32')]=_[_0x35c7('0x34')](db[_0x35c7('0x2e')]['rawAttributes']);_0x20b253[_0x35c7('0x33')]=_[_0x35c7('0x34')](_0x2f2a1f['query']);_0x20b253[_0x35c7('0x35')]=_[_0x35c7('0x36')](_0x20b253[_0x35c7('0x32')],_0x20b253[_0x35c7('0x33')]);_0x4f00a2[_0x35c7('0x37')]=_[_0x35c7('0x36')](_0x20b253[_0x35c7('0x32')],qs[_0x35c7('0x38')](_0x2f2a1f[_0x35c7('0x33')]['fields']));_0x4f00a2[_0x35c7('0x37')]=_0x4f00a2['attributes'][_0x35c7('0x39')]?_0x4f00a2[_0x35c7('0x37')]:_0x20b253['model'];if(_0x2f2a1f[_0x35c7('0x33')][_0x35c7('0x48')]){_0x4f00a2[_0x35c7('0x43')]=[{'all':!![]}];}_0x4f00a2=_[_0x35c7('0x40')]({},_0x4f00a2,_0x2f2a1f[_0x35c7('0x49')]);return db[_0x35c7('0x2e')][_0x35c7('0x4a')](_0x4f00a2)[_0x35c7('0x27')](handleEntityNotFound(_0x316ff1,null))[_0x35c7('0x27')](respondWithResult(_0x316ff1,null))['catch'](handleError(_0x316ff1,null));};exports[_0x35c7('0x4b')]=function(_0x26bbf1,_0x2237cc){return db[_0x35c7('0x2e')][_0x35c7('0x4b')](_0x26bbf1['body'],{})[_0x35c7('0x27')](respondWithResult(_0x2237cc,0xc9))[_0x35c7('0x45')](handleError(_0x2237cc,null));};exports[_0x35c7('0x4c')]=function(_0x433bbd,_0x20debb){if(_0x433bbd[_0x35c7('0x4d')]['id']){delete _0x433bbd[_0x35c7('0x4d')]['id'];}return db[_0x35c7('0x2e')][_0x35c7('0x4a')]({'where':{'id':_0x433bbd['params']['id']}})['then'](handleEntityNotFound(_0x20debb,null))[_0x35c7('0x27')](saveUpdates(_0x433bbd['body'],null))['then'](respondWithResult(_0x20debb,null))[_0x35c7('0x45')](handleError(_0x20debb,null));};exports[_0x35c7('0x28')]=function(_0x248cfe,_0x42dc90){return db[_0x35c7('0x2e')][_0x35c7('0x4a')]({'where':{'id':_0x248cfe[_0x35c7('0x47')]['id']}})[_0x35c7('0x27')](handleEntityNotFound(_0x42dc90,null))[_0x35c7('0x27')](removeEntity(_0x42dc90,null))[_0x35c7('0x45')](handleError(_0x42dc90,null));};exports[_0x35c7('0x4e')]=function(_0x44bdb0,_0x5013fd,_0x32d733){var _0x339a99={};var _0x492a0c={};var _0xcd8b6d;var _0x450959;return db['FreshdeskConfiguration']['findOne']({'where':{'id':_0x44bdb0[_0x35c7('0x47')]['id']}})[_0x35c7('0x27')](handleEntityNotFound(_0x5013fd,null))[_0x35c7('0x27')](function(_0x90205d){if(_0x90205d){_0xcd8b6d=_0x90205d;_0x492a0c[_0x35c7('0x32')]=_[_0x35c7('0x34')](db[_0x35c7('0x4f')][_0x35c7('0x2f')]);_0x492a0c[_0x35c7('0x33')]=_['keys'](_0x44bdb0['query']);_0x492a0c[_0x35c7('0x35')]=_[_0x35c7('0x36')](_0x492a0c[_0x35c7('0x32')],_0x492a0c[_0x35c7('0x33')]);_0x339a99['attributes']=_[_0x35c7('0x36')](_0x492a0c['model'],qs[_0x35c7('0x38')](_0x44bdb0[_0x35c7('0x33')][_0x35c7('0x38')]));_0x339a99[_0x35c7('0x37')]=_0x339a99[_0x35c7('0x37')][_0x35c7('0x39')]?_0x339a99[_0x35c7('0x37')]:_0x492a0c[_0x35c7('0x32')];_0x339a99[_0x35c7('0x3c')]=qs['sort'](_0x44bdb0[_0x35c7('0x33')]['sort']);_0x339a99[_0x35c7('0x3e')]=qs[_0x35c7('0x35')](_[_0x35c7('0x50')](_0x44bdb0[_0x35c7('0x33')],_0x492a0c[_0x35c7('0x35')]));if(_0x44bdb0[_0x35c7('0x33')]['filter']){_0x339a99[_0x35c7('0x3e')]=_[_0x35c7('0x40')](_0x339a99[_0x35c7('0x3e')],{'$or':_['map'](_0x339a99[_0x35c7('0x37')],function(_0x1b2fbc){var _0x2f1eb8={};_0x2f1eb8[_0x1b2fbc]={'$like':'%'+_0x44bdb0['query'][_0x35c7('0x3f')]+'%'};return _0x2f1eb8;})});}_0x339a99=_[_0x35c7('0x40')]({},_0x339a99,_0x44bdb0[_0x35c7('0x49')]);return _0xcd8b6d[_0x35c7('0x4e')](_0x339a99);}})[_0x35c7('0x27')](function(_0x593716){if(_0x593716){_0x450959=_0x593716[_0x35c7('0x39')];if(!_0x44bdb0[_0x35c7('0x33')][_0x35c7('0x3a')](_0x35c7('0x3b'))){_0x339a99['limit']=qs['limit'](_0x44bdb0['query'][_0x35c7('0x21')]);_0x339a99[_0x35c7('0x1f')]=qs[_0x35c7('0x1f')](_0x44bdb0[_0x35c7('0x33')]['offset']);}return _0xcd8b6d[_0x35c7('0x4e')](_0x339a99);}})['then'](function(_0x2edc4f){if(_0x2edc4f){return _0x2edc4f?{'count':_0x450959,'rows':_0x2edc4f}:null;}})['then'](respondWithResult(_0x5013fd,null))[_0x35c7('0x45')](handleError(_0x5013fd,null));};exports['getSubjects']=function(_0x1af408,_0x374887,_0x337220){var _0x4a4050={};var _0x3483d2={};var _0x5932fe;var _0x57a72f;return db[_0x35c7('0x2e')]['findOne']({'where':{'id':_0x1af408['params']['id']}})[_0x35c7('0x27')](handleEntityNotFound(_0x374887,null))[_0x35c7('0x27')](function(_0x12fcc9){if(_0x12fcc9){_0x5932fe=_0x12fcc9;_0x3483d2[_0x35c7('0x32')]=_[_0x35c7('0x34')](db['FreshdeskField'][_0x35c7('0x2f')]);_0x3483d2[_0x35c7('0x33')]=_[_0x35c7('0x34')](_0x1af408[_0x35c7('0x33')]);_0x3483d2[_0x35c7('0x35')]=_['intersection'](_0x3483d2[_0x35c7('0x32')],_0x3483d2[_0x35c7('0x33')]);_0x4a4050[_0x35c7('0x37')]=_[_0x35c7('0x36')](_0x3483d2['model'],qs[_0x35c7('0x38')](_0x1af408[_0x35c7('0x33')][_0x35c7('0x38')]));_0x4a4050[_0x35c7('0x37')]=_0x4a4050[_0x35c7('0x37')][_0x35c7('0x39')]?_0x4a4050[_0x35c7('0x37')]:_0x3483d2[_0x35c7('0x32')];_0x4a4050[_0x35c7('0x3c')]=qs[_0x35c7('0x3d')](_0x1af408[_0x35c7('0x33')][_0x35c7('0x3d')]);_0x4a4050[_0x35c7('0x3e')]=qs[_0x35c7('0x35')](_[_0x35c7('0x50')](_0x1af408[_0x35c7('0x33')],_0x3483d2['filters']));if(_0x1af408[_0x35c7('0x33')][_0x35c7('0x3f')]){_0x4a4050['where']=_['merge'](_0x4a4050[_0x35c7('0x3e')],{'$or':_[_0x35c7('0x41')](_0x4a4050['attributes'],function(_0x545de7){var _0x2b927b={};_0x2b927b[_0x545de7]={'$like':'%'+_0x1af408[_0x35c7('0x33')]['filter']+'%'};return _0x2b927b;})});}_0x4a4050=_['merge']({},_0x4a4050,_0x1af408[_0x35c7('0x49')]);return _0x5932fe[_0x35c7('0x51')](_0x4a4050);}})['then'](function(_0x3a4195){if(_0x3a4195){_0x57a72f=_0x3a4195[_0x35c7('0x39')];if(!_0x1af408[_0x35c7('0x33')][_0x35c7('0x3a')](_0x35c7('0x3b'))){_0x4a4050[_0x35c7('0x21')]=qs[_0x35c7('0x21')](_0x1af408['query'][_0x35c7('0x21')]);_0x4a4050[_0x35c7('0x1f')]=qs[_0x35c7('0x1f')](_0x1af408[_0x35c7('0x33')][_0x35c7('0x1f')]);}return _0x5932fe['getSubjects'](_0x4a4050);}})['then'](function(_0x1f1b8b){if(_0x1f1b8b){return _0x1f1b8b?{'count':_0x57a72f,'rows':_0x1f1b8b}:null;}})[_0x35c7('0x27')](respondWithResult(_0x374887,null))[_0x35c7('0x45')](handleError(_0x374887,null));};exports['getDescriptions']=function(_0x12e83a,_0x10df69,_0x39c43c){var _0x105431={};var _0x2bc076={};var _0x4c60c5;var _0x2fd452;return db['FreshdeskConfiguration']['findOne']({'where':{'id':_0x12e83a[_0x35c7('0x47')]['id']}})[_0x35c7('0x27')](handleEntityNotFound(_0x10df69,null))['then'](function(_0x3452e){if(_0x3452e){_0x4c60c5=_0x3452e;_0x2bc076['model']=_[_0x35c7('0x34')](db[_0x35c7('0x4f')][_0x35c7('0x2f')]);_0x2bc076[_0x35c7('0x33')]=_[_0x35c7('0x34')](_0x12e83a[_0x35c7('0x33')]);_0x2bc076[_0x35c7('0x35')]=_[_0x35c7('0x36')](_0x2bc076[_0x35c7('0x32')],_0x2bc076[_0x35c7('0x33')]);_0x105431[_0x35c7('0x37')]=_[_0x35c7('0x36')](_0x2bc076[_0x35c7('0x32')],qs[_0x35c7('0x38')](_0x12e83a[_0x35c7('0x33')][_0x35c7('0x38')]));_0x105431['attributes']=_0x105431['attributes'][_0x35c7('0x39')]?_0x105431['attributes']:_0x2bc076['model'];_0x105431[_0x35c7('0x3c')]=qs[_0x35c7('0x3d')](_0x12e83a[_0x35c7('0x33')]['sort']);_0x105431['where']=qs['filters'](_[_0x35c7('0x50')](_0x12e83a[_0x35c7('0x33')],_0x2bc076[_0x35c7('0x35')]));if(_0x12e83a[_0x35c7('0x33')][_0x35c7('0x3f')]){_0x105431[_0x35c7('0x3e')]=_['merge'](_0x105431['where'],{'$or':_[_0x35c7('0x41')](_0x105431['attributes'],function(_0x3a74a9){var _0x48f4b4={};_0x48f4b4[_0x3a74a9]={'$like':'%'+_0x12e83a['query'][_0x35c7('0x3f')]+'%'};return _0x48f4b4;})});}_0x105431=_[_0x35c7('0x40')]({},_0x105431,_0x12e83a[_0x35c7('0x49')]);return _0x4c60c5[_0x35c7('0x52')](_0x105431);}})[_0x35c7('0x27')](function(_0x464d3b){if(_0x464d3b){_0x2fd452=_0x464d3b[_0x35c7('0x39')];if(!_0x12e83a[_0x35c7('0x33')][_0x35c7('0x3a')]('nolimit')){_0x105431[_0x35c7('0x21')]=qs[_0x35c7('0x21')](_0x12e83a[_0x35c7('0x33')][_0x35c7('0x21')]);_0x105431['offset']=qs[_0x35c7('0x1f')](_0x12e83a[_0x35c7('0x33')][_0x35c7('0x1f')]);}return _0x4c60c5[_0x35c7('0x52')](_0x105431);}})[_0x35c7('0x27')](function(_0x4d5453){if(_0x4d5453){return _0x4d5453?{'count':_0x2fd452,'rows':_0x4d5453}:null;}})[_0x35c7('0x27')](respondWithResult(_0x10df69,null))[_0x35c7('0x45')](handleError(_0x10df69,null));};exports[_0x35c7('0x53')]=function(_0x223048,_0x565f27,_0x57c83d){var _0x5e52fa={};var _0x27c8ac={};var _0x34647c;var _0x35a384;return db['FreshdeskConfiguration'][_0x35c7('0x54')]({'where':{'id':_0x223048[_0x35c7('0x47')]['id']}})[_0x35c7('0x27')](handleEntityNotFound(_0x565f27,null))['then'](function(_0x4b5543){if(_0x4b5543){_0x34647c=_0x4b5543;_0x27c8ac[_0x35c7('0x32')]=_[_0x35c7('0x34')](db['Tag'][_0x35c7('0x2f')]);_0x27c8ac[_0x35c7('0x33')]=_[_0x35c7('0x34')](_0x223048['query']);_0x27c8ac['filters']=_[_0x35c7('0x36')](_0x27c8ac[_0x35c7('0x32')],_0x27c8ac[_0x35c7('0x33')]);_0x5e52fa[_0x35c7('0x37')]=_['intersection'](_0x27c8ac['model'],qs[_0x35c7('0x38')](_0x223048[_0x35c7('0x33')][_0x35c7('0x38')]));_0x5e52fa['attributes']=_0x5e52fa[_0x35c7('0x37')][_0x35c7('0x39')]?_0x5e52fa[_0x35c7('0x37')]:_0x27c8ac[_0x35c7('0x32')];_0x5e52fa[_0x35c7('0x3c')]=qs[_0x35c7('0x3d')](_0x223048['query'][_0x35c7('0x3d')]);_0x5e52fa[_0x35c7('0x3e')]=qs[_0x35c7('0x35')](_[_0x35c7('0x50')](_0x223048['query'],_0x27c8ac['filters']));if(_0x223048[_0x35c7('0x33')]['filter']){_0x5e52fa['where']=_[_0x35c7('0x40')](_0x5e52fa[_0x35c7('0x3e')],{'$or':_[_0x35c7('0x41')](_0x5e52fa[_0x35c7('0x37')],function(_0x454e73){var _0x49d92={};_0x49d92[_0x454e73]={'$like':'%'+_0x223048[_0x35c7('0x33')]['filter']+'%'};return _0x49d92;})});}_0x5e52fa=_[_0x35c7('0x40')]({},_0x5e52fa,_0x223048['options']);return _0x34647c[_0x35c7('0x53')](_0x5e52fa);}})['then'](function(_0x3ad851){if(_0x3ad851){_0x35a384=_0x3ad851['length'];if(!_0x223048['query']['hasOwnProperty'](_0x35c7('0x3b'))){_0x5e52fa[_0x35c7('0x21')]=qs[_0x35c7('0x21')](_0x223048[_0x35c7('0x33')][_0x35c7('0x21')]);_0x5e52fa[_0x35c7('0x1f')]=qs[_0x35c7('0x1f')](_0x223048[_0x35c7('0x33')][_0x35c7('0x1f')]);}return _0x34647c['getTags'](_0x5e52fa);}})[_0x35c7('0x27')](function(_0x44f5be){if(_0x44f5be){return _0x44f5be?{'count':_0x35a384,'rows':_0x44f5be}:null;}})['then'](respondWithResult(_0x565f27,null))['catch'](handleError(_0x565f27,null));};exports[_0x35c7('0x55')]=function(_0x533407,_0x6105af,_0x2b6cd6){if(_0x533407[_0x35c7('0x4d')]['id']){delete _0x533407['body']['id'];}return db[_0x35c7('0x2e')][_0x35c7('0x54')]({'where':{'id':_0x533407[_0x35c7('0x47')]['id']}})[_0x35c7('0x27')](handleEntityNotFound(_0x6105af,null))[_0x35c7('0x27')](function(_0x19e627){if(_0x19e627){return _0x19e627[_0x35c7('0x55')](_0x533407[_0x35c7('0x4d')][_0x35c7('0x56')]||[]);}return null;})[_0x35c7('0x27')](respondWithResult(_0x6105af,null))[_0x35c7('0x45')](handleError(_0x6105af,null));};