Built motion from commit fe909640.|2.6.8
[motion2.git] / server / api / userProfile / userProfile.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 _0x639a=['crudPermissions','body','sequelize','UserProfileSection','each','autoAssociation','UserProfileResource','sectionId','userProfileId','Resources','update','describe','addSections','transaction','push','removeSections','ids','getSections','enabled','includes','subsections','findOne','Dashboard','resourceId','Plugin','forEach','addResources','bulkCreate','removeResources','section','No\x20User\x20Profile\x20found\x20for\x20id\x20','getResources','eml-format','rimraf','request-promise','moment','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./userProfile.socket','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','then','destroy','name','send','index','map','UserProfile','rawAttributes','fieldName','type','key','model','keys','query','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','findAll','catch','show','params','length','find','create','clone','includeAll','get','omit','createdAt','updatedAt'];(function(_0x2b06e1,_0x472f30){var _0x23afb3=function(_0x3c9513){while(--_0x3c9513){_0x2b06e1['push'](_0x2b06e1['shift']());}};_0x23afb3(++_0x472f30);}(_0x639a,0x1e8));var _0xa639=function(_0x295eff,_0xe1aaca){_0x295eff=_0x295eff-0x0;var _0x1fe2a7=_0x639a[_0x295eff];return _0x1fe2a7;};'use strict';var emlformat=require(_0xa639('0x0'));var rimraf=require(_0xa639('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xa639('0x2'));var moment=require(_0xa639('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xa639('0x4'));var util=require(_0xa639('0x5'));var path=require(_0xa639('0x6'));var sox=require(_0xa639('0x7'));var csv=require('to-csv');var ejs=require(_0xa639('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xa639('0x9'));var squel=require(_0xa639('0xa'));var crypto=require(_0xa639('0xb'));var jsforce=require(_0xa639('0xc'));var deskjs=require(_0xa639('0xd'));var toCsv=require('to-csv');var querystring=require(_0xa639('0xe'));var Papa=require(_0xa639('0xf'));var Redis=require(_0xa639('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xa639('0x11'));var as=require(_0xa639('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xa639('0x13'))(_0xa639('0x14'));var utils=require('../../config/utils');var config=require(_0xa639('0x15'));var licenseUtil=require(_0xa639('0x16'));var db=require('../../mysqldb')['db'];config[_0xa639('0x17')]=_[_0xa639('0x18')](config[_0xa639('0x17')],{'host':_0xa639('0x19'),'port':0x18eb});var socket=require(_0xa639('0x1a'))(new Redis(config[_0xa639('0x17')]));require(_0xa639('0x1b'))['register'](socket);function respondWithStatusCode(_0x15605d,_0x1d5b9d){_0x1d5b9d=_0x1d5b9d||0xcc;return function(_0x2b0695){if(_0x2b0695){return _0x15605d[_0xa639('0x1c')](_0x1d5b9d);}return _0x15605d[_0xa639('0x1d')](_0x1d5b9d)[_0xa639('0x1e')]();};}function respondWithResult(_0x10c096,_0x134e42){_0x134e42=_0x134e42||0xc8;return function(_0x41adc7){if(_0x41adc7){return _0x10c096['status'](_0x134e42)[_0xa639('0x1f')](_0x41adc7);}};}function respondWithFilteredResult(_0x1d4f47,_0x5a3e6f){return function(_0x15002b){if(_0x15002b){var _0x2a27a5=typeof _0x5a3e6f[_0xa639('0x20')]===_0xa639('0x21')&&typeof _0x5a3e6f['limit']===_0xa639('0x21');var _0x108005=_0x15002b[_0xa639('0x22')];var _0x1b28f9=_0x2a27a5?0x0:_0x5a3e6f['offset'];var _0x2d8aa1=_0x2a27a5?_0x15002b[_0xa639('0x22')]:_0x5a3e6f[_0xa639('0x20')]+_0x5a3e6f[_0xa639('0x23')];var _0x20c03d;if(_0x2d8aa1>=_0x108005){_0x2d8aa1=_0x108005;_0x20c03d=0xc8;}else{_0x20c03d=0xce;}_0x1d4f47['status'](_0x20c03d);return _0x1d4f47[_0xa639('0x24')](_0xa639('0x25'),_0x1b28f9+'-'+_0x2d8aa1+'/'+_0x108005)[_0xa639('0x1f')](_0x15002b);}return null;};}function patchUpdates(_0x917ed4){return function(_0x51eaf0){try{jsonpatch[_0xa639('0x26')](_0x51eaf0,_0x917ed4,!![]);}catch(_0x597397){return BPromise[_0xa639('0x27')](_0x597397);}return _0x51eaf0[_0xa639('0x28')]();};}function saveUpdates(_0x3442cd,_0x5bd426){return function(_0x41eec4){if(_0x41eec4){return _0x41eec4['update'](_0x3442cd)[_0xa639('0x29')](function(_0x127fa9){return _0x127fa9;});}return null;};}function removeEntity(_0x10ff2b,_0x14a86d){return function(_0x56cb39){if(_0x56cb39){return _0x56cb39[_0xa639('0x2a')]()[_0xa639('0x29')](function(){_0x10ff2b[_0xa639('0x1d')](0xcc)[_0xa639('0x1e')]();});}};}function handleEntityNotFound(_0x5f0dd0,_0x2f6533){return function(_0xb3dbe2){if(!_0xb3dbe2){_0x5f0dd0[_0xa639('0x1c')](0x194);}return _0xb3dbe2;};}function handleError(_0x3b1302,_0x22de2e){_0x22de2e=_0x22de2e||0x1f4;return function(_0x343360){logger['error'](_0x343360['stack']);if(_0x343360[_0xa639('0x2b')]){delete _0x343360[_0xa639('0x2b')];}_0x3b1302[_0xa639('0x1d')](_0x22de2e)[_0xa639('0x2c')](_0x343360);};}exports[_0xa639('0x2d')]=function(_0x561103,_0x5151a1){var _0x280f4b={},_0x54b441={},_0x2c1143={'count':0x0,'rows':[]};var _0x5f0591=_[_0xa639('0x2e')](db[_0xa639('0x2f')][_0xa639('0x30')],function(_0x37f170){return{'name':_0x37f170[_0xa639('0x31')],'type':_0x37f170[_0xa639('0x32')][_0xa639('0x33')]};});_0x54b441[_0xa639('0x34')]=_['map'](_0x5f0591,_0xa639('0x2b'));_0x54b441['query']=_[_0xa639('0x35')](_0x561103[_0xa639('0x36')]);_0x54b441['filters']=_[_0xa639('0x37')](_0x54b441[_0xa639('0x34')],_0x54b441['query']);_0x280f4b['attributes']=_[_0xa639('0x37')](_0x54b441[_0xa639('0x34')],qs[_0xa639('0x38')](_0x561103[_0xa639('0x36')][_0xa639('0x38')]));_0x280f4b[_0xa639('0x39')]=_0x280f4b['attributes']['length']?_0x280f4b[_0xa639('0x39')]:_0x54b441[_0xa639('0x34')];if(!_0x561103['query'][_0xa639('0x3a')](_0xa639('0x3b'))){_0x280f4b[_0xa639('0x23')]=qs[_0xa639('0x23')](_0x561103['query'][_0xa639('0x23')]);_0x280f4b[_0xa639('0x20')]=qs[_0xa639('0x20')](_0x561103[_0xa639('0x36')]['offset']);}_0x280f4b[_0xa639('0x3c')]=qs[_0xa639('0x3d')](_0x561103[_0xa639('0x36')][_0xa639('0x3d')]);_0x280f4b[_0xa639('0x3e')]=qs[_0xa639('0x3f')](_[_0xa639('0x40')](_0x561103[_0xa639('0x36')],_0x54b441[_0xa639('0x3f')]),_0x5f0591);if(_0x561103[_0xa639('0x36')][_0xa639('0x41')]){_0x280f4b[_0xa639('0x3e')]=_[_0xa639('0x42')](_0x280f4b[_0xa639('0x3e')],{'$or':_[_0xa639('0x2e')](_0x5f0591,function(_0x35edfc){if(_0x35edfc['type']!==_0xa639('0x43')){var _0xaee33d={};_0xaee33d[_0x35edfc[_0xa639('0x2b')]]={'$like':'%'+_0x561103['query'][_0xa639('0x41')]+'%'};return _0xaee33d;}})});}_0x280f4b=_[_0xa639('0x42')]({},_0x280f4b,_0x561103[_0xa639('0x44')]);var _0x118e94={'where':_0x280f4b[_0xa639('0x3e')]};return db[_0xa639('0x2f')][_0xa639('0x22')](_0x118e94)['then'](function(_0x379143){_0x2c1143[_0xa639('0x22')]=_0x379143;if(_0x561103[_0xa639('0x36')]['includeAll']){_0x280f4b['include']=[{'all':!![]}];}return db['UserProfile'][_0xa639('0x45')](_0x280f4b);})[_0xa639('0x29')](function(_0x6c7dd7){_0x2c1143['rows']=_0x6c7dd7;return _0x2c1143;})['then'](respondWithFilteredResult(_0x5151a1,_0x280f4b))[_0xa639('0x46')](handleError(_0x5151a1,null));};exports[_0xa639('0x47')]=function(_0x4d691a,_0x420e02){var _0x527bfb={'raw':![],'where':{'id':_0x4d691a[_0xa639('0x48')]['id']}},_0x48a3fc={};_0x48a3fc[_0xa639('0x34')]=_['keys'](db[_0xa639('0x2f')][_0xa639('0x30')]);_0x48a3fc[_0xa639('0x36')]=_[_0xa639('0x35')](_0x4d691a[_0xa639('0x36')]);_0x48a3fc[_0xa639('0x3f')]=_[_0xa639('0x37')](_0x48a3fc[_0xa639('0x34')],_0x48a3fc[_0xa639('0x36')]);_0x527bfb[_0xa639('0x39')]=_[_0xa639('0x37')](_0x48a3fc['model'],qs[_0xa639('0x38')](_0x4d691a['query'][_0xa639('0x38')]));_0x527bfb[_0xa639('0x39')]=_0x527bfb[_0xa639('0x39')][_0xa639('0x49')]?_0x527bfb[_0xa639('0x39')]:_0x48a3fc[_0xa639('0x34')];if(_0x4d691a[_0xa639('0x36')]['includeAll']){_0x527bfb['include']=[{'all':!![]}];}_0x527bfb=_['merge']({},_0x527bfb,_0x4d691a[_0xa639('0x44')]);return db[_0xa639('0x2f')][_0xa639('0x4a')](_0x527bfb)['then'](handleEntityNotFound(_0x420e02,null))[_0xa639('0x29')](respondWithResult(_0x420e02,null))['catch'](handleError(_0x420e02,null));};exports['create']=function(_0x267551,_0xb805cc){return db[_0xa639('0x2f')][_0xa639('0x4b')](_0x267551['body'],{})['then'](respondWithResult(_0xb805cc,0xc9))['catch'](handleError(_0xb805cc,null));};exports[_0xa639('0x4c')]=function(_0x4cec20,_0x134438){var _0x348829={'where':{'id':_0x4cec20[_0xa639('0x48')]['id']}},_0x40f701={};_0x40f701[_0xa639('0x34')]=_[_0xa639('0x35')](db[_0xa639('0x2f')][_0xa639('0x30')]);_0x348829['attributes']=_[_0xa639('0x37')](_0x40f701[_0xa639('0x34')],qs[_0xa639('0x38')](_0x4cec20[_0xa639('0x36')][_0xa639('0x38')]));_0x348829['attributes']=_0x348829[_0xa639('0x39')][_0xa639('0x49')]?_0x348829['attributes']:_0x40f701[_0xa639('0x34')];if(_0x4cec20[_0xa639('0x36')][_0xa639('0x4d')]){_0x348829['include']=[{'all':!![]}];}_0x348829=_[_0xa639('0x42')]({},_0x348829,_0x4cec20[_0xa639('0x44')]);return db[_0xa639('0x2f')][_0xa639('0x4a')](_0x348829)[_0xa639('0x29')](handleEntityNotFound(_0x134438,null))[_0xa639('0x29')](function(_0xca405b){if(_0xca405b){var _0x39d36a=_0xca405b[_0xa639('0x4e')]({'plain':!![]});_0x39d36a=qs[_0xa639('0x4f')](_0x39d36a,['id',_0xa639('0x50'),_0xa639('0x51'),_0xa639('0x52')]);_0x4cec20[_0xa639('0x53')]=_[_0xa639('0x4f')](_0x4cec20['body'],['id',_0xa639('0x50'),'updatedAt']);return db[_0xa639('0x54')]['transaction'](function(_0x4bbbc9){return db[_0xa639('0x2f')][_0xa639('0x4b')](_['merge'](_0x39d36a,_0x4cec20[_0xa639('0x53')]),{'include':_0x4cec20[_0xa639('0x36')][_0xa639('0x4d')]?[{'all':!![]}]:undefined,'transaction':_0x4bbbc9})[_0xa639('0x29')](function(_0x12659a){var _0x4970e3=_0x12659a[_0xa639('0x4e')]({'plain':!![]});return db[_0xa639('0x55')][_0xa639('0x45')]({'where':{'userProfileId':_0x4cec20[_0xa639('0x48')]['id']},'raw':!![]})[_0xa639('0x29')](function(_0x4c1196){if(_0x4c1196){return BPromise[_0xa639('0x56')](_0x4c1196,function(_0x1a126a){return new BPromise(function(_0x1722db,_0x41e477){if(_0x1a126a['autoAssociation']===null||_0x1a126a[_0xa639('0x57')]===0x1)_0x1722db(null);return db[_0xa639('0x58')]['findAll']({'where':{'sectionId':_0x1a126a['id']},'raw':!![]})[_0xa639('0x29')](function(_0x3cac2){var _0x116c51=_[_0xa639('0x2e')](_0x3cac2,function(_0x52198b){return qs[_0xa639('0x4f')](_0x52198b,['id',_0xa639('0x50'),_0xa639('0x51'),_0xa639('0x59')]);});_0x1722db(_0x116c51);})['catch'](function(_0xcd2480){_0x41e477(_0xcd2480);});})[_0xa639('0x29')](function(_0x50d609){var _0x235423=qs['omit'](_0x1a126a,['id','createdAt',_0xa639('0x51')]);_0x235423[_0xa639('0x5a')]=_0x4970e3['id'];if(_0x50d609)_0x235423[_0xa639('0x5b')]=_0x50d609;return _0x235423;})[_0xa639('0x29')](function(_0x3c3a6a){return db[_0xa639('0x55')][_0xa639('0x4b')](_0x3c3a6a,{'include':[{'model':db[_0xa639('0x58')],'as':_0xa639('0x5b')}],'raw':!![],'transaction':_0x4bbbc9});});})[_0xa639('0x29')](function(){return _0x4970e3;});}});});});}})['then'](respondWithResult(_0x134438,0xc9))[_0xa639('0x46')](handleError(_0x134438,null));};exports[_0xa639('0x5c')]=function(_0x45540e,_0x5987d9){if(_0x45540e['body']['id']){delete _0x45540e[_0xa639('0x53')]['id'];}return db[_0xa639('0x2f')][_0xa639('0x4a')]({'where':{'id':_0x45540e['params']['id']}})['then'](handleEntityNotFound(_0x5987d9,null))['then'](saveUpdates(_0x45540e['body'],null))['then'](respondWithResult(_0x5987d9,null))['catch'](handleError(_0x5987d9,null));};exports['destroy']=function(_0xd5f395,_0x2f712a){return db['UserProfile'][_0xa639('0x4a')]({'where':{'id':_0xd5f395[_0xa639('0x48')]['id']}})[_0xa639('0x29')](handleEntityNotFound(_0x2f712a,null))[_0xa639('0x29')](removeEntity(_0x2f712a,null))['catch'](handleError(_0x2f712a,null));};exports[_0xa639('0x5d')]=function(_0x2bc5fa,_0x23a349){return db[_0xa639('0x2f')][_0xa639('0x5d')]()['then'](respondWithResult(_0x23a349,null))['catch'](handleError(_0x23a349,null));};exports[_0xa639('0x5e')]=function(_0x51679c,_0x50aed0){var _0x4b3156=_0x51679c[_0xa639('0x53')];return db[_0xa639('0x2f')]['find']({'where':{'id':_0x51679c[_0xa639('0x48')]['id']}})['then'](handleEntityNotFound(_0x50aed0,null))[_0xa639('0x29')](function(_0x2eef24){if(_0x2eef24){return db['sequelize'][_0xa639('0x5f')](function(_0x1d22bc){return db[_0xa639('0x55')]['destroy']({'where':{'userProfileId':_0x51679c[_0xa639('0x48')]['id'],'sectionId':_['map'](_0x4b3156,function(_0x4f63b6){return _0x4f63b6[_0xa639('0x59')];})},'transaction':_0x1d22bc})[_0xa639('0x29')](function(){var _0x36eaf9=_[_0xa639('0x2e')](_0x4b3156,function(_0x5660af){_0x5660af[_0xa639('0x5a')]=_0x51679c[_0xa639('0x48')]['id'];return _0x5660af;});var _0x24f2a9=[];return BPromise[_0xa639('0x56')](_0x36eaf9,function(_0x428209){return db[_0xa639('0x55')][_0xa639('0x4b')](_0x428209,{'include':[{'model':db['UserProfileResource'],'as':'Resources'}],'raw':!![],'transaction':_0x1d22bc})[_0xa639('0x29')](function(_0x504988){_0x24f2a9[_0xa639('0x60')](_0x504988[_0xa639('0x4e')]({'plain':!![]}));});})[_0xa639('0x29')](function(){return _0x24f2a9;});});});}})[_0xa639('0x29')](function(_0x2ece92){return _0x2ece92;})[_0xa639('0x29')](respondWithResult(_0x50aed0,null))[_0xa639('0x46')](handleError(_0x50aed0,null));};exports[_0xa639('0x61')]=function(_0x51055c,_0x31f8be){var _0x2c645e;return db[_0xa639('0x2f')][_0xa639('0x4a')]({'where':{'id':_0x51055c['params']['id']},'attributes':['id','name']})['then'](handleEntityNotFound(_0x31f8be,null))[_0xa639('0x29')](function(_0x23b019){if(_0x23b019){_0x2c645e=_0x23b019;return db[_0xa639('0x55')]['destroy']({'where':{'userProfileId':_0x51055c[_0xa639('0x48')]['id'],'sectionId':_0x51055c[_0xa639('0x36')][_0xa639('0x62')]}});}})[_0xa639('0x29')](function(){return _0x2c645e;})[_0xa639('0x29')](respondWithStatusCode(_0x31f8be,null))[_0xa639('0x46')](handleError(_0x31f8be,null));};exports[_0xa639('0x63')]=function(_0x418a0c,_0x1f6fa9){var _0x585c6b=[];var _0xb488cd=[];return db[_0xa639('0x55')][_0xa639('0x45')]({'where':{'userProfileId':_0x418a0c['params']['id']},'raw':!![]})[_0xa639('0x29')](function(_0x1ed3d7){_0x585c6b=_[_0xa639('0x41')](_0x1ed3d7,function(_0x509cb6){return _0x509cb6[_0xa639('0x64')]===0x1||_[_0xa639('0x65')]([0x3eb,0x709],_0x509cb6['sectionId']);});if(!_['isEmpty'](_0x585c6b)){return _[_0xa639('0x2e')](_0x585c6b,function(_0x43cb0f){return _0x43cb0f[_0xa639('0x59')];});}else{return;}})[_0xa639('0x29')](function(_0x55c55c){if(_0x55c55c)_0xb488cd=_0x55c55c;if(_[_0xa639('0x65')](_0xb488cd,0x64)){var _0x20d7f7=_[_0xa639('0x4a')](_0x585c6b,{'sectionId':0x64});return hasDefaultDashboard(_0x20d7f7)[_0xa639('0x29')](function(_0x283637){return _[_0xa639('0x2e')](_0x585c6b,function(_0x6f90e1){if(_0x6f90e1[_0xa639('0x59')]===0x64){_0x6f90e1['subsections']=_0x283637;}return _0x6f90e1;});});}else{return;}})[_0xa639('0x29')](function(_0x5e95f5){if(_0x5e95f5)_0x585c6b=_0x5e95f5;if(_[_0xa639('0x65')](_0xb488cd,0x3eb)){var _0x8eb182=_[_0xa639('0x4a')](_0x585c6b,{'sectionId':0x3eb});return getCustomDashboards(_0x8eb182)[_0xa639('0x29')](function(_0x53835c){return _[_0xa639('0x2e')](_0x585c6b,function(_0x31edcc){if(_0x8eb182['enabled']){if(_0x31edcc[_0xa639('0x59')]===0x3eb){_0x31edcc['subsections']=_0x53835c;}}else{if(_0x31edcc[_0xa639('0x59')]===0x64){_0x31edcc['subsections']=_0x53835c;}}return _0x31edcc;});});}else{return;}})['then'](function(_0x427c07){if(_0x427c07)_0x585c6b=_0x427c07;if(_[_0xa639('0x65')](_0xb488cd,0x709)){var _0x53096a=_['find'](_0x585c6b,{'sectionId':0x709});return getPlugins(_0x53096a)[_0xa639('0x29')](function(_0x4d1bd0){if(_0x53096a[_0xa639('0x64')]){return _['map'](_0x585c6b,function(_0x4d335a){if(_0x4d335a[_0xa639('0x59')]===0x709){_0x4d335a[_0xa639('0x66')]=_0x4d1bd0;}return _0x4d335a;});}else{var _0x5677a8={'sectionId':0x76c,'enabled':0x1,'subsections':_0x4d1bd0};var _0x594940=_[_0xa639('0x2e')](_0x585c6b);_0x594940[_0xa639('0x60')](_0x5677a8);return _0x594940;}});}else{return;}})[_0xa639('0x29')](function(_0x37b238){if(_0x37b238)_0x585c6b=_0x37b238;return _[_0xa639('0x41')](_0x585c6b,[_0xa639('0x64'),0x1]);})[_0xa639('0x29')](respondWithResult(_0x1f6fa9,null))[_0xa639('0x46')](handleError(_0x1f6fa9,null));};function hasDefaultDashboard(_0x533afc){var _0x398d1a=[0x65];return new BPromise(function(_0x1bc485,_0x494d0c){try{if(_0x533afc['autoAssociation']){_0x1bc485(_0x398d1a);}else{return db['UserProfileResource'][_0xa639('0x67')]({'where':{'sectionId':_0x533afc['id']},'raw':!![]})[_0xa639('0x29')](function(_0x5f35fe){_0x5f35fe?_0x1bc485(_0x398d1a):_0x1bc485();});}}catch(_0x440b0a){_0x494d0c(_0x440b0a);}});}function getCustomDashboards(_0x37a771){var _0x2d9dce=[];return new BPromise(function(_0x5b6cb0,_0xb9fdb6){try{if(_0x37a771[_0xa639('0x57')]){return db[_0xa639('0x68')][_0xa639('0x45')]({'raw':!![]})[_0xa639('0x29')](function(_0x31f56b){_0x31f56b['forEach'](function(_0x49e5db){_0x2d9dce[_0xa639('0x60')](_0x49e5db['id']+0x1869f);});_0x5b6cb0(_0x2d9dce);});}else{return db[_0xa639('0x58')][_0xa639('0x45')]({'where':{'sectionId':_0x37a771['id']},'raw':!![]})[_0xa639('0x29')](function(_0x3db06d){_0x3db06d['forEach'](function(_0x2d1bba){_0x2d9dce['push'](_0x2d1bba[_0xa639('0x69')]+0x1869f);});_0x5b6cb0(_0x2d9dce);});}}catch(_0x4a1156){_0xb9fdb6(_0x4a1156);}});}function getPlugins(_0x183a2d){var _0x49cd61=[];return new BPromise(function(_0x367a96,_0x52cfea){try{if(_0x183a2d[_0xa639('0x57')]){return db[_0xa639('0x6a')][_0xa639('0x45')]({'raw':!![]})[_0xa639('0x29')](function(_0x49d220){_0x49d220[_0xa639('0x6b')](function(_0xe503c8){_0x49cd61[_0xa639('0x60')](_0xe503c8['id']+0x15b38);});_0x367a96(_0x49cd61);});}else{return db['UserProfileResource'][_0xa639('0x45')]({'where':{'sectionId':_0x183a2d['id']},'raw':!![]})[_0xa639('0x29')](function(_0x931fd6){_0x931fd6[_0xa639('0x6b')](function(_0xd5be7f){_0x49cd61[_0xa639('0x60')](_0xd5be7f[_0xa639('0x69')]+0x15b38);});_0x367a96(_0x49cd61);});}}catch(_0x44a098){_0x52cfea(_0x44a098);}});}exports[_0xa639('0x6c')]=function(_0x15b939,_0x5a850c){return db[_0xa639('0x2f')][_0xa639('0x4a')]({'where':{'id':_0x15b939[_0xa639('0x48')]['id']}})[_0xa639('0x29')](handleEntityNotFound(_0x5a850c,null))[_0xa639('0x29')](function(_0x4e32dc){if(_0x4e32dc){return db[_0xa639('0x54')][_0xa639('0x5f')](function(_0x4fab4f){return db[_0xa639('0x55')]['findAll']({'where':{'userProfileId':_0x15b939[_0xa639('0x48')]['id']},'attributes':['id'],'raw':!![]})[_0xa639('0x29')](function(_0x37086){if(_0x37086){return db[_0xa639('0x55')]['destroy']({'where':{'userProfileId':_0x15b939[_0xa639('0x48')]['id'],'id':_[_0xa639('0x2e')](_0x37086,function(_0x5b31cd){return _0x5b31cd['id'];})},'transaction':_0x4fab4f});}})[_0xa639('0x29')](function(_0x2b0906){var _0x115c69=_[_0xa639('0x2e')](_0x15b939['body'],function(_0x3c1624){_0x3c1624[_0xa639('0x5a')]=_0x15b939[_0xa639('0x48')]['id'];return _0x3c1624;});return db[_0xa639('0x55')][_0xa639('0x6d')](_0x115c69,{'raw':!![],'transaction':_0x4fab4f});})['then'](function(_0x5323fd){var _0x421ad1=_[_0xa639('0x41')](_[_0xa639('0x2e')](_0x5323fd,function(_0x23c961){return _0x23c961['get']({'plain':!![]});}),{'includeAll':![]});if(_0x421ad1){return db[_0xa639('0x55')][_0xa639('0x45')]({'where':{'userProfileId':_0x15b939[_0xa639('0x48')]['id'],'sectionId':_[_0xa639('0x2e')](_0x421ad1,function(_0x5616ad){return _0x5616ad['sectionId'];})},'attributes':['id',_0xa639('0x59')],'raw':!![]})['then'](function(_0x143013){var _0x654b19=_[_0xa639('0x2e')](_0x15b939[_0xa639('0x53')],function(_0x5888f7){_0x5888f7[_0xa639('0x5a')]=_0x15b939[_0xa639('0x48')]['id'];return _0x5888f7;});return db['UserProfileResource'][_0xa639('0x6d')](_0x654b19,{'raw':!![],'transaction':_0x4fab4f});});}})['catch'](handleError(_0x5a850c,null));});}})[_0xa639('0x29')](function(_0x78833d){var _0x73f442=_[_0xa639('0x2e')](_0x78833d,function(_0xf43a3c){return _0xf43a3c['get']({'plain':!![]});});})[_0xa639('0x29')](respondWithResult(_0x5a850c,null))['catch'](handleError(_0x5a850c,null));};exports[_0xa639('0x6e')]=function(_0x80d234,_0x575def,_0x236a9e){return db[_0xa639('0x2f')][_0xa639('0x4a')]({'where':{'id':_0x80d234[_0xa639('0x48')]['id']}})[_0xa639('0x29')](handleEntityNotFound(_0x575def,null))[_0xa639('0x29')](function(_0x13e42e){if(_0x13e42e){return _0x13e42e[_0xa639('0x6e')](_0x80d234[_0xa639('0x36')][_0xa639('0x62')]);}})[_0xa639('0x29')](respondWithStatusCode(_0x575def,null))[_0xa639('0x46')](handleError(_0x575def,null));};exports['getResources']=function(_0x8338b5,_0x286f76){var _0x47f234={};if(!_0x8338b5[_0xa639('0x36')][_0xa639('0x6f')])throw new Error('Missing\x20section\x20parameter');if(!_0x8338b5[_0xa639('0x36')][_0xa639('0x3a')]('nolimit')){_0x47f234[_0xa639('0x23')]=qs[_0xa639('0x23')](_0x8338b5[_0xa639('0x36')][_0xa639('0x23')]);_0x47f234[_0xa639('0x20')]=qs[_0xa639('0x20')](_0x8338b5[_0xa639('0x36')][_0xa639('0x20')]);}return db['UserProfile'][_0xa639('0x4a')]({'where':{'id':_0x8338b5['params']['id']}})[_0xa639('0x29')](function(_0xe634c9){if(!_0xe634c9)throw new Error(_0xa639('0x70')+_0x8338b5[_0xa639('0x48')]['id']);return db[_0xa639('0x2f')][_0xa639('0x71')](_0x8338b5);})['then'](respondWithFilteredResult(_0x286f76,_0x47f234))[_0xa639('0x46')](handleError(_0x286f76,null));};