Built motion from commit 53172ac8.|2.6.30
[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 _0x0d02=['lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','offset','undefined','limit','count','status','set','Content-Range','json','apply','reject','save','update','destroy','then','error','stack','send','index','FreshdeskConfiguration','rawAttributes','fieldName','type','model','map','name','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','getFields','findOne','FreshdeskField','nolimit','getSubjects','getDescriptions','getTags','Tag','setTags','ids','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','sox','to-csv','ejs','fs-extra'];(function(_0x340b1b,_0x4f21b6){var _0x41b74e=function(_0x221a59){while(--_0x221a59){_0x340b1b['push'](_0x340b1b['shift']());}};_0x41b74e(++_0x4f21b6);}(_0x0d02,0xa4));var _0x20d0=function(_0x150ba2,_0x5d283c){_0x150ba2=_0x150ba2-0x0;var _0x3cdcc4=_0x0d02[_0x150ba2];return _0x3cdcc4;};'use strict';var emlformat=require(_0x20d0('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x20d0('0x1'));var jsonpatch=require(_0x20d0('0x2'));var rp=require(_0x20d0('0x3'));var moment=require('moment');var BPromise=require(_0x20d0('0x4'));var Mustache=require(_0x20d0('0x5'));var util=require('util');var path=require('path');var sox=require(_0x20d0('0x6'));var csv=require(_0x20d0('0x7'));var ejs=require(_0x20d0('0x8'));var fs=require('fs');var fs_extra=require(_0x20d0('0x9'));var _=require(_0x20d0('0xa'));var squel=require(_0x20d0('0xb'));var crypto=require(_0x20d0('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x20d0('0xd'));var toCsv=require(_0x20d0('0x7'));var querystring=require(_0x20d0('0xe'));var Papa=require(_0x20d0('0xf'));var Redis=require('ioredis');var authService=require(_0x20d0('0x10'));var qs=require(_0x20d0('0x11'));var as=require(_0x20d0('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x20d0('0x13'))(_0x20d0('0x14'));var utils=require(_0x20d0('0x15'));var config=require(_0x20d0('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x20d0('0x17'))['db'];function respondWithStatusCode(_0x2938a9,_0x5a72ee){_0x5a72ee=_0x5a72ee||0xcc;return function(_0x4c51f8){if(_0x4c51f8){return _0x2938a9[_0x20d0('0x18')](_0x5a72ee);}return _0x2938a9['status'](_0x5a72ee)[_0x20d0('0x19')]();};}function respondWithResult(_0x23a05c,_0x4a96bf){_0x4a96bf=_0x4a96bf||0xc8;return function(_0x5358f1){if(_0x5358f1){return _0x23a05c['status'](_0x4a96bf)['json'](_0x5358f1);}};}function respondWithFilteredResult(_0x286a34,_0x2b4a00){return function(_0x1ecfd4){if(_0x1ecfd4){var _0x5530cb=typeof _0x2b4a00[_0x20d0('0x1a')]===_0x20d0('0x1b')&&typeof _0x2b4a00[_0x20d0('0x1c')]===_0x20d0('0x1b');var _0x4e88bb=_0x1ecfd4[_0x20d0('0x1d')];var _0x5377f9=_0x5530cb?0x0:_0x2b4a00[_0x20d0('0x1a')];var _0x54e33d=_0x5530cb?_0x1ecfd4[_0x20d0('0x1d')]:_0x2b4a00['offset']+_0x2b4a00[_0x20d0('0x1c')];var _0x26c808;if(_0x54e33d>=_0x4e88bb){_0x54e33d=_0x4e88bb;_0x26c808=0xc8;}else{_0x26c808=0xce;}_0x286a34[_0x20d0('0x1e')](_0x26c808);return _0x286a34[_0x20d0('0x1f')](_0x20d0('0x20'),_0x5377f9+'-'+_0x54e33d+'/'+_0x4e88bb)[_0x20d0('0x21')](_0x1ecfd4);}return null;};}function patchUpdates(_0x7c64cb){return function(_0x26b362){try{jsonpatch[_0x20d0('0x22')](_0x26b362,_0x7c64cb,!![]);}catch(_0xb18fc9){return BPromise[_0x20d0('0x23')](_0xb18fc9);}return _0x26b362[_0x20d0('0x24')]();};}function saveUpdates(_0x117c85,_0x418e2b){return function(_0x8eb124){if(_0x8eb124){return _0x8eb124[_0x20d0('0x25')](_0x117c85)['then'](function(_0x40ea8c){return _0x40ea8c;});}return null;};}function removeEntity(_0x58ec24,_0x4c8fea){return function(_0x386b84){if(_0x386b84){return _0x386b84[_0x20d0('0x26')]()[_0x20d0('0x27')](function(){_0x58ec24['status'](0xcc)[_0x20d0('0x19')]();});}};}function handleEntityNotFound(_0x431cae,_0xb3cb33){return function(_0x294bc5){if(!_0x294bc5){_0x431cae[_0x20d0('0x18')](0x194);}return _0x294bc5;};}function handleError(_0x1482cd,_0x581b52){_0x581b52=_0x581b52||0x1f4;return function(_0x16fac3){logger[_0x20d0('0x28')](_0x16fac3[_0x20d0('0x29')]);if(_0x16fac3['name']){delete _0x16fac3['name'];}_0x1482cd[_0x20d0('0x1e')](_0x581b52)[_0x20d0('0x2a')](_0x16fac3);};}exports[_0x20d0('0x2b')]=function(_0x3cf47a,_0x18abd3){var _0x119b4c={},_0x3cb363={},_0x5290fe={'count':0x0,'rows':[]};var _0x555106=_['map'](db[_0x20d0('0x2c')][_0x20d0('0x2d')],function(_0x3210c7){return{'name':_0x3210c7[_0x20d0('0x2e')],'type':_0x3210c7[_0x20d0('0x2f')]['key']};});_0x3cb363[_0x20d0('0x30')]=_[_0x20d0('0x31')](_0x555106,_0x20d0('0x32'));_0x3cb363[_0x20d0('0x33')]=_[_0x20d0('0x34')](_0x3cf47a[_0x20d0('0x33')]);_0x3cb363[_0x20d0('0x35')]=_[_0x20d0('0x36')](_0x3cb363['model'],_0x3cb363[_0x20d0('0x33')]);_0x119b4c[_0x20d0('0x37')]=_[_0x20d0('0x36')](_0x3cb363['model'],qs[_0x20d0('0x38')](_0x3cf47a[_0x20d0('0x33')][_0x20d0('0x38')]));_0x119b4c['attributes']=_0x119b4c[_0x20d0('0x37')][_0x20d0('0x39')]?_0x119b4c['attributes']:_0x3cb363[_0x20d0('0x30')];if(!_0x3cf47a[_0x20d0('0x33')][_0x20d0('0x3a')]('nolimit')){_0x119b4c['limit']=qs[_0x20d0('0x1c')](_0x3cf47a[_0x20d0('0x33')][_0x20d0('0x1c')]);_0x119b4c[_0x20d0('0x1a')]=qs[_0x20d0('0x1a')](_0x3cf47a[_0x20d0('0x33')][_0x20d0('0x1a')]);}_0x119b4c[_0x20d0('0x3b')]=qs[_0x20d0('0x3c')](_0x3cf47a[_0x20d0('0x33')]['sort']);_0x119b4c[_0x20d0('0x3d')]=qs[_0x20d0('0x35')](_[_0x20d0('0x3e')](_0x3cf47a[_0x20d0('0x33')],_0x3cb363[_0x20d0('0x35')]),_0x555106);if(_0x3cf47a[_0x20d0('0x33')][_0x20d0('0x3f')]){_0x119b4c[_0x20d0('0x3d')]=_[_0x20d0('0x40')](_0x119b4c[_0x20d0('0x3d')],{'$or':_[_0x20d0('0x31')](_0x555106,function(_0x9ee82d){if(_0x9ee82d['type']!==_0x20d0('0x41')){var _0x3dbdbe={};_0x3dbdbe[_0x9ee82d[_0x20d0('0x32')]]={'$like':'%'+_0x3cf47a[_0x20d0('0x33')][_0x20d0('0x3f')]+'%'};return _0x3dbdbe;}})});}_0x119b4c=_[_0x20d0('0x40')]({},_0x119b4c,_0x3cf47a[_0x20d0('0x42')]);var _0x24b55f={'where':_0x119b4c[_0x20d0('0x3d')]};return db['FreshdeskConfiguration'][_0x20d0('0x1d')](_0x24b55f)['then'](function(_0x31abe6){_0x5290fe['count']=_0x31abe6;if(_0x3cf47a[_0x20d0('0x33')]['includeAll']){_0x119b4c[_0x20d0('0x43')]=[{'all':!![]}];}return db['FreshdeskConfiguration'][_0x20d0('0x44')](_0x119b4c);})[_0x20d0('0x27')](function(_0xaa1fa4){_0x5290fe[_0x20d0('0x45')]=_0xaa1fa4;return _0x5290fe;})[_0x20d0('0x27')](respondWithFilteredResult(_0x18abd3,_0x119b4c))[_0x20d0('0x46')](handleError(_0x18abd3,null));};exports[_0x20d0('0x47')]=function(_0x28db45,_0x150fc0){var _0x38e4da={'raw':![],'where':{'id':_0x28db45[_0x20d0('0x48')]['id']}},_0x5d9119={};_0x5d9119[_0x20d0('0x30')]=_[_0x20d0('0x34')](db['FreshdeskConfiguration'][_0x20d0('0x2d')]);_0x5d9119[_0x20d0('0x33')]=_['keys'](_0x28db45[_0x20d0('0x33')]);_0x5d9119[_0x20d0('0x35')]=_[_0x20d0('0x36')](_0x5d9119['model'],_0x5d9119['query']);_0x38e4da[_0x20d0('0x37')]=_[_0x20d0('0x36')](_0x5d9119[_0x20d0('0x30')],qs[_0x20d0('0x38')](_0x28db45['query'][_0x20d0('0x38')]));_0x38e4da[_0x20d0('0x37')]=_0x38e4da[_0x20d0('0x37')][_0x20d0('0x39')]?_0x38e4da['attributes']:_0x5d9119[_0x20d0('0x30')];if(_0x28db45[_0x20d0('0x33')][_0x20d0('0x49')]){_0x38e4da['include']=[{'all':!![]}];}_0x38e4da=_[_0x20d0('0x40')]({},_0x38e4da,_0x28db45['options']);return db[_0x20d0('0x2c')][_0x20d0('0x4a')](_0x38e4da)['then'](handleEntityNotFound(_0x150fc0,null))[_0x20d0('0x27')](respondWithResult(_0x150fc0,null))['catch'](handleError(_0x150fc0,null));};exports['create']=function(_0x3177cd,_0xd30332){return db[_0x20d0('0x2c')][_0x20d0('0x4b')](_0x3177cd[_0x20d0('0x4c')],{})['then'](respondWithResult(_0xd30332,0xc9))[_0x20d0('0x46')](handleError(_0xd30332,null));};exports[_0x20d0('0x25')]=function(_0xe33c00,_0x33a9aa){if(_0xe33c00['body']['id']){delete _0xe33c00[_0x20d0('0x4c')]['id'];}return db[_0x20d0('0x2c')][_0x20d0('0x4a')]({'where':{'id':_0xe33c00['params']['id']}})[_0x20d0('0x27')](handleEntityNotFound(_0x33a9aa,null))[_0x20d0('0x27')](saveUpdates(_0xe33c00[_0x20d0('0x4c')],null))['then'](respondWithResult(_0x33a9aa,null))[_0x20d0('0x46')](handleError(_0x33a9aa,null));};exports[_0x20d0('0x26')]=function(_0x413294,_0x4a87a9){return db[_0x20d0('0x2c')]['find']({'where':{'id':_0x413294[_0x20d0('0x48')]['id']}})[_0x20d0('0x27')](handleEntityNotFound(_0x4a87a9,null))['then'](removeEntity(_0x4a87a9,null))['catch'](handleError(_0x4a87a9,null));};exports[_0x20d0('0x4d')]=function(_0x151b04,_0x1f5815,_0x1c50f3){var _0x14b07c={};var _0x465d49={};var _0x293219;var _0x49c39b;return db[_0x20d0('0x2c')][_0x20d0('0x4e')]({'where':{'id':_0x151b04[_0x20d0('0x48')]['id']}})['then'](handleEntityNotFound(_0x1f5815,null))[_0x20d0('0x27')](function(_0x18a027){if(_0x18a027){_0x293219=_0x18a027;_0x465d49[_0x20d0('0x30')]=_[_0x20d0('0x34')](db[_0x20d0('0x4f')]['rawAttributes']);_0x465d49['query']=_['keys'](_0x151b04[_0x20d0('0x33')]);_0x465d49[_0x20d0('0x35')]=_['intersection'](_0x465d49[_0x20d0('0x30')],_0x465d49['query']);_0x14b07c[_0x20d0('0x37')]=_[_0x20d0('0x36')](_0x465d49[_0x20d0('0x30')],qs[_0x20d0('0x38')](_0x151b04['query'][_0x20d0('0x38')]));_0x14b07c['attributes']=_0x14b07c[_0x20d0('0x37')][_0x20d0('0x39')]?_0x14b07c['attributes']:_0x465d49[_0x20d0('0x30')];_0x14b07c[_0x20d0('0x3b')]=qs[_0x20d0('0x3c')](_0x151b04[_0x20d0('0x33')][_0x20d0('0x3c')]);_0x14b07c['where']=qs[_0x20d0('0x35')](_['pick'](_0x151b04['query'],_0x465d49['filters']));if(_0x151b04[_0x20d0('0x33')]['filter']){_0x14b07c['where']=_[_0x20d0('0x40')](_0x14b07c[_0x20d0('0x3d')],{'$or':_[_0x20d0('0x31')](_0x14b07c[_0x20d0('0x37')],function(_0x326032){var _0x49b67b={};_0x49b67b[_0x326032]={'$like':'%'+_0x151b04[_0x20d0('0x33')]['filter']+'%'};return _0x49b67b;})});}_0x14b07c=_['merge']({},_0x14b07c,_0x151b04[_0x20d0('0x42')]);return _0x293219[_0x20d0('0x4d')](_0x14b07c);}})['then'](function(_0x5735d4){if(_0x5735d4){_0x49c39b=_0x5735d4[_0x20d0('0x39')];if(!_0x151b04['query'][_0x20d0('0x3a')](_0x20d0('0x50'))){_0x14b07c[_0x20d0('0x1c')]=qs[_0x20d0('0x1c')](_0x151b04[_0x20d0('0x33')][_0x20d0('0x1c')]);_0x14b07c[_0x20d0('0x1a')]=qs['offset'](_0x151b04[_0x20d0('0x33')][_0x20d0('0x1a')]);}return _0x293219[_0x20d0('0x4d')](_0x14b07c);}})['then'](function(_0x2790de){if(_0x2790de){return _0x2790de?{'count':_0x49c39b,'rows':_0x2790de}:null;}})[_0x20d0('0x27')](respondWithResult(_0x1f5815,null))[_0x20d0('0x46')](handleError(_0x1f5815,null));};exports[_0x20d0('0x51')]=function(_0x55aad5,_0x40b050,_0x16420a){var _0x14e6ea={};var _0x3fa141={};var _0x22e36d;var _0x122c1e;return db[_0x20d0('0x2c')][_0x20d0('0x4e')]({'where':{'id':_0x55aad5['params']['id']}})[_0x20d0('0x27')](handleEntityNotFound(_0x40b050,null))[_0x20d0('0x27')](function(_0x58d53c){if(_0x58d53c){_0x22e36d=_0x58d53c;_0x3fa141[_0x20d0('0x30')]=_['keys'](db[_0x20d0('0x4f')][_0x20d0('0x2d')]);_0x3fa141[_0x20d0('0x33')]=_[_0x20d0('0x34')](_0x55aad5[_0x20d0('0x33')]);_0x3fa141[_0x20d0('0x35')]=_['intersection'](_0x3fa141[_0x20d0('0x30')],_0x3fa141[_0x20d0('0x33')]);_0x14e6ea[_0x20d0('0x37')]=_['intersection'](_0x3fa141[_0x20d0('0x30')],qs['fields'](_0x55aad5[_0x20d0('0x33')][_0x20d0('0x38')]));_0x14e6ea['attributes']=_0x14e6ea[_0x20d0('0x37')]['length']?_0x14e6ea[_0x20d0('0x37')]:_0x3fa141[_0x20d0('0x30')];_0x14e6ea['order']=qs['sort'](_0x55aad5['query']['sort']);_0x14e6ea[_0x20d0('0x3d')]=qs[_0x20d0('0x35')](_[_0x20d0('0x3e')](_0x55aad5['query'],_0x3fa141['filters']));if(_0x55aad5[_0x20d0('0x33')][_0x20d0('0x3f')]){_0x14e6ea['where']=_[_0x20d0('0x40')](_0x14e6ea[_0x20d0('0x3d')],{'$or':_[_0x20d0('0x31')](_0x14e6ea[_0x20d0('0x37')],function(_0x3485b1){var _0x5defe3={};_0x5defe3[_0x3485b1]={'$like':'%'+_0x55aad5[_0x20d0('0x33')]['filter']+'%'};return _0x5defe3;})});}_0x14e6ea=_[_0x20d0('0x40')]({},_0x14e6ea,_0x55aad5[_0x20d0('0x42')]);return _0x22e36d[_0x20d0('0x51')](_0x14e6ea);}})[_0x20d0('0x27')](function(_0xd12ed8){if(_0xd12ed8){_0x122c1e=_0xd12ed8['length'];if(!_0x55aad5[_0x20d0('0x33')][_0x20d0('0x3a')]('nolimit')){_0x14e6ea['limit']=qs[_0x20d0('0x1c')](_0x55aad5[_0x20d0('0x33')]['limit']);_0x14e6ea[_0x20d0('0x1a')]=qs[_0x20d0('0x1a')](_0x55aad5[_0x20d0('0x33')][_0x20d0('0x1a')]);}return _0x22e36d[_0x20d0('0x51')](_0x14e6ea);}})[_0x20d0('0x27')](function(_0x4dd449){if(_0x4dd449){return _0x4dd449?{'count':_0x122c1e,'rows':_0x4dd449}:null;}})['then'](respondWithResult(_0x40b050,null))[_0x20d0('0x46')](handleError(_0x40b050,null));};exports[_0x20d0('0x52')]=function(_0x897276,_0x2d87d7,_0x473b5){var _0x53bb92={};var _0x455a43={};var _0xe7efed;var _0x212c07;return db[_0x20d0('0x2c')][_0x20d0('0x4e')]({'where':{'id':_0x897276['params']['id']}})[_0x20d0('0x27')](handleEntityNotFound(_0x2d87d7,null))[_0x20d0('0x27')](function(_0x31e53a){if(_0x31e53a){_0xe7efed=_0x31e53a;_0x455a43[_0x20d0('0x30')]=_[_0x20d0('0x34')](db[_0x20d0('0x4f')][_0x20d0('0x2d')]);_0x455a43[_0x20d0('0x33')]=_[_0x20d0('0x34')](_0x897276[_0x20d0('0x33')]);_0x455a43[_0x20d0('0x35')]=_[_0x20d0('0x36')](_0x455a43['model'],_0x455a43[_0x20d0('0x33')]);_0x53bb92[_0x20d0('0x37')]=_[_0x20d0('0x36')](_0x455a43[_0x20d0('0x30')],qs['fields'](_0x897276[_0x20d0('0x33')][_0x20d0('0x38')]));_0x53bb92[_0x20d0('0x37')]=_0x53bb92[_0x20d0('0x37')][_0x20d0('0x39')]?_0x53bb92[_0x20d0('0x37')]:_0x455a43[_0x20d0('0x30')];_0x53bb92['order']=qs['sort'](_0x897276[_0x20d0('0x33')]['sort']);_0x53bb92['where']=qs[_0x20d0('0x35')](_[_0x20d0('0x3e')](_0x897276[_0x20d0('0x33')],_0x455a43['filters']));if(_0x897276[_0x20d0('0x33')][_0x20d0('0x3f')]){_0x53bb92[_0x20d0('0x3d')]=_[_0x20d0('0x40')](_0x53bb92[_0x20d0('0x3d')],{'$or':_[_0x20d0('0x31')](_0x53bb92['attributes'],function(_0x48143f){var _0x43b002={};_0x43b002[_0x48143f]={'$like':'%'+_0x897276[_0x20d0('0x33')]['filter']+'%'};return _0x43b002;})});}_0x53bb92=_[_0x20d0('0x40')]({},_0x53bb92,_0x897276[_0x20d0('0x42')]);return _0xe7efed['getDescriptions'](_0x53bb92);}})[_0x20d0('0x27')](function(_0x21532e){if(_0x21532e){_0x212c07=_0x21532e[_0x20d0('0x39')];if(!_0x897276[_0x20d0('0x33')][_0x20d0('0x3a')](_0x20d0('0x50'))){_0x53bb92[_0x20d0('0x1c')]=qs['limit'](_0x897276[_0x20d0('0x33')][_0x20d0('0x1c')]);_0x53bb92[_0x20d0('0x1a')]=qs[_0x20d0('0x1a')](_0x897276[_0x20d0('0x33')][_0x20d0('0x1a')]);}return _0xe7efed[_0x20d0('0x52')](_0x53bb92);}})[_0x20d0('0x27')](function(_0x90508a){if(_0x90508a){return _0x90508a?{'count':_0x212c07,'rows':_0x90508a}:null;}})[_0x20d0('0x27')](respondWithResult(_0x2d87d7,null))['catch'](handleError(_0x2d87d7,null));};exports[_0x20d0('0x53')]=function(_0x43f3f7,_0x174d59,_0x31fad6){var _0x2c2dd={};var _0x127d30={};var _0x181111;var _0x21be18;return db['FreshdeskConfiguration'][_0x20d0('0x4e')]({'where':{'id':_0x43f3f7[_0x20d0('0x48')]['id']}})['then'](handleEntityNotFound(_0x174d59,null))['then'](function(_0x21b10f){if(_0x21b10f){_0x181111=_0x21b10f;_0x127d30[_0x20d0('0x30')]=_[_0x20d0('0x34')](db[_0x20d0('0x54')][_0x20d0('0x2d')]);_0x127d30['query']=_[_0x20d0('0x34')](_0x43f3f7['query']);_0x127d30[_0x20d0('0x35')]=_[_0x20d0('0x36')](_0x127d30['model'],_0x127d30['query']);_0x2c2dd['attributes']=_[_0x20d0('0x36')](_0x127d30[_0x20d0('0x30')],qs[_0x20d0('0x38')](_0x43f3f7[_0x20d0('0x33')][_0x20d0('0x38')]));_0x2c2dd[_0x20d0('0x37')]=_0x2c2dd[_0x20d0('0x37')][_0x20d0('0x39')]?_0x2c2dd[_0x20d0('0x37')]:_0x127d30[_0x20d0('0x30')];_0x2c2dd[_0x20d0('0x3b')]=qs[_0x20d0('0x3c')](_0x43f3f7[_0x20d0('0x33')][_0x20d0('0x3c')]);_0x2c2dd[_0x20d0('0x3d')]=qs[_0x20d0('0x35')](_[_0x20d0('0x3e')](_0x43f3f7['query'],_0x127d30[_0x20d0('0x35')]));if(_0x43f3f7[_0x20d0('0x33')][_0x20d0('0x3f')]){_0x2c2dd[_0x20d0('0x3d')]=_[_0x20d0('0x40')](_0x2c2dd[_0x20d0('0x3d')],{'$or':_[_0x20d0('0x31')](_0x2c2dd[_0x20d0('0x37')],function(_0x1351d2){var _0x4c03c4={};_0x4c03c4[_0x1351d2]={'$like':'%'+_0x43f3f7[_0x20d0('0x33')][_0x20d0('0x3f')]+'%'};return _0x4c03c4;})});}_0x2c2dd=_['merge']({},_0x2c2dd,_0x43f3f7['options']);return _0x181111['getTags'](_0x2c2dd);}})[_0x20d0('0x27')](function(_0x1244c3){if(_0x1244c3){_0x21be18=_0x1244c3[_0x20d0('0x39')];if(!_0x43f3f7[_0x20d0('0x33')]['hasOwnProperty'](_0x20d0('0x50'))){_0x2c2dd[_0x20d0('0x1c')]=qs[_0x20d0('0x1c')](_0x43f3f7['query'][_0x20d0('0x1c')]);_0x2c2dd['offset']=qs[_0x20d0('0x1a')](_0x43f3f7['query'][_0x20d0('0x1a')]);}return _0x181111['getTags'](_0x2c2dd);}})['then'](function(_0x152e66){if(_0x152e66){return _0x152e66?{'count':_0x21be18,'rows':_0x152e66}:null;}})['then'](respondWithResult(_0x174d59,null))[_0x20d0('0x46')](handleError(_0x174d59,null));};exports[_0x20d0('0x55')]=function(_0x4bdbca,_0x55771f,_0x3f8a45){if(_0x4bdbca['body']['id']){delete _0x4bdbca[_0x20d0('0x4c')]['id'];}return db[_0x20d0('0x2c')]['findOne']({'where':{'id':_0x4bdbca['params']['id']}})[_0x20d0('0x27')](handleEntityNotFound(_0x55771f,null))['then'](function(_0x55399d){if(_0x55399d){return _0x55399d[_0x20d0('0x55')](_0x4bdbca[_0x20d0('0x4c')][_0x20d0('0x56')]||[]);}return null;})['then'](respondWithResult(_0x55771f,null))[_0x20d0('0x46')](handleError(_0x55771f,null));};