3513b93ea33ba9cbf47ea0045cbf20a00a320404
[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 _0x3bc0=['zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','Content-Range','reject','save','update','then','error','stack','index','map','rawAttributes','fieldName','type','key','model','name','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','pick','filter','merge','options','DeskConfiguration','includeAll','include','rows','catch','show','params','length','create','body','find','destroy','getFields','findOne','getSubjects','DeskField','getDescriptions','nolimit','getTags','setTags','ids','eml-format'];(function(_0x19e35c,_0x29cd1e){var _0x3e1fe8=function(_0x17258b){while(--_0x17258b){_0x19e35c['push'](_0x19e35c['shift']());}};_0x3e1fe8(++_0x29cd1e);}(_0x3bc0,0xf5));var _0x03bc=function(_0xfa634c,_0x414e0e){_0xfa634c=_0xfa634c-0x0;var _0x73e478=_0x3bc0[_0xfa634c];return _0x73e478;};'use strict';var emlformat=require(_0x03bc('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x03bc('0x1'));var jsonpatch=require(_0x03bc('0x2'));var rp=require('request-promise');var moment=require(_0x03bc('0x3'));var BPromise=require(_0x03bc('0x4'));var Mustache=require(_0x03bc('0x5'));var util=require(_0x03bc('0x6'));var path=require(_0x03bc('0x7'));var sox=require(_0x03bc('0x8'));var csv=require(_0x03bc('0x9'));var ejs=require(_0x03bc('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x03bc('0xb'));var squel=require(_0x03bc('0xc'));var crypto=require(_0x03bc('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x03bc('0xe'));var toCsv=require(_0x03bc('0x9'));var querystring=require(_0x03bc('0xf'));var Papa=require(_0x03bc('0x10'));var Redis=require('ioredis');var authService=require(_0x03bc('0x11'));var qs=require(_0x03bc('0x12'));var as=require(_0x03bc('0x13'));var hardwareService=require(_0x03bc('0x14'));var logger=require(_0x03bc('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x03bc('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x03bc('0x17'))['db'];function respondWithStatusCode(_0x3ca582,_0x2291fb){_0x2291fb=_0x2291fb||0xcc;return function(_0x1bced0){if(_0x1bced0){return _0x3ca582[_0x03bc('0x18')](_0x2291fb);}return _0x3ca582['status'](_0x2291fb)[_0x03bc('0x19')]();};}function respondWithResult(_0x75406d,_0x5e9ef0){_0x5e9ef0=_0x5e9ef0||0xc8;return function(_0x4d8e23){if(_0x4d8e23){return _0x75406d[_0x03bc('0x1a')](_0x5e9ef0)[_0x03bc('0x1b')](_0x4d8e23);}};}function respondWithFilteredResult(_0x3b8700,_0x133e7c){return function(_0x3a5378){if(_0x3a5378){var _0x468c5d=typeof _0x133e7c[_0x03bc('0x1c')]===_0x03bc('0x1d')&&typeof _0x133e7c['limit']===_0x03bc('0x1d');var _0x77cba7=_0x3a5378[_0x03bc('0x1e')];var _0x77ff52=_0x468c5d?0x0:_0x133e7c[_0x03bc('0x1c')];var _0x141e50=_0x468c5d?_0x3a5378[_0x03bc('0x1e')]:_0x133e7c[_0x03bc('0x1c')]+_0x133e7c[_0x03bc('0x1f')];var _0x9ea3f;if(_0x141e50>=_0x77cba7){_0x141e50=_0x77cba7;_0x9ea3f=0xc8;}else{_0x9ea3f=0xce;}_0x3b8700[_0x03bc('0x1a')](_0x9ea3f);return _0x3b8700['set'](_0x03bc('0x20'),_0x77ff52+'-'+_0x141e50+'/'+_0x77cba7)['json'](_0x3a5378);}return null;};}function patchUpdates(_0x596928){return function(_0x1c2201){try{jsonpatch['apply'](_0x1c2201,_0x596928,!![]);}catch(_0x547672){return BPromise[_0x03bc('0x21')](_0x547672);}return _0x1c2201[_0x03bc('0x22')]();};}function saveUpdates(_0x495f91,_0x5d16fa){return function(_0xa316c){if(_0xa316c){return _0xa316c[_0x03bc('0x23')](_0x495f91)[_0x03bc('0x24')](function(_0x776037){return _0x776037;});}return null;};}function removeEntity(_0x191050,_0x100c9b){return function(_0x2ce59f){if(_0x2ce59f){return _0x2ce59f['destroy']()[_0x03bc('0x24')](function(){_0x191050[_0x03bc('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1b709a,_0x338da8){return function(_0x35dfb2){if(!_0x35dfb2){_0x1b709a[_0x03bc('0x18')](0x194);}return _0x35dfb2;};}function handleError(_0x2b8d2e,_0x26506c){_0x26506c=_0x26506c||0x1f4;return function(_0xc417b3){logger[_0x03bc('0x25')](_0xc417b3[_0x03bc('0x26')]);if(_0xc417b3['name']){delete _0xc417b3['name'];}_0x2b8d2e[_0x03bc('0x1a')](_0x26506c)['send'](_0xc417b3);};}exports[_0x03bc('0x27')]=function(_0x59a4dd,_0x1792e7){var _0x3572e3={},_0xa6bd07={},_0x24bd29={'count':0x0,'rows':[]};var _0x189f0d=_[_0x03bc('0x28')](db['DeskConfiguration'][_0x03bc('0x29')],function(_0x209980){return{'name':_0x209980[_0x03bc('0x2a')],'type':_0x209980[_0x03bc('0x2b')][_0x03bc('0x2c')]};});_0xa6bd07[_0x03bc('0x2d')]=_['map'](_0x189f0d,_0x03bc('0x2e'));_0xa6bd07[_0x03bc('0x2f')]=_[_0x03bc('0x30')](_0x59a4dd[_0x03bc('0x2f')]);_0xa6bd07[_0x03bc('0x31')]=_[_0x03bc('0x32')](_0xa6bd07[_0x03bc('0x2d')],_0xa6bd07['query']);_0x3572e3[_0x03bc('0x33')]=_[_0x03bc('0x32')](_0xa6bd07[_0x03bc('0x2d')],qs[_0x03bc('0x34')](_0x59a4dd[_0x03bc('0x2f')][_0x03bc('0x34')]));_0x3572e3['attributes']=_0x3572e3[_0x03bc('0x33')]['length']?_0x3572e3[_0x03bc('0x33')]:_0xa6bd07[_0x03bc('0x2d')];if(!_0x59a4dd[_0x03bc('0x2f')][_0x03bc('0x35')]('nolimit')){_0x3572e3['limit']=qs[_0x03bc('0x1f')](_0x59a4dd[_0x03bc('0x2f')]['limit']);_0x3572e3[_0x03bc('0x1c')]=qs[_0x03bc('0x1c')](_0x59a4dd[_0x03bc('0x2f')][_0x03bc('0x1c')]);}_0x3572e3[_0x03bc('0x36')]=qs[_0x03bc('0x37')](_0x59a4dd[_0x03bc('0x2f')][_0x03bc('0x37')]);_0x3572e3[_0x03bc('0x38')]=qs[_0x03bc('0x31')](_[_0x03bc('0x39')](_0x59a4dd[_0x03bc('0x2f')],_0xa6bd07[_0x03bc('0x31')]),_0x189f0d);if(_0x59a4dd['query'][_0x03bc('0x3a')]){_0x3572e3['where']=_[_0x03bc('0x3b')](_0x3572e3[_0x03bc('0x38')],{'$or':_['map'](_0x189f0d,function(_0x452ba1){if(_0x452ba1['type']!=='VIRTUAL'){var _0x1226e6={};_0x1226e6[_0x452ba1[_0x03bc('0x2e')]]={'$like':'%'+_0x59a4dd['query']['filter']+'%'};return _0x1226e6;}})});}_0x3572e3=_[_0x03bc('0x3b')]({},_0x3572e3,_0x59a4dd[_0x03bc('0x3c')]);var _0x465ec3={'where':_0x3572e3['where']};return db[_0x03bc('0x3d')][_0x03bc('0x1e')](_0x465ec3)[_0x03bc('0x24')](function(_0x37a3b3){_0x24bd29[_0x03bc('0x1e')]=_0x37a3b3;if(_0x59a4dd[_0x03bc('0x2f')][_0x03bc('0x3e')]){_0x3572e3[_0x03bc('0x3f')]=[{'all':!![]}];}return db[_0x03bc('0x3d')]['findAll'](_0x3572e3);})[_0x03bc('0x24')](function(_0x2fc1d3){_0x24bd29[_0x03bc('0x40')]=_0x2fc1d3;return _0x24bd29;})[_0x03bc('0x24')](respondWithFilteredResult(_0x1792e7,_0x3572e3))[_0x03bc('0x41')](handleError(_0x1792e7,null));};exports[_0x03bc('0x42')]=function(_0x41eb8d,_0x43d6d6){var _0x297ac8={'raw':![],'where':{'id':_0x41eb8d[_0x03bc('0x43')]['id']}},_0x7426d2={};_0x7426d2[_0x03bc('0x2d')]=_[_0x03bc('0x30')](db[_0x03bc('0x3d')]['rawAttributes']);_0x7426d2[_0x03bc('0x2f')]=_[_0x03bc('0x30')](_0x41eb8d[_0x03bc('0x2f')]);_0x7426d2[_0x03bc('0x31')]=_[_0x03bc('0x32')](_0x7426d2[_0x03bc('0x2d')],_0x7426d2['query']);_0x297ac8[_0x03bc('0x33')]=_[_0x03bc('0x32')](_0x7426d2[_0x03bc('0x2d')],qs[_0x03bc('0x34')](_0x41eb8d[_0x03bc('0x2f')][_0x03bc('0x34')]));_0x297ac8[_0x03bc('0x33')]=_0x297ac8[_0x03bc('0x33')][_0x03bc('0x44')]?_0x297ac8[_0x03bc('0x33')]:_0x7426d2[_0x03bc('0x2d')];if(_0x41eb8d['query'][_0x03bc('0x3e')]){_0x297ac8[_0x03bc('0x3f')]=[{'all':!![]}];}_0x297ac8=_[_0x03bc('0x3b')]({},_0x297ac8,_0x41eb8d[_0x03bc('0x3c')]);return db[_0x03bc('0x3d')]['find'](_0x297ac8)['then'](handleEntityNotFound(_0x43d6d6,null))[_0x03bc('0x24')](respondWithResult(_0x43d6d6,null))[_0x03bc('0x41')](handleError(_0x43d6d6,null));};exports['create']=function(_0x5ae64d,_0x310e40){return db['DeskConfiguration'][_0x03bc('0x45')](_0x5ae64d[_0x03bc('0x46')],{})[_0x03bc('0x24')](respondWithResult(_0x310e40,0xc9))['catch'](handleError(_0x310e40,null));};exports['update']=function(_0x3ae0a5,_0x2db679){if(_0x3ae0a5[_0x03bc('0x46')]['id']){delete _0x3ae0a5[_0x03bc('0x46')]['id'];}return db[_0x03bc('0x3d')][_0x03bc('0x47')]({'where':{'id':_0x3ae0a5['params']['id']}})['then'](handleEntityNotFound(_0x2db679,null))[_0x03bc('0x24')](saveUpdates(_0x3ae0a5[_0x03bc('0x46')],null))[_0x03bc('0x24')](respondWithResult(_0x2db679,null))[_0x03bc('0x41')](handleError(_0x2db679,null));};exports[_0x03bc('0x48')]=function(_0x254eb6,_0xb032a8){return db[_0x03bc('0x3d')][_0x03bc('0x47')]({'where':{'id':_0x254eb6[_0x03bc('0x43')]['id']}})[_0x03bc('0x24')](handleEntityNotFound(_0xb032a8,null))[_0x03bc('0x24')](removeEntity(_0xb032a8,null))['catch'](handleError(_0xb032a8,null));};exports[_0x03bc('0x49')]=function(_0x4e6b8f,_0x28e5e9,_0x3036b7){var _0x3edc3f={};var _0x12c026={};var _0x41a2e9;var _0x411f78;return db[_0x03bc('0x3d')][_0x03bc('0x4a')]({'where':{'id':_0x4e6b8f[_0x03bc('0x43')]['id']}})['then'](handleEntityNotFound(_0x28e5e9,null))[_0x03bc('0x24')](function(_0x5f414f){if(_0x5f414f){_0x41a2e9=_0x5f414f;_0x12c026[_0x03bc('0x2d')]=_[_0x03bc('0x30')](db['DeskField']['rawAttributes']);_0x12c026[_0x03bc('0x2f')]=_[_0x03bc('0x30')](_0x4e6b8f[_0x03bc('0x2f')]);_0x12c026[_0x03bc('0x31')]=_[_0x03bc('0x32')](_0x12c026[_0x03bc('0x2d')],_0x12c026['query']);_0x3edc3f[_0x03bc('0x33')]=_[_0x03bc('0x32')](_0x12c026[_0x03bc('0x2d')],qs[_0x03bc('0x34')](_0x4e6b8f[_0x03bc('0x2f')][_0x03bc('0x34')]));_0x3edc3f[_0x03bc('0x33')]=_0x3edc3f[_0x03bc('0x33')][_0x03bc('0x44')]?_0x3edc3f[_0x03bc('0x33')]:_0x12c026['model'];_0x3edc3f[_0x03bc('0x36')]=qs[_0x03bc('0x37')](_0x4e6b8f['query'][_0x03bc('0x37')]);_0x3edc3f[_0x03bc('0x38')]=qs[_0x03bc('0x31')](_['pick'](_0x4e6b8f[_0x03bc('0x2f')],_0x12c026[_0x03bc('0x31')]));if(_0x4e6b8f[_0x03bc('0x2f')][_0x03bc('0x3a')]){_0x3edc3f['where']=_[_0x03bc('0x3b')](_0x3edc3f[_0x03bc('0x38')],{'$or':_[_0x03bc('0x28')](_0x3edc3f[_0x03bc('0x33')],function(_0xba015c){var _0x32b0cd={};_0x32b0cd[_0xba015c]={'$like':'%'+_0x4e6b8f[_0x03bc('0x2f')][_0x03bc('0x3a')]+'%'};return _0x32b0cd;})});}_0x3edc3f=_[_0x03bc('0x3b')]({},_0x3edc3f,_0x4e6b8f['options']);return _0x41a2e9[_0x03bc('0x49')](_0x3edc3f);}})[_0x03bc('0x24')](function(_0x38b480){if(_0x38b480){_0x411f78=_0x38b480['length'];if(!_0x4e6b8f[_0x03bc('0x2f')][_0x03bc('0x35')]('nolimit')){_0x3edc3f[_0x03bc('0x1f')]=qs[_0x03bc('0x1f')](_0x4e6b8f[_0x03bc('0x2f')][_0x03bc('0x1f')]);_0x3edc3f[_0x03bc('0x1c')]=qs[_0x03bc('0x1c')](_0x4e6b8f[_0x03bc('0x2f')]['offset']);}return _0x41a2e9[_0x03bc('0x49')](_0x3edc3f);}})[_0x03bc('0x24')](function(_0x4ca1a4){if(_0x4ca1a4){return _0x4ca1a4?{'count':_0x411f78,'rows':_0x4ca1a4}:null;}})[_0x03bc('0x24')](respondWithResult(_0x28e5e9,null))['catch'](handleError(_0x28e5e9,null));};exports[_0x03bc('0x4b')]=function(_0x2b520b,_0x47981a,_0x44fd22){var _0x55be2a={};var _0x1527b8={};var _0x36d0a1;var _0x3849b6;return db[_0x03bc('0x3d')][_0x03bc('0x4a')]({'where':{'id':_0x2b520b[_0x03bc('0x43')]['id']}})[_0x03bc('0x24')](handleEntityNotFound(_0x47981a,null))[_0x03bc('0x24')](function(_0x427d34){if(_0x427d34){_0x36d0a1=_0x427d34;_0x1527b8[_0x03bc('0x2d')]=_[_0x03bc('0x30')](db[_0x03bc('0x4c')][_0x03bc('0x29')]);_0x1527b8[_0x03bc('0x2f')]=_[_0x03bc('0x30')](_0x2b520b[_0x03bc('0x2f')]);_0x1527b8[_0x03bc('0x31')]=_[_0x03bc('0x32')](_0x1527b8[_0x03bc('0x2d')],_0x1527b8[_0x03bc('0x2f')]);_0x55be2a[_0x03bc('0x33')]=_[_0x03bc('0x32')](_0x1527b8[_0x03bc('0x2d')],qs[_0x03bc('0x34')](_0x2b520b[_0x03bc('0x2f')]['fields']));_0x55be2a[_0x03bc('0x33')]=_0x55be2a[_0x03bc('0x33')]['length']?_0x55be2a[_0x03bc('0x33')]:_0x1527b8['model'];_0x55be2a[_0x03bc('0x36')]=qs[_0x03bc('0x37')](_0x2b520b['query']['sort']);_0x55be2a[_0x03bc('0x38')]=qs[_0x03bc('0x31')](_[_0x03bc('0x39')](_0x2b520b[_0x03bc('0x2f')],_0x1527b8[_0x03bc('0x31')]));if(_0x2b520b[_0x03bc('0x2f')][_0x03bc('0x3a')]){_0x55be2a['where']=_[_0x03bc('0x3b')](_0x55be2a[_0x03bc('0x38')],{'$or':_[_0x03bc('0x28')](_0x55be2a[_0x03bc('0x33')],function(_0x352ea6){var _0x398895={};_0x398895[_0x352ea6]={'$like':'%'+_0x2b520b[_0x03bc('0x2f')][_0x03bc('0x3a')]+'%'};return _0x398895;})});}_0x55be2a=_[_0x03bc('0x3b')]({},_0x55be2a,_0x2b520b['options']);return _0x36d0a1[_0x03bc('0x4b')](_0x55be2a);}})[_0x03bc('0x24')](function(_0x4b804e){if(_0x4b804e){_0x3849b6=_0x4b804e[_0x03bc('0x44')];if(!_0x2b520b['query'][_0x03bc('0x35')]('nolimit')){_0x55be2a['limit']=qs[_0x03bc('0x1f')](_0x2b520b[_0x03bc('0x2f')][_0x03bc('0x1f')]);_0x55be2a['offset']=qs['offset'](_0x2b520b['query'][_0x03bc('0x1c')]);}return _0x36d0a1[_0x03bc('0x4b')](_0x55be2a);}})[_0x03bc('0x24')](function(_0x3f5ae5){if(_0x3f5ae5){return _0x3f5ae5?{'count':_0x3849b6,'rows':_0x3f5ae5}:null;}})['then'](respondWithResult(_0x47981a,null))[_0x03bc('0x41')](handleError(_0x47981a,null));};exports[_0x03bc('0x4d')]=function(_0x20bfaa,_0x134abc,_0x10054f){var _0xafbc4d={};var _0x23c2f8={};var _0x166704;var _0x2689fb;return db[_0x03bc('0x3d')][_0x03bc('0x4a')]({'where':{'id':_0x20bfaa['params']['id']}})[_0x03bc('0x24')](handleEntityNotFound(_0x134abc,null))['then'](function(_0x269164){if(_0x269164){_0x166704=_0x269164;_0x23c2f8['model']=_[_0x03bc('0x30')](db['DeskField'][_0x03bc('0x29')]);_0x23c2f8[_0x03bc('0x2f')]=_[_0x03bc('0x30')](_0x20bfaa['query']);_0x23c2f8[_0x03bc('0x31')]=_[_0x03bc('0x32')](_0x23c2f8[_0x03bc('0x2d')],_0x23c2f8['query']);_0xafbc4d[_0x03bc('0x33')]=_['intersection'](_0x23c2f8['model'],qs[_0x03bc('0x34')](_0x20bfaa[_0x03bc('0x2f')][_0x03bc('0x34')]));_0xafbc4d[_0x03bc('0x33')]=_0xafbc4d[_0x03bc('0x33')][_0x03bc('0x44')]?_0xafbc4d[_0x03bc('0x33')]:_0x23c2f8[_0x03bc('0x2d')];_0xafbc4d[_0x03bc('0x36')]=qs[_0x03bc('0x37')](_0x20bfaa['query'][_0x03bc('0x37')]);_0xafbc4d[_0x03bc('0x38')]=qs[_0x03bc('0x31')](_[_0x03bc('0x39')](_0x20bfaa[_0x03bc('0x2f')],_0x23c2f8['filters']));if(_0x20bfaa['query'][_0x03bc('0x3a')]){_0xafbc4d[_0x03bc('0x38')]=_[_0x03bc('0x3b')](_0xafbc4d[_0x03bc('0x38')],{'$or':_[_0x03bc('0x28')](_0xafbc4d[_0x03bc('0x33')],function(_0x5d120c){var _0x48389f={};_0x48389f[_0x5d120c]={'$like':'%'+_0x20bfaa[_0x03bc('0x2f')][_0x03bc('0x3a')]+'%'};return _0x48389f;})});}_0xafbc4d=_[_0x03bc('0x3b')]({},_0xafbc4d,_0x20bfaa[_0x03bc('0x3c')]);return _0x166704[_0x03bc('0x4d')](_0xafbc4d);}})[_0x03bc('0x24')](function(_0x141483){if(_0x141483){_0x2689fb=_0x141483['length'];if(!_0x20bfaa['query'][_0x03bc('0x35')](_0x03bc('0x4e'))){_0xafbc4d[_0x03bc('0x1f')]=qs['limit'](_0x20bfaa[_0x03bc('0x2f')][_0x03bc('0x1f')]);_0xafbc4d[_0x03bc('0x1c')]=qs[_0x03bc('0x1c')](_0x20bfaa['query'][_0x03bc('0x1c')]);}return _0x166704[_0x03bc('0x4d')](_0xafbc4d);}})['then'](function(_0x515ebc){if(_0x515ebc){return _0x515ebc?{'count':_0x2689fb,'rows':_0x515ebc}:null;}})[_0x03bc('0x24')](respondWithResult(_0x134abc,null))[_0x03bc('0x41')](handleError(_0x134abc,null));};exports[_0x03bc('0x4f')]=function(_0x95983a,_0x6f1760,_0x117d4a){var _0x10ae82={};var _0x41b84c={};var _0xf78279;var _0x193c61;return db[_0x03bc('0x3d')][_0x03bc('0x4a')]({'where':{'id':_0x95983a[_0x03bc('0x43')]['id']}})['then'](handleEntityNotFound(_0x6f1760,null))['then'](function(_0x2bb6eb){if(_0x2bb6eb){_0xf78279=_0x2bb6eb;_0x41b84c[_0x03bc('0x2d')]=_[_0x03bc('0x30')](db['Tag']['rawAttributes']);_0x41b84c[_0x03bc('0x2f')]=_[_0x03bc('0x30')](_0x95983a['query']);_0x41b84c[_0x03bc('0x31')]=_['intersection'](_0x41b84c[_0x03bc('0x2d')],_0x41b84c[_0x03bc('0x2f')]);_0x10ae82[_0x03bc('0x33')]=_[_0x03bc('0x32')](_0x41b84c[_0x03bc('0x2d')],qs[_0x03bc('0x34')](_0x95983a[_0x03bc('0x2f')][_0x03bc('0x34')]));_0x10ae82[_0x03bc('0x33')]=_0x10ae82[_0x03bc('0x33')][_0x03bc('0x44')]?_0x10ae82[_0x03bc('0x33')]:_0x41b84c[_0x03bc('0x2d')];_0x10ae82[_0x03bc('0x36')]=qs[_0x03bc('0x37')](_0x95983a[_0x03bc('0x2f')][_0x03bc('0x37')]);_0x10ae82[_0x03bc('0x38')]=qs[_0x03bc('0x31')](_[_0x03bc('0x39')](_0x95983a[_0x03bc('0x2f')],_0x41b84c[_0x03bc('0x31')]));if(_0x95983a[_0x03bc('0x2f')][_0x03bc('0x3a')]){_0x10ae82[_0x03bc('0x38')]=_[_0x03bc('0x3b')](_0x10ae82[_0x03bc('0x38')],{'$or':_['map'](_0x10ae82['attributes'],function(_0x46edd9){var _0x3bca86={};_0x3bca86[_0x46edd9]={'$like':'%'+_0x95983a['query'][_0x03bc('0x3a')]+'%'};return _0x3bca86;})});}_0x10ae82=_[_0x03bc('0x3b')]({},_0x10ae82,_0x95983a[_0x03bc('0x3c')]);return _0xf78279['getTags'](_0x10ae82);}})['then'](function(_0x619033){if(_0x619033){_0x193c61=_0x619033[_0x03bc('0x44')];if(!_0x95983a['query'][_0x03bc('0x35')](_0x03bc('0x4e'))){_0x10ae82['limit']=qs[_0x03bc('0x1f')](_0x95983a[_0x03bc('0x2f')][_0x03bc('0x1f')]);_0x10ae82[_0x03bc('0x1c')]=qs['offset'](_0x95983a[_0x03bc('0x2f')]['offset']);}return _0xf78279[_0x03bc('0x4f')](_0x10ae82);}})[_0x03bc('0x24')](function(_0x33cb7c){if(_0x33cb7c){return _0x33cb7c?{'count':_0x193c61,'rows':_0x33cb7c}:null;}})[_0x03bc('0x24')](respondWithResult(_0x6f1760,null))[_0x03bc('0x41')](handleError(_0x6f1760,null));};exports[_0x03bc('0x50')]=function(_0x4e258c,_0x7cd0b7,_0x5acef8){if(_0x4e258c['body']['id']){delete _0x4e258c['body']['id'];}return db[_0x03bc('0x3d')][_0x03bc('0x4a')]({'where':{'id':_0x4e258c[_0x03bc('0x43')]['id']}})[_0x03bc('0x24')](handleEntityNotFound(_0x7cd0b7,null))['then'](function(_0x162bb8){if(_0x162bb8){return _0x162bb8[_0x03bc('0x50')](_0x4e258c[_0x03bc('0x46')][_0x03bc('0x51')]||[]);}return null;})['then'](respondWithResult(_0x7cd0b7,null))['catch'](handleError(_0x7cd0b7,null));};