a940fd08107b3f197dfe51900949d15938a061e1
[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 _0xe576=['merge','VIRTUAL','filter','options','includeAll','rows','catch','show','params','find','create','body','findOne','nolimit','getSubjects','FreshdeskField','rawAttributes','getDescriptions','getTags','Tag','setTags','ids','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','lodash','squel','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','save','update','then','destroy','stack','name','send','index','map','FreshdeskConfiguration','fieldName','type','key','query','keys','intersection','attributes','model','fields','length','hasOwnProperty','order','sort','where','filters','pick'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xe576,0x1a6));var _0x6e57=function(_0x22ba54,_0x3c105b){_0x22ba54=_0x22ba54-0x0;var _0x17af5b=_0xe576[_0x22ba54];return _0x17af5b;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x6e57('0x0'));var rp=require(_0x6e57('0x1'));var moment=require(_0x6e57('0x2'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x6e57('0x3'));var path=require(_0x6e57('0x4'));var sox=require(_0x6e57('0x5'));var csv=require(_0x6e57('0x6'));var ejs=require(_0x6e57('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6e57('0x8'));var squel=require(_0x6e57('0x9'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x6e57('0x6'));var querystring=require(_0x6e57('0xa'));var Papa=require('papaparse');var Redis=require(_0x6e57('0xb'));var authService=require(_0x6e57('0xc'));var qs=require(_0x6e57('0xd'));var as=require(_0x6e57('0xe'));var hardwareService=require(_0x6e57('0xf'));var logger=require(_0x6e57('0x10'))('api');var utils=require(_0x6e57('0x11'));var config=require(_0x6e57('0x12'));var licenseUtil=require(_0x6e57('0x13'));var db=require(_0x6e57('0x14'))['db'];function respondWithStatusCode(_0x4bb2e2,_0x59da22){_0x59da22=_0x59da22||0xcc;return function(_0x585472){if(_0x585472){return _0x4bb2e2[_0x6e57('0x15')](_0x59da22);}return _0x4bb2e2[_0x6e57('0x16')](_0x59da22)[_0x6e57('0x17')]();};}function respondWithResult(_0xc5b507,_0x1525a3){_0x1525a3=_0x1525a3||0xc8;return function(_0xeb5226){if(_0xeb5226){return _0xc5b507['status'](_0x1525a3)[_0x6e57('0x18')](_0xeb5226);}};}function respondWithFilteredResult(_0x478623,_0x31da3a){return function(_0x10c159){if(_0x10c159){var _0x418847=typeof _0x31da3a[_0x6e57('0x19')]===_0x6e57('0x1a')&&typeof _0x31da3a['limit']===_0x6e57('0x1a');var _0x44a6c3=_0x10c159[_0x6e57('0x1b')];var _0x38cf1e=_0x418847?0x0:_0x31da3a['offset'];var _0x250a24=_0x418847?_0x10c159['count']:_0x31da3a['offset']+_0x31da3a[_0x6e57('0x1c')];var _0x3fff7f;if(_0x250a24>=_0x44a6c3){_0x250a24=_0x44a6c3;_0x3fff7f=0xc8;}else{_0x3fff7f=0xce;}_0x478623[_0x6e57('0x16')](_0x3fff7f);return _0x478623[_0x6e57('0x1d')](_0x6e57('0x1e'),_0x38cf1e+'-'+_0x250a24+'/'+_0x44a6c3)[_0x6e57('0x18')](_0x10c159);}return null;};}function patchUpdates(_0x5d466b){return function(_0x3a5c19){try{jsonpatch[_0x6e57('0x1f')](_0x3a5c19,_0x5d466b,!![]);}catch(_0x5aa1f2){return BPromise['reject'](_0x5aa1f2);}return _0x3a5c19[_0x6e57('0x20')]();};}function saveUpdates(_0x36a466,_0x5d0f06){return function(_0x32696c){if(_0x32696c){return _0x32696c[_0x6e57('0x21')](_0x36a466)[_0x6e57('0x22')](function(_0x5e2109){return _0x5e2109;});}return null;};}function removeEntity(_0xcc6ccb,_0x295e27){return function(_0x2fbafe){if(_0x2fbafe){return _0x2fbafe[_0x6e57('0x23')]()[_0x6e57('0x22')](function(){_0xcc6ccb[_0x6e57('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x219bcb,_0x12d0b2){return function(_0x1bfb2a){if(!_0x1bfb2a){_0x219bcb[_0x6e57('0x15')](0x194);}return _0x1bfb2a;};}function handleError(_0x55397b,_0x33dc0c){_0x33dc0c=_0x33dc0c||0x1f4;return function(_0x23e056){logger['error'](_0x23e056[_0x6e57('0x24')]);if(_0x23e056[_0x6e57('0x25')]){delete _0x23e056[_0x6e57('0x25')];}_0x55397b['status'](_0x33dc0c)[_0x6e57('0x26')](_0x23e056);};}exports[_0x6e57('0x27')]=function(_0x183b75,_0x1dab62){var _0x1339b1={},_0x55b662={},_0x555cba={'count':0x0,'rows':[]};var _0x4996e3=_[_0x6e57('0x28')](db[_0x6e57('0x29')]['rawAttributes'],function(_0x19d1fd){return{'name':_0x19d1fd[_0x6e57('0x2a')],'type':_0x19d1fd[_0x6e57('0x2b')][_0x6e57('0x2c')]};});_0x55b662['model']=_['map'](_0x4996e3,'name');_0x55b662[_0x6e57('0x2d')]=_[_0x6e57('0x2e')](_0x183b75[_0x6e57('0x2d')]);_0x55b662['filters']=_[_0x6e57('0x2f')](_0x55b662['model'],_0x55b662[_0x6e57('0x2d')]);_0x1339b1[_0x6e57('0x30')]=_[_0x6e57('0x2f')](_0x55b662[_0x6e57('0x31')],qs[_0x6e57('0x32')](_0x183b75[_0x6e57('0x2d')][_0x6e57('0x32')]));_0x1339b1[_0x6e57('0x30')]=_0x1339b1[_0x6e57('0x30')][_0x6e57('0x33')]?_0x1339b1[_0x6e57('0x30')]:_0x55b662[_0x6e57('0x31')];if(!_0x183b75[_0x6e57('0x2d')][_0x6e57('0x34')]('nolimit')){_0x1339b1['limit']=qs['limit'](_0x183b75[_0x6e57('0x2d')]['limit']);_0x1339b1[_0x6e57('0x19')]=qs['offset'](_0x183b75[_0x6e57('0x2d')][_0x6e57('0x19')]);}_0x1339b1[_0x6e57('0x35')]=qs[_0x6e57('0x36')](_0x183b75[_0x6e57('0x2d')][_0x6e57('0x36')]);_0x1339b1[_0x6e57('0x37')]=qs[_0x6e57('0x38')](_[_0x6e57('0x39')](_0x183b75[_0x6e57('0x2d')],_0x55b662[_0x6e57('0x38')]),_0x4996e3);if(_0x183b75['query']['filter']){_0x1339b1[_0x6e57('0x37')]=_[_0x6e57('0x3a')](_0x1339b1[_0x6e57('0x37')],{'$or':_[_0x6e57('0x28')](_0x4996e3,function(_0x12fb9f){if(_0x12fb9f['type']!==_0x6e57('0x3b')){var _0x3d906e={};_0x3d906e[_0x12fb9f['name']]={'$like':'%'+_0x183b75['query'][_0x6e57('0x3c')]+'%'};return _0x3d906e;}})});}_0x1339b1=_[_0x6e57('0x3a')]({},_0x1339b1,_0x183b75[_0x6e57('0x3d')]);var _0x47aeac={'where':_0x1339b1[_0x6e57('0x37')]};return db['FreshdeskConfiguration'][_0x6e57('0x1b')](_0x47aeac)['then'](function(_0x29ee8d){_0x555cba[_0x6e57('0x1b')]=_0x29ee8d;if(_0x183b75[_0x6e57('0x2d')][_0x6e57('0x3e')]){_0x1339b1['include']=[{'all':!![]}];}return db[_0x6e57('0x29')]['findAll'](_0x1339b1);})['then'](function(_0x479a1a){_0x555cba[_0x6e57('0x3f')]=_0x479a1a;return _0x555cba;})['then'](respondWithFilteredResult(_0x1dab62,_0x1339b1))[_0x6e57('0x40')](handleError(_0x1dab62,null));};exports[_0x6e57('0x41')]=function(_0xf8275e,_0x3edbad){var _0x9fb435={'raw':![],'where':{'id':_0xf8275e[_0x6e57('0x42')]['id']}},_0x57f44f={};_0x57f44f[_0x6e57('0x31')]=_['keys'](db[_0x6e57('0x29')]['rawAttributes']);_0x57f44f['query']=_[_0x6e57('0x2e')](_0xf8275e[_0x6e57('0x2d')]);_0x57f44f[_0x6e57('0x38')]=_[_0x6e57('0x2f')](_0x57f44f[_0x6e57('0x31')],_0x57f44f[_0x6e57('0x2d')]);_0x9fb435[_0x6e57('0x30')]=_[_0x6e57('0x2f')](_0x57f44f['model'],qs['fields'](_0xf8275e[_0x6e57('0x2d')][_0x6e57('0x32')]));_0x9fb435['attributes']=_0x9fb435[_0x6e57('0x30')]['length']?_0x9fb435['attributes']:_0x57f44f[_0x6e57('0x31')];if(_0xf8275e[_0x6e57('0x2d')]['includeAll']){_0x9fb435['include']=[{'all':!![]}];}_0x9fb435=_[_0x6e57('0x3a')]({},_0x9fb435,_0xf8275e[_0x6e57('0x3d')]);return db[_0x6e57('0x29')][_0x6e57('0x43')](_0x9fb435)[_0x6e57('0x22')](handleEntityNotFound(_0x3edbad,null))[_0x6e57('0x22')](respondWithResult(_0x3edbad,null))[_0x6e57('0x40')](handleError(_0x3edbad,null));};exports['create']=function(_0x43320a,_0x468b55){return db[_0x6e57('0x29')][_0x6e57('0x44')](_0x43320a[_0x6e57('0x45')],{})[_0x6e57('0x22')](respondWithResult(_0x468b55,0xc9))[_0x6e57('0x40')](handleError(_0x468b55,null));};exports['update']=function(_0x535512,_0x13a3a3){if(_0x535512['body']['id']){delete _0x535512[_0x6e57('0x45')]['id'];}return db[_0x6e57('0x29')][_0x6e57('0x43')]({'where':{'id':_0x535512['params']['id']}})[_0x6e57('0x22')](handleEntityNotFound(_0x13a3a3,null))['then'](saveUpdates(_0x535512[_0x6e57('0x45')],null))['then'](respondWithResult(_0x13a3a3,null))[_0x6e57('0x40')](handleError(_0x13a3a3,null));};exports[_0x6e57('0x23')]=function(_0x1924f8,_0x20a8f2){return db[_0x6e57('0x29')]['find']({'where':{'id':_0x1924f8['params']['id']}})[_0x6e57('0x22')](handleEntityNotFound(_0x20a8f2,null))['then'](removeEntity(_0x20a8f2,null))[_0x6e57('0x40')](handleError(_0x20a8f2,null));};exports['getFields']=function(_0x695e62,_0x364890,_0x422412){var _0x41273e={};var _0x25518d={};var _0x1d3a36;var _0x575582;return db[_0x6e57('0x29')][_0x6e57('0x46')]({'where':{'id':_0x695e62[_0x6e57('0x42')]['id']}})[_0x6e57('0x22')](handleEntityNotFound(_0x364890,null))[_0x6e57('0x22')](function(_0x136697){if(_0x136697){_0x1d3a36=_0x136697;_0x25518d[_0x6e57('0x31')]=_[_0x6e57('0x2e')](db['FreshdeskField']['rawAttributes']);_0x25518d[_0x6e57('0x2d')]=_[_0x6e57('0x2e')](_0x695e62[_0x6e57('0x2d')]);_0x25518d['filters']=_[_0x6e57('0x2f')](_0x25518d[_0x6e57('0x31')],_0x25518d[_0x6e57('0x2d')]);_0x41273e['attributes']=_[_0x6e57('0x2f')](_0x25518d[_0x6e57('0x31')],qs[_0x6e57('0x32')](_0x695e62['query'][_0x6e57('0x32')]));_0x41273e[_0x6e57('0x30')]=_0x41273e[_0x6e57('0x30')]['length']?_0x41273e[_0x6e57('0x30')]:_0x25518d[_0x6e57('0x31')];_0x41273e[_0x6e57('0x35')]=qs[_0x6e57('0x36')](_0x695e62[_0x6e57('0x2d')][_0x6e57('0x36')]);_0x41273e[_0x6e57('0x37')]=qs[_0x6e57('0x38')](_[_0x6e57('0x39')](_0x695e62[_0x6e57('0x2d')],_0x25518d[_0x6e57('0x38')]));if(_0x695e62[_0x6e57('0x2d')][_0x6e57('0x3c')]){_0x41273e[_0x6e57('0x37')]=_[_0x6e57('0x3a')](_0x41273e['where'],{'$or':_[_0x6e57('0x28')](_0x41273e[_0x6e57('0x30')],function(_0x1914bc){var _0x335902={};_0x335902[_0x1914bc]={'$like':'%'+_0x695e62[_0x6e57('0x2d')][_0x6e57('0x3c')]+'%'};return _0x335902;})});}_0x41273e=_[_0x6e57('0x3a')]({},_0x41273e,_0x695e62[_0x6e57('0x3d')]);return _0x1d3a36['getFields'](_0x41273e);}})[_0x6e57('0x22')](function(_0x4a21ba){if(_0x4a21ba){_0x575582=_0x4a21ba['length'];if(!_0x695e62[_0x6e57('0x2d')]['hasOwnProperty'](_0x6e57('0x47'))){_0x41273e[_0x6e57('0x1c')]=qs[_0x6e57('0x1c')](_0x695e62['query'][_0x6e57('0x1c')]);_0x41273e['offset']=qs[_0x6e57('0x19')](_0x695e62['query'][_0x6e57('0x19')]);}return _0x1d3a36['getFields'](_0x41273e);}})[_0x6e57('0x22')](function(_0x46f986){if(_0x46f986){return _0x46f986?{'count':_0x575582,'rows':_0x46f986}:null;}})[_0x6e57('0x22')](respondWithResult(_0x364890,null))[_0x6e57('0x40')](handleError(_0x364890,null));};exports[_0x6e57('0x48')]=function(_0x12a336,_0x515118,_0x3ad20b){var _0x1e6df3={};var _0x2045d0={};var _0x15a707;var _0x24f13a;return db[_0x6e57('0x29')][_0x6e57('0x46')]({'where':{'id':_0x12a336[_0x6e57('0x42')]['id']}})['then'](handleEntityNotFound(_0x515118,null))[_0x6e57('0x22')](function(_0x1a1224){if(_0x1a1224){_0x15a707=_0x1a1224;_0x2045d0['model']=_[_0x6e57('0x2e')](db[_0x6e57('0x49')][_0x6e57('0x4a')]);_0x2045d0['query']=_[_0x6e57('0x2e')](_0x12a336[_0x6e57('0x2d')]);_0x2045d0[_0x6e57('0x38')]=_[_0x6e57('0x2f')](_0x2045d0[_0x6e57('0x31')],_0x2045d0['query']);_0x1e6df3['attributes']=_[_0x6e57('0x2f')](_0x2045d0[_0x6e57('0x31')],qs[_0x6e57('0x32')](_0x12a336[_0x6e57('0x2d')][_0x6e57('0x32')]));_0x1e6df3['attributes']=_0x1e6df3[_0x6e57('0x30')][_0x6e57('0x33')]?_0x1e6df3[_0x6e57('0x30')]:_0x2045d0[_0x6e57('0x31')];_0x1e6df3[_0x6e57('0x35')]=qs[_0x6e57('0x36')](_0x12a336[_0x6e57('0x2d')]['sort']);_0x1e6df3[_0x6e57('0x37')]=qs[_0x6e57('0x38')](_['pick'](_0x12a336[_0x6e57('0x2d')],_0x2045d0[_0x6e57('0x38')]));if(_0x12a336[_0x6e57('0x2d')][_0x6e57('0x3c')]){_0x1e6df3[_0x6e57('0x37')]=_[_0x6e57('0x3a')](_0x1e6df3[_0x6e57('0x37')],{'$or':_[_0x6e57('0x28')](_0x1e6df3[_0x6e57('0x30')],function(_0x4c4ebf){var _0xd4527a={};_0xd4527a[_0x4c4ebf]={'$like':'%'+_0x12a336[_0x6e57('0x2d')]['filter']+'%'};return _0xd4527a;})});}_0x1e6df3=_[_0x6e57('0x3a')]({},_0x1e6df3,_0x12a336[_0x6e57('0x3d')]);return _0x15a707[_0x6e57('0x48')](_0x1e6df3);}})[_0x6e57('0x22')](function(_0x26009d){if(_0x26009d){_0x24f13a=_0x26009d[_0x6e57('0x33')];if(!_0x12a336[_0x6e57('0x2d')]['hasOwnProperty'](_0x6e57('0x47'))){_0x1e6df3[_0x6e57('0x1c')]=qs[_0x6e57('0x1c')](_0x12a336[_0x6e57('0x2d')][_0x6e57('0x1c')]);_0x1e6df3[_0x6e57('0x19')]=qs['offset'](_0x12a336['query'][_0x6e57('0x19')]);}return _0x15a707['getSubjects'](_0x1e6df3);}})[_0x6e57('0x22')](function(_0x45e23){if(_0x45e23){return _0x45e23?{'count':_0x24f13a,'rows':_0x45e23}:null;}})[_0x6e57('0x22')](respondWithResult(_0x515118,null))[_0x6e57('0x40')](handleError(_0x515118,null));};exports[_0x6e57('0x4b')]=function(_0x15adf7,_0x106732,_0x185e48){var _0x58bf0a={};var _0x16418c={};var _0x3bf419;var _0x1d5644;return db['FreshdeskConfiguration'][_0x6e57('0x46')]({'where':{'id':_0x15adf7[_0x6e57('0x42')]['id']}})[_0x6e57('0x22')](handleEntityNotFound(_0x106732,null))[_0x6e57('0x22')](function(_0xf388ac){if(_0xf388ac){_0x3bf419=_0xf388ac;_0x16418c[_0x6e57('0x31')]=_['keys'](db[_0x6e57('0x49')][_0x6e57('0x4a')]);_0x16418c['query']=_[_0x6e57('0x2e')](_0x15adf7[_0x6e57('0x2d')]);_0x16418c[_0x6e57('0x38')]=_[_0x6e57('0x2f')](_0x16418c[_0x6e57('0x31')],_0x16418c[_0x6e57('0x2d')]);_0x58bf0a[_0x6e57('0x30')]=_[_0x6e57('0x2f')](_0x16418c[_0x6e57('0x31')],qs[_0x6e57('0x32')](_0x15adf7['query']['fields']));_0x58bf0a[_0x6e57('0x30')]=_0x58bf0a['attributes'][_0x6e57('0x33')]?_0x58bf0a[_0x6e57('0x30')]:_0x16418c[_0x6e57('0x31')];_0x58bf0a[_0x6e57('0x35')]=qs[_0x6e57('0x36')](_0x15adf7[_0x6e57('0x2d')][_0x6e57('0x36')]);_0x58bf0a['where']=qs[_0x6e57('0x38')](_['pick'](_0x15adf7[_0x6e57('0x2d')],_0x16418c[_0x6e57('0x38')]));if(_0x15adf7[_0x6e57('0x2d')][_0x6e57('0x3c')]){_0x58bf0a[_0x6e57('0x37')]=_[_0x6e57('0x3a')](_0x58bf0a['where'],{'$or':_[_0x6e57('0x28')](_0x58bf0a['attributes'],function(_0x30f822){var _0x3b9c96={};_0x3b9c96[_0x30f822]={'$like':'%'+_0x15adf7[_0x6e57('0x2d')][_0x6e57('0x3c')]+'%'};return _0x3b9c96;})});}_0x58bf0a=_[_0x6e57('0x3a')]({},_0x58bf0a,_0x15adf7['options']);return _0x3bf419[_0x6e57('0x4b')](_0x58bf0a);}})['then'](function(_0xcbd05c){if(_0xcbd05c){_0x1d5644=_0xcbd05c[_0x6e57('0x33')];if(!_0x15adf7['query'][_0x6e57('0x34')]('nolimit')){_0x58bf0a[_0x6e57('0x1c')]=qs[_0x6e57('0x1c')](_0x15adf7[_0x6e57('0x2d')][_0x6e57('0x1c')]);_0x58bf0a[_0x6e57('0x19')]=qs[_0x6e57('0x19')](_0x15adf7['query'][_0x6e57('0x19')]);}return _0x3bf419[_0x6e57('0x4b')](_0x58bf0a);}})[_0x6e57('0x22')](function(_0x24364a){if(_0x24364a){return _0x24364a?{'count':_0x1d5644,'rows':_0x24364a}:null;}})[_0x6e57('0x22')](respondWithResult(_0x106732,null))[_0x6e57('0x40')](handleError(_0x106732,null));};exports[_0x6e57('0x4c')]=function(_0x2ead0f,_0x16fa38,_0x1a6949){var _0x761ace={};var _0x51dee9={};var _0x3d6d28;var _0x75398c;return db[_0x6e57('0x29')][_0x6e57('0x46')]({'where':{'id':_0x2ead0f[_0x6e57('0x42')]['id']}})[_0x6e57('0x22')](handleEntityNotFound(_0x16fa38,null))[_0x6e57('0x22')](function(_0x35f155){if(_0x35f155){_0x3d6d28=_0x35f155;_0x51dee9['model']=_[_0x6e57('0x2e')](db[_0x6e57('0x4d')]['rawAttributes']);_0x51dee9[_0x6e57('0x2d')]=_[_0x6e57('0x2e')](_0x2ead0f[_0x6e57('0x2d')]);_0x51dee9[_0x6e57('0x38')]=_[_0x6e57('0x2f')](_0x51dee9[_0x6e57('0x31')],_0x51dee9[_0x6e57('0x2d')]);_0x761ace[_0x6e57('0x30')]=_['intersection'](_0x51dee9[_0x6e57('0x31')],qs[_0x6e57('0x32')](_0x2ead0f[_0x6e57('0x2d')]['fields']));_0x761ace['attributes']=_0x761ace['attributes'][_0x6e57('0x33')]?_0x761ace[_0x6e57('0x30')]:_0x51dee9[_0x6e57('0x31')];_0x761ace[_0x6e57('0x35')]=qs[_0x6e57('0x36')](_0x2ead0f[_0x6e57('0x2d')]['sort']);_0x761ace['where']=qs[_0x6e57('0x38')](_[_0x6e57('0x39')](_0x2ead0f[_0x6e57('0x2d')],_0x51dee9['filters']));if(_0x2ead0f[_0x6e57('0x2d')][_0x6e57('0x3c')]){_0x761ace[_0x6e57('0x37')]=_[_0x6e57('0x3a')](_0x761ace[_0x6e57('0x37')],{'$or':_['map'](_0x761ace[_0x6e57('0x30')],function(_0x4f12ef){var _0x2e7fa4={};_0x2e7fa4[_0x4f12ef]={'$like':'%'+_0x2ead0f[_0x6e57('0x2d')][_0x6e57('0x3c')]+'%'};return _0x2e7fa4;})});}_0x761ace=_[_0x6e57('0x3a')]({},_0x761ace,_0x2ead0f['options']);return _0x3d6d28[_0x6e57('0x4c')](_0x761ace);}})[_0x6e57('0x22')](function(_0x579f7c){if(_0x579f7c){_0x75398c=_0x579f7c['length'];if(!_0x2ead0f[_0x6e57('0x2d')][_0x6e57('0x34')]('nolimit')){_0x761ace[_0x6e57('0x1c')]=qs[_0x6e57('0x1c')](_0x2ead0f['query']['limit']);_0x761ace[_0x6e57('0x19')]=qs[_0x6e57('0x19')](_0x2ead0f[_0x6e57('0x2d')][_0x6e57('0x19')]);}return _0x3d6d28[_0x6e57('0x4c')](_0x761ace);}})[_0x6e57('0x22')](function(_0x2972c4){if(_0x2972c4){return _0x2972c4?{'count':_0x75398c,'rows':_0x2972c4}:null;}})['then'](respondWithResult(_0x16fa38,null))[_0x6e57('0x40')](handleError(_0x16fa38,null));};exports[_0x6e57('0x4e')]=function(_0x514b00,_0x46acd1,_0x5848fa){if(_0x514b00[_0x6e57('0x45')]['id']){delete _0x514b00[_0x6e57('0x45')]['id'];}return db[_0x6e57('0x29')][_0x6e57('0x46')]({'where':{'id':_0x514b00['params']['id']}})[_0x6e57('0x22')](handleEntityNotFound(_0x46acd1,null))[_0x6e57('0x22')](function(_0x6f3f1b){if(_0x6f3f1b){return _0x6f3f1b['setTags'](_0x514b00['body'][_0x6e57('0x4f')]||[]);}return null;})[_0x6e57('0x22')](respondWithResult(_0x46acd1,null))['catch'](handleError(_0x46acd1,null));};