287d30b8e9d40f766fa427fb0432635756979aab
[motion2.git] / server / api / intDeskConfiguration / intDeskConfiguration.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 _0x6358=['intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','then','rows','catch','show','params','create','body','getFields','findOne','keys','DeskField','nolimit','getSubjects','getDescriptions','getTags','order','setTags','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','end','json','undefined','limit','count','offset','status','set','Content-Range','reject','save','update','destroy','sendStatus','name','send','index','map','DeskConfiguration','rawAttributes','fieldName','type','key','model','query','filters'];(function(_0x5ebc8f,_0x2eb237){var _0x573495=function(_0x41aa85){while(--_0x41aa85){_0x5ebc8f['push'](_0x5ebc8f['shift']());}};_0x573495(++_0x2eb237);}(_0x6358,0x73));var _0x8635=function(_0x430a85,_0x4ce7ef){_0x430a85=_0x430a85-0x0;var _0x5e026b=_0x6358[_0x430a85];return _0x5e026b;};'use strict';var emlformat=require(_0x8635('0x0'));var rimraf=require(_0x8635('0x1'));var zipdir=require(_0x8635('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8635('0x3'));var moment=require('moment');var BPromise=require(_0x8635('0x4'));var Mustache=require(_0x8635('0x5'));var util=require(_0x8635('0x6'));var path=require(_0x8635('0x7'));var sox=require(_0x8635('0x8'));var csv=require('to-csv');var ejs=require(_0x8635('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x8635('0xa'));var squel=require(_0x8635('0xb'));var crypto=require(_0x8635('0xc'));var jsforce=require(_0x8635('0xd'));var deskjs=require(_0x8635('0xe'));var toCsv=require(_0x8635('0xf'));var querystring=require(_0x8635('0x10'));var Papa=require(_0x8635('0x11'));var Redis=require(_0x8635('0x12'));var authService=require(_0x8635('0x13'));var qs=require(_0x8635('0x14'));var as=require(_0x8635('0x15'));var hardwareService=require(_0x8635('0x16'));var logger=require(_0x8635('0x17'))('api');var utils=require(_0x8635('0x18'));var config=require(_0x8635('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x8635('0x1a'))['db'];function respondWithStatusCode(_0x19146d,_0xdbca41){_0xdbca41=_0xdbca41||0xcc;return function(_0x108878){if(_0x108878){return _0x19146d['sendStatus'](_0xdbca41);}return _0x19146d['status'](_0xdbca41)[_0x8635('0x1b')]();};}function respondWithResult(_0x2d31f9,_0x249e97){_0x249e97=_0x249e97||0xc8;return function(_0x5cb1f6){if(_0x5cb1f6){return _0x2d31f9['status'](_0x249e97)[_0x8635('0x1c')](_0x5cb1f6);}};}function respondWithFilteredResult(_0x571691,_0x18605e){return function(_0x23886c){if(_0x23886c){var _0x3b7407=typeof _0x18605e['offset']===_0x8635('0x1d')&&typeof _0x18605e[_0x8635('0x1e')]===_0x8635('0x1d');var _0x533dc3=_0x23886c[_0x8635('0x1f')];var _0x233a17=_0x3b7407?0x0:_0x18605e[_0x8635('0x20')];var _0x477cd4=_0x3b7407?_0x23886c['count']:_0x18605e[_0x8635('0x20')]+_0x18605e['limit'];var _0x5c4af8;if(_0x477cd4>=_0x533dc3){_0x477cd4=_0x533dc3;_0x5c4af8=0xc8;}else{_0x5c4af8=0xce;}_0x571691[_0x8635('0x21')](_0x5c4af8);return _0x571691[_0x8635('0x22')](_0x8635('0x23'),_0x233a17+'-'+_0x477cd4+'/'+_0x533dc3)[_0x8635('0x1c')](_0x23886c);}return null;};}function patchUpdates(_0x425508){return function(_0x4349dd){try{jsonpatch['apply'](_0x4349dd,_0x425508,!![]);}catch(_0x1395c0){return BPromise[_0x8635('0x24')](_0x1395c0);}return _0x4349dd[_0x8635('0x25')]();};}function saveUpdates(_0x3c9a76,_0x20b503){return function(_0x75620c){if(_0x75620c){return _0x75620c[_0x8635('0x26')](_0x3c9a76)['then'](function(_0x14cde4){return _0x14cde4;});}return null;};}function removeEntity(_0x141c2a,_0x55c4e2){return function(_0xad1af){if(_0xad1af){return _0xad1af[_0x8635('0x27')]()['then'](function(){_0x141c2a[_0x8635('0x21')](0xcc)[_0x8635('0x1b')]();});}};}function handleEntityNotFound(_0x45bfd0,_0xc09039){return function(_0x5d5daa){if(!_0x5d5daa){_0x45bfd0[_0x8635('0x28')](0x194);}return _0x5d5daa;};}function handleError(_0x25d832,_0x23b124){_0x23b124=_0x23b124||0x1f4;return function(_0x1edaa5){logger['error'](_0x1edaa5['stack']);if(_0x1edaa5[_0x8635('0x29')]){delete _0x1edaa5[_0x8635('0x29')];}_0x25d832[_0x8635('0x21')](_0x23b124)[_0x8635('0x2a')](_0x1edaa5);};}exports[_0x8635('0x2b')]=function(_0x191913,_0x460684){var _0x1ce1fa={},_0x453fbf={},_0x42d824={'count':0x0,'rows':[]};var _0x5e940c=_[_0x8635('0x2c')](db[_0x8635('0x2d')][_0x8635('0x2e')],function(_0x35ed5a){return{'name':_0x35ed5a[_0x8635('0x2f')],'type':_0x35ed5a[_0x8635('0x30')][_0x8635('0x31')]};});_0x453fbf[_0x8635('0x32')]=_[_0x8635('0x2c')](_0x5e940c,_0x8635('0x29'));_0x453fbf['query']=_['keys'](_0x191913[_0x8635('0x33')]);_0x453fbf[_0x8635('0x34')]=_[_0x8635('0x35')](_0x453fbf['model'],_0x453fbf['query']);_0x1ce1fa[_0x8635('0x36')]=_['intersection'](_0x453fbf[_0x8635('0x32')],qs[_0x8635('0x37')](_0x191913[_0x8635('0x33')][_0x8635('0x37')]));_0x1ce1fa[_0x8635('0x36')]=_0x1ce1fa[_0x8635('0x36')][_0x8635('0x38')]?_0x1ce1fa[_0x8635('0x36')]:_0x453fbf[_0x8635('0x32')];if(!_0x191913[_0x8635('0x33')][_0x8635('0x39')]('nolimit')){_0x1ce1fa[_0x8635('0x1e')]=qs[_0x8635('0x1e')](_0x191913['query'][_0x8635('0x1e')]);_0x1ce1fa[_0x8635('0x20')]=qs[_0x8635('0x20')](_0x191913['query'][_0x8635('0x20')]);}_0x1ce1fa['order']=qs[_0x8635('0x3a')](_0x191913[_0x8635('0x33')][_0x8635('0x3a')]);_0x1ce1fa[_0x8635('0x3b')]=qs[_0x8635('0x34')](_[_0x8635('0x3c')](_0x191913['query'],_0x453fbf[_0x8635('0x34')]),_0x5e940c);if(_0x191913[_0x8635('0x33')][_0x8635('0x3d')]){_0x1ce1fa[_0x8635('0x3b')]=_[_0x8635('0x3e')](_0x1ce1fa[_0x8635('0x3b')],{'$or':_[_0x8635('0x2c')](_0x5e940c,function(_0x5286f7){if(_0x5286f7[_0x8635('0x30')]!==_0x8635('0x3f')){var _0x2cbb28={};_0x2cbb28[_0x5286f7[_0x8635('0x29')]]={'$like':'%'+_0x191913['query'][_0x8635('0x3d')]+'%'};return _0x2cbb28;}})});}_0x1ce1fa=_[_0x8635('0x3e')]({},_0x1ce1fa,_0x191913[_0x8635('0x40')]);var _0x34abf8={'where':_0x1ce1fa[_0x8635('0x3b')]};return db['DeskConfiguration'][_0x8635('0x1f')](_0x34abf8)['then'](function(_0x1b34d6){_0x42d824[_0x8635('0x1f')]=_0x1b34d6;if(_0x191913[_0x8635('0x33')][_0x8635('0x41')]){_0x1ce1fa[_0x8635('0x42')]=[{'all':!![]}];}return db[_0x8635('0x2d')]['findAll'](_0x1ce1fa);})[_0x8635('0x43')](function(_0x259982){_0x42d824[_0x8635('0x44')]=_0x259982;return _0x42d824;})['then'](respondWithFilteredResult(_0x460684,_0x1ce1fa))[_0x8635('0x45')](handleError(_0x460684,null));};exports[_0x8635('0x46')]=function(_0x565783,_0x239ab3){var _0x137ac2={'raw':![],'where':{'id':_0x565783[_0x8635('0x47')]['id']}},_0x5f0314={};_0x5f0314[_0x8635('0x32')]=_['keys'](db[_0x8635('0x2d')]['rawAttributes']);_0x5f0314[_0x8635('0x33')]=_['keys'](_0x565783['query']);_0x5f0314[_0x8635('0x34')]=_[_0x8635('0x35')](_0x5f0314[_0x8635('0x32')],_0x5f0314[_0x8635('0x33')]);_0x137ac2[_0x8635('0x36')]=_[_0x8635('0x35')](_0x5f0314[_0x8635('0x32')],qs[_0x8635('0x37')](_0x565783['query'][_0x8635('0x37')]));_0x137ac2['attributes']=_0x137ac2[_0x8635('0x36')]['length']?_0x137ac2[_0x8635('0x36')]:_0x5f0314['model'];if(_0x565783[_0x8635('0x33')][_0x8635('0x41')]){_0x137ac2[_0x8635('0x42')]=[{'all':!![]}];}_0x137ac2=_[_0x8635('0x3e')]({},_0x137ac2,_0x565783[_0x8635('0x40')]);return db['DeskConfiguration']['find'](_0x137ac2)[_0x8635('0x43')](handleEntityNotFound(_0x239ab3,null))[_0x8635('0x43')](respondWithResult(_0x239ab3,null))[_0x8635('0x45')](handleError(_0x239ab3,null));};exports[_0x8635('0x48')]=function(_0x2570d5,_0x1cd270){return db[_0x8635('0x2d')][_0x8635('0x48')](_0x2570d5[_0x8635('0x49')],{})[_0x8635('0x43')](respondWithResult(_0x1cd270,0xc9))[_0x8635('0x45')](handleError(_0x1cd270,null));};exports[_0x8635('0x26')]=function(_0x186b02,_0x55ceef){if(_0x186b02[_0x8635('0x49')]['id']){delete _0x186b02[_0x8635('0x49')]['id'];}return db['DeskConfiguration']['find']({'where':{'id':_0x186b02[_0x8635('0x47')]['id']}})[_0x8635('0x43')](handleEntityNotFound(_0x55ceef,null))[_0x8635('0x43')](saveUpdates(_0x186b02[_0x8635('0x49')],null))['then'](respondWithResult(_0x55ceef,null))[_0x8635('0x45')](handleError(_0x55ceef,null));};exports['destroy']=function(_0x658883,_0x1edbf7){return db[_0x8635('0x2d')]['find']({'where':{'id':_0x658883[_0x8635('0x47')]['id']}})[_0x8635('0x43')](handleEntityNotFound(_0x1edbf7,null))['then'](removeEntity(_0x1edbf7,null))['catch'](handleError(_0x1edbf7,null));};exports[_0x8635('0x4a')]=function(_0x1d3393,_0x1a1e6d,_0x15419b){var _0x4c289a={};var _0x3be1f3={};var _0x582225;var _0x2ae94e;return db[_0x8635('0x2d')][_0x8635('0x4b')]({'where':{'id':_0x1d3393['params']['id']}})[_0x8635('0x43')](handleEntityNotFound(_0x1a1e6d,null))['then'](function(_0x458650){if(_0x458650){_0x582225=_0x458650;_0x3be1f3[_0x8635('0x32')]=_[_0x8635('0x4c')](db[_0x8635('0x4d')]['rawAttributes']);_0x3be1f3[_0x8635('0x33')]=_[_0x8635('0x4c')](_0x1d3393[_0x8635('0x33')]);_0x3be1f3[_0x8635('0x34')]=_['intersection'](_0x3be1f3[_0x8635('0x32')],_0x3be1f3['query']);_0x4c289a[_0x8635('0x36')]=_[_0x8635('0x35')](_0x3be1f3['model'],qs[_0x8635('0x37')](_0x1d3393['query'][_0x8635('0x37')]));_0x4c289a[_0x8635('0x36')]=_0x4c289a[_0x8635('0x36')][_0x8635('0x38')]?_0x4c289a[_0x8635('0x36')]:_0x3be1f3[_0x8635('0x32')];_0x4c289a['order']=qs[_0x8635('0x3a')](_0x1d3393['query'][_0x8635('0x3a')]);_0x4c289a['where']=qs[_0x8635('0x34')](_[_0x8635('0x3c')](_0x1d3393[_0x8635('0x33')],_0x3be1f3[_0x8635('0x34')]));if(_0x1d3393[_0x8635('0x33')][_0x8635('0x3d')]){_0x4c289a[_0x8635('0x3b')]=_[_0x8635('0x3e')](_0x4c289a[_0x8635('0x3b')],{'$or':_[_0x8635('0x2c')](_0x4c289a[_0x8635('0x36')],function(_0xd3bc0d){var _0x23b2df={};_0x23b2df[_0xd3bc0d]={'$like':'%'+_0x1d3393[_0x8635('0x33')][_0x8635('0x3d')]+'%'};return _0x23b2df;})});}_0x4c289a=_[_0x8635('0x3e')]({},_0x4c289a,_0x1d3393[_0x8635('0x40')]);return _0x582225[_0x8635('0x4a')](_0x4c289a);}})['then'](function(_0x1316e9){if(_0x1316e9){_0x2ae94e=_0x1316e9['length'];if(!_0x1d3393['query'][_0x8635('0x39')](_0x8635('0x4e'))){_0x4c289a[_0x8635('0x1e')]=qs[_0x8635('0x1e')](_0x1d3393['query']['limit']);_0x4c289a['offset']=qs[_0x8635('0x20')](_0x1d3393[_0x8635('0x33')][_0x8635('0x20')]);}return _0x582225[_0x8635('0x4a')](_0x4c289a);}})['then'](function(_0x1dbcab){if(_0x1dbcab){return _0x1dbcab?{'count':_0x2ae94e,'rows':_0x1dbcab}:null;}})['then'](respondWithResult(_0x1a1e6d,null))[_0x8635('0x45')](handleError(_0x1a1e6d,null));};exports[_0x8635('0x4f')]=function(_0x489b49,_0x522c04,_0x1a0aac){var _0x1bb547={};var _0xe045fc={};var _0x52bef2;var _0x8ce346;return db[_0x8635('0x2d')]['findOne']({'where':{'id':_0x489b49[_0x8635('0x47')]['id']}})['then'](handleEntityNotFound(_0x522c04,null))[_0x8635('0x43')](function(_0x28e35a){if(_0x28e35a){_0x52bef2=_0x28e35a;_0xe045fc[_0x8635('0x32')]=_[_0x8635('0x4c')](db[_0x8635('0x4d')][_0x8635('0x2e')]);_0xe045fc[_0x8635('0x33')]=_['keys'](_0x489b49[_0x8635('0x33')]);_0xe045fc[_0x8635('0x34')]=_[_0x8635('0x35')](_0xe045fc[_0x8635('0x32')],_0xe045fc[_0x8635('0x33')]);_0x1bb547[_0x8635('0x36')]=_['intersection'](_0xe045fc[_0x8635('0x32')],qs['fields'](_0x489b49[_0x8635('0x33')][_0x8635('0x37')]));_0x1bb547[_0x8635('0x36')]=_0x1bb547['attributes']['length']?_0x1bb547[_0x8635('0x36')]:_0xe045fc[_0x8635('0x32')];_0x1bb547['order']=qs[_0x8635('0x3a')](_0x489b49[_0x8635('0x33')][_0x8635('0x3a')]);_0x1bb547[_0x8635('0x3b')]=qs['filters'](_[_0x8635('0x3c')](_0x489b49[_0x8635('0x33')],_0xe045fc['filters']));if(_0x489b49['query']['filter']){_0x1bb547[_0x8635('0x3b')]=_[_0x8635('0x3e')](_0x1bb547['where'],{'$or':_[_0x8635('0x2c')](_0x1bb547['attributes'],function(_0x31193c){var _0x46a0f1={};_0x46a0f1[_0x31193c]={'$like':'%'+_0x489b49[_0x8635('0x33')][_0x8635('0x3d')]+'%'};return _0x46a0f1;})});}_0x1bb547=_[_0x8635('0x3e')]({},_0x1bb547,_0x489b49[_0x8635('0x40')]);return _0x52bef2[_0x8635('0x4f')](_0x1bb547);}})['then'](function(_0x42e960){if(_0x42e960){_0x8ce346=_0x42e960['length'];if(!_0x489b49[_0x8635('0x33')][_0x8635('0x39')]('nolimit')){_0x1bb547[_0x8635('0x1e')]=qs[_0x8635('0x1e')](_0x489b49[_0x8635('0x33')][_0x8635('0x1e')]);_0x1bb547[_0x8635('0x20')]=qs[_0x8635('0x20')](_0x489b49[_0x8635('0x33')][_0x8635('0x20')]);}return _0x52bef2[_0x8635('0x4f')](_0x1bb547);}})['then'](function(_0x5c304d){if(_0x5c304d){return _0x5c304d?{'count':_0x8ce346,'rows':_0x5c304d}:null;}})['then'](respondWithResult(_0x522c04,null))[_0x8635('0x45')](handleError(_0x522c04,null));};exports[_0x8635('0x50')]=function(_0x31d62f,_0x4ffa27,_0x424c85){var _0x4f8ba9={};var _0x1f5a61={};var _0x5d1466;var _0x181327;return db[_0x8635('0x2d')][_0x8635('0x4b')]({'where':{'id':_0x31d62f[_0x8635('0x47')]['id']}})[_0x8635('0x43')](handleEntityNotFound(_0x4ffa27,null))[_0x8635('0x43')](function(_0x25388c){if(_0x25388c){_0x5d1466=_0x25388c;_0x1f5a61[_0x8635('0x32')]=_['keys'](db[_0x8635('0x4d')][_0x8635('0x2e')]);_0x1f5a61['query']=_[_0x8635('0x4c')](_0x31d62f[_0x8635('0x33')]);_0x1f5a61['filters']=_[_0x8635('0x35')](_0x1f5a61[_0x8635('0x32')],_0x1f5a61[_0x8635('0x33')]);_0x4f8ba9[_0x8635('0x36')]=_[_0x8635('0x35')](_0x1f5a61[_0x8635('0x32')],qs[_0x8635('0x37')](_0x31d62f[_0x8635('0x33')][_0x8635('0x37')]));_0x4f8ba9[_0x8635('0x36')]=_0x4f8ba9[_0x8635('0x36')][_0x8635('0x38')]?_0x4f8ba9[_0x8635('0x36')]:_0x1f5a61['model'];_0x4f8ba9['order']=qs[_0x8635('0x3a')](_0x31d62f[_0x8635('0x33')]['sort']);_0x4f8ba9[_0x8635('0x3b')]=qs[_0x8635('0x34')](_[_0x8635('0x3c')](_0x31d62f[_0x8635('0x33')],_0x1f5a61[_0x8635('0x34')]));if(_0x31d62f[_0x8635('0x33')][_0x8635('0x3d')]){_0x4f8ba9[_0x8635('0x3b')]=_[_0x8635('0x3e')](_0x4f8ba9[_0x8635('0x3b')],{'$or':_['map'](_0x4f8ba9[_0x8635('0x36')],function(_0x41ce5a){var _0x5d0552={};_0x5d0552[_0x41ce5a]={'$like':'%'+_0x31d62f[_0x8635('0x33')][_0x8635('0x3d')]+'%'};return _0x5d0552;})});}_0x4f8ba9=_[_0x8635('0x3e')]({},_0x4f8ba9,_0x31d62f[_0x8635('0x40')]);return _0x5d1466[_0x8635('0x50')](_0x4f8ba9);}})[_0x8635('0x43')](function(_0x1f4bb9){if(_0x1f4bb9){_0x181327=_0x1f4bb9[_0x8635('0x38')];if(!_0x31d62f[_0x8635('0x33')][_0x8635('0x39')](_0x8635('0x4e'))){_0x4f8ba9[_0x8635('0x1e')]=qs[_0x8635('0x1e')](_0x31d62f[_0x8635('0x33')][_0x8635('0x1e')]);_0x4f8ba9[_0x8635('0x20')]=qs['offset'](_0x31d62f[_0x8635('0x33')][_0x8635('0x20')]);}return _0x5d1466[_0x8635('0x50')](_0x4f8ba9);}})['then'](function(_0xb416af){if(_0xb416af){return _0xb416af?{'count':_0x181327,'rows':_0xb416af}:null;}})[_0x8635('0x43')](respondWithResult(_0x4ffa27,null))['catch'](handleError(_0x4ffa27,null));};exports[_0x8635('0x51')]=function(_0x99b5d4,_0x176f61,_0x5cd66c){var _0x31c09a={};var _0xddc5b8={};var _0x341f2c;var _0x52866e;return db['DeskConfiguration'][_0x8635('0x4b')]({'where':{'id':_0x99b5d4[_0x8635('0x47')]['id']}})[_0x8635('0x43')](handleEntityNotFound(_0x176f61,null))[_0x8635('0x43')](function(_0x31c674){if(_0x31c674){_0x341f2c=_0x31c674;_0xddc5b8[_0x8635('0x32')]=_[_0x8635('0x4c')](db['Tag'][_0x8635('0x2e')]);_0xddc5b8[_0x8635('0x33')]=_[_0x8635('0x4c')](_0x99b5d4[_0x8635('0x33')]);_0xddc5b8['filters']=_[_0x8635('0x35')](_0xddc5b8[_0x8635('0x32')],_0xddc5b8[_0x8635('0x33')]);_0x31c09a[_0x8635('0x36')]=_[_0x8635('0x35')](_0xddc5b8[_0x8635('0x32')],qs[_0x8635('0x37')](_0x99b5d4[_0x8635('0x33')][_0x8635('0x37')]));_0x31c09a[_0x8635('0x36')]=_0x31c09a[_0x8635('0x36')][_0x8635('0x38')]?_0x31c09a[_0x8635('0x36')]:_0xddc5b8[_0x8635('0x32')];_0x31c09a[_0x8635('0x52')]=qs[_0x8635('0x3a')](_0x99b5d4[_0x8635('0x33')][_0x8635('0x3a')]);_0x31c09a[_0x8635('0x3b')]=qs['filters'](_['pick'](_0x99b5d4[_0x8635('0x33')],_0xddc5b8[_0x8635('0x34')]));if(_0x99b5d4[_0x8635('0x33')][_0x8635('0x3d')]){_0x31c09a[_0x8635('0x3b')]=_[_0x8635('0x3e')](_0x31c09a[_0x8635('0x3b')],{'$or':_[_0x8635('0x2c')](_0x31c09a[_0x8635('0x36')],function(_0x5cc700){var _0x66f862={};_0x66f862[_0x5cc700]={'$like':'%'+_0x99b5d4[_0x8635('0x33')][_0x8635('0x3d')]+'%'};return _0x66f862;})});}_0x31c09a=_['merge']({},_0x31c09a,_0x99b5d4['options']);return _0x341f2c['getTags'](_0x31c09a);}})[_0x8635('0x43')](function(_0x5e1aa9){if(_0x5e1aa9){_0x52866e=_0x5e1aa9['length'];if(!_0x99b5d4[_0x8635('0x33')][_0x8635('0x39')](_0x8635('0x4e'))){_0x31c09a[_0x8635('0x1e')]=qs[_0x8635('0x1e')](_0x99b5d4[_0x8635('0x33')]['limit']);_0x31c09a['offset']=qs[_0x8635('0x20')](_0x99b5d4['query'][_0x8635('0x20')]);}return _0x341f2c[_0x8635('0x51')](_0x31c09a);}})['then'](function(_0xf6a11f){if(_0xf6a11f){return _0xf6a11f?{'count':_0x52866e,'rows':_0xf6a11f}:null;}})[_0x8635('0x43')](respondWithResult(_0x176f61,null))[_0x8635('0x45')](handleError(_0x176f61,null));};exports[_0x8635('0x53')]=function(_0x36e6d6,_0x5634f0,_0x10c459){if(_0x36e6d6['body']['id']){delete _0x36e6d6['body']['id'];}return db[_0x8635('0x2d')][_0x8635('0x4b')]({'where':{'id':_0x36e6d6[_0x8635('0x47')]['id']}})[_0x8635('0x43')](handleEntityNotFound(_0x5634f0,null))[_0x8635('0x43')](function(_0x1f31c0){if(_0x1f31c0){return _0x1f31c0['setTags'](_0x36e6d6[_0x8635('0x49')]['ids']||[]);}return null;})['then'](respondWithResult(_0x5634f0,null))[_0x8635('0x45')](handleError(_0x5634f0,null));};