827c981dcd7544664b6b0760b509699891ebe851
[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 _0x15b8=['../../config/utils','../../config/environment','../../config/license/util','defaults','redis','./userProfile.socket','sendStatus','status','json','offset','undefined','limit','count','apply','reject','save','update','then','destroy','end','error','stack','name','send','index','map','UserProfile','fieldName','type','key','model','keys','query','filters','attributes','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','include','rows','catch','params','rawAttributes','intersection','fields','length','find','create','body','createdAt','updatedAt','crudPermissions','omit','sequelize','transaction','get','UserProfileSection','each','autoAssociation','UserProfileResource','findAll','describe','sectionId','userProfileId','Resources','push','getSections','enabled','includes','subsections','findOne','Dashboard','forEach','Plugin','resourceId','addResources','bulkCreate','removeResources','getResources','section','Missing\x20section\x20parameter','No\x20User\x20Profile\x20found\x20for\x20id\x20','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api'];(function(_0x672377,_0x236cb0){var _0x532f93=function(_0x2e9660){while(--_0x2e9660){_0x672377['push'](_0x672377['shift']());}};_0x532f93(++_0x236cb0);}(_0x15b8,0xcd));var _0x815b=function(_0x4fde08,_0x463a36){_0x4fde08=_0x4fde08-0x0;var _0x12e725=_0x15b8[_0x4fde08];return _0x12e725;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x815b('0x0'));var zipdir=require(_0x815b('0x1'));var jsonpatch=require(_0x815b('0x2'));var rp=require(_0x815b('0x3'));var moment=require(_0x815b('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x815b('0x5'));var util=require(_0x815b('0x6'));var path=require(_0x815b('0x7'));var sox=require(_0x815b('0x8'));var csv=require(_0x815b('0x9'));var ejs=require(_0x815b('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x815b('0xb'));var squel=require(_0x815b('0xc'));var crypto=require(_0x815b('0xd'));var jsforce=require(_0x815b('0xe'));var deskjs=require(_0x815b('0xf'));var toCsv=require(_0x815b('0x9'));var querystring=require(_0x815b('0x10'));var Papa=require(_0x815b('0x11'));var Redis=require(_0x815b('0x12'));var authService=require(_0x815b('0x13'));var qs=require(_0x815b('0x14'));var as=require(_0x815b('0x15'));var hardwareService=require(_0x815b('0x16'));var logger=require(_0x815b('0x17'))(_0x815b('0x18'));var utils=require(_0x815b('0x19'));var config=require(_0x815b('0x1a'));var licenseUtil=require(_0x815b('0x1b'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x815b('0x1c')](config[_0x815b('0x1d')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x815b('0x1e'))['register'](socket);function respondWithStatusCode(_0x5814ee,_0x3dbba1){_0x3dbba1=_0x3dbba1||0xcc;return function(_0xba812b){if(_0xba812b){return _0x5814ee[_0x815b('0x1f')](_0x3dbba1);}return _0x5814ee['status'](_0x3dbba1)['end']();};}function respondWithResult(_0x14f14f,_0xf2d146){_0xf2d146=_0xf2d146||0xc8;return function(_0x3c2a38){if(_0x3c2a38){return _0x14f14f[_0x815b('0x20')](_0xf2d146)[_0x815b('0x21')](_0x3c2a38);}};}function respondWithFilteredResult(_0x114305,_0x58c4c7){return function(_0x92d86a){if(_0x92d86a){var _0x26a8a3=typeof _0x58c4c7[_0x815b('0x22')]===_0x815b('0x23')&&typeof _0x58c4c7[_0x815b('0x24')]===_0x815b('0x23');var _0x4cd48b=_0x92d86a[_0x815b('0x25')];var _0x348faa=_0x26a8a3?0x0:_0x58c4c7[_0x815b('0x22')];var _0x7418d=_0x26a8a3?_0x92d86a[_0x815b('0x25')]:_0x58c4c7['offset']+_0x58c4c7[_0x815b('0x24')];var _0x2f7f8b;if(_0x7418d>=_0x4cd48b){_0x7418d=_0x4cd48b;_0x2f7f8b=0xc8;}else{_0x2f7f8b=0xce;}_0x114305[_0x815b('0x20')](_0x2f7f8b);return _0x114305['set']('Content-Range',_0x348faa+'-'+_0x7418d+'/'+_0x4cd48b)[_0x815b('0x21')](_0x92d86a);}return null;};}function patchUpdates(_0x2923ed){return function(_0x30208e){try{jsonpatch[_0x815b('0x26')](_0x30208e,_0x2923ed,!![]);}catch(_0xe36d21){return BPromise[_0x815b('0x27')](_0xe36d21);}return _0x30208e[_0x815b('0x28')]();};}function saveUpdates(_0x480c89,_0x4a2431){return function(_0x3be736){if(_0x3be736){return _0x3be736[_0x815b('0x29')](_0x480c89)[_0x815b('0x2a')](function(_0x15098a){return _0x15098a;});}return null;};}function removeEntity(_0x1486c6,_0x3115c7){return function(_0x37d3a1){if(_0x37d3a1){return _0x37d3a1[_0x815b('0x2b')]()['then'](function(){_0x1486c6[_0x815b('0x20')](0xcc)[_0x815b('0x2c')]();});}};}function handleEntityNotFound(_0x299898,_0x522b9e){return function(_0x8e4578){if(!_0x8e4578){_0x299898[_0x815b('0x1f')](0x194);}return _0x8e4578;};}function handleError(_0x57d084,_0x47e72f){_0x47e72f=_0x47e72f||0x1f4;return function(_0x2b02cd){logger[_0x815b('0x2d')](_0x2b02cd[_0x815b('0x2e')]);if(_0x2b02cd[_0x815b('0x2f')]){delete _0x2b02cd[_0x815b('0x2f')];}_0x57d084[_0x815b('0x20')](_0x47e72f)[_0x815b('0x30')](_0x2b02cd);};}exports[_0x815b('0x31')]=function(_0x3f11bd,_0x505a91){var _0x1ed8f1={},_0x2ba2a3={},_0xa007e3={'count':0x0,'rows':[]};var _0x36a799=_[_0x815b('0x32')](db[_0x815b('0x33')]['rawAttributes'],function(_0xbd756b){return{'name':_0xbd756b[_0x815b('0x34')],'type':_0xbd756b[_0x815b('0x35')][_0x815b('0x36')]};});_0x2ba2a3[_0x815b('0x37')]=_['map'](_0x36a799,_0x815b('0x2f'));_0x2ba2a3['query']=_[_0x815b('0x38')](_0x3f11bd[_0x815b('0x39')]);_0x2ba2a3[_0x815b('0x3a')]=_['intersection'](_0x2ba2a3[_0x815b('0x37')],_0x2ba2a3['query']);_0x1ed8f1['attributes']=_['intersection'](_0x2ba2a3[_0x815b('0x37')],qs['fields'](_0x3f11bd[_0x815b('0x39')]['fields']));_0x1ed8f1[_0x815b('0x3b')]=_0x1ed8f1[_0x815b('0x3b')]['length']?_0x1ed8f1[_0x815b('0x3b')]:_0x2ba2a3['model'];if(!_0x3f11bd['query'][_0x815b('0x3c')](_0x815b('0x3d'))){_0x1ed8f1[_0x815b('0x24')]=qs['limit'](_0x3f11bd[_0x815b('0x39')][_0x815b('0x24')]);_0x1ed8f1[_0x815b('0x22')]=qs['offset'](_0x3f11bd[_0x815b('0x39')][_0x815b('0x22')]);}_0x1ed8f1[_0x815b('0x3e')]=qs['sort'](_0x3f11bd[_0x815b('0x39')][_0x815b('0x3f')]);_0x1ed8f1[_0x815b('0x40')]=qs[_0x815b('0x3a')](_[_0x815b('0x41')](_0x3f11bd['query'],_0x2ba2a3['filters']),_0x36a799);if(_0x3f11bd[_0x815b('0x39')]['filter']){_0x1ed8f1['where']=_[_0x815b('0x42')](_0x1ed8f1[_0x815b('0x40')],{'$or':_['map'](_0x36a799,function(_0x1fd268){if(_0x1fd268[_0x815b('0x35')]!==_0x815b('0x43')){var _0x2c8749={};_0x2c8749[_0x1fd268[_0x815b('0x2f')]]={'$like':'%'+_0x3f11bd[_0x815b('0x39')][_0x815b('0x44')]+'%'};return _0x2c8749;}})});}_0x1ed8f1=_['merge']({},_0x1ed8f1,_0x3f11bd[_0x815b('0x45')]);var _0x41ba11={'where':_0x1ed8f1[_0x815b('0x40')]};return db[_0x815b('0x33')][_0x815b('0x25')](_0x41ba11)[_0x815b('0x2a')](function(_0x58645b){_0xa007e3[_0x815b('0x25')]=_0x58645b;if(_0x3f11bd[_0x815b('0x39')][_0x815b('0x46')]){_0x1ed8f1[_0x815b('0x47')]=[{'all':!![]}];}return db[_0x815b('0x33')]['findAll'](_0x1ed8f1);})[_0x815b('0x2a')](function(_0x44a8a7){_0xa007e3[_0x815b('0x48')]=_0x44a8a7;return _0xa007e3;})[_0x815b('0x2a')](respondWithFilteredResult(_0x505a91,_0x1ed8f1))[_0x815b('0x49')](handleError(_0x505a91,null));};exports['show']=function(_0x113fe0,_0x26c98c){var _0x40c4e8={'raw':![],'where':{'id':_0x113fe0[_0x815b('0x4a')]['id']}},_0x1071c1={};_0x1071c1[_0x815b('0x37')]=_[_0x815b('0x38')](db['UserProfile'][_0x815b('0x4b')]);_0x1071c1['query']=_[_0x815b('0x38')](_0x113fe0[_0x815b('0x39')]);_0x1071c1[_0x815b('0x3a')]=_[_0x815b('0x4c')](_0x1071c1[_0x815b('0x37')],_0x1071c1[_0x815b('0x39')]);_0x40c4e8[_0x815b('0x3b')]=_['intersection'](_0x1071c1[_0x815b('0x37')],qs[_0x815b('0x4d')](_0x113fe0['query'][_0x815b('0x4d')]));_0x40c4e8[_0x815b('0x3b')]=_0x40c4e8[_0x815b('0x3b')][_0x815b('0x4e')]?_0x40c4e8[_0x815b('0x3b')]:_0x1071c1[_0x815b('0x37')];if(_0x113fe0[_0x815b('0x39')][_0x815b('0x46')]){_0x40c4e8['include']=[{'all':!![]}];}_0x40c4e8=_[_0x815b('0x42')]({},_0x40c4e8,_0x113fe0[_0x815b('0x45')]);return db[_0x815b('0x33')][_0x815b('0x4f')](_0x40c4e8)['then'](handleEntityNotFound(_0x26c98c,null))[_0x815b('0x2a')](respondWithResult(_0x26c98c,null))[_0x815b('0x49')](handleError(_0x26c98c,null));};exports[_0x815b('0x50')]=function(_0x37874d,_0x1fd570){return db[_0x815b('0x33')]['create'](_0x37874d[_0x815b('0x51')],{})[_0x815b('0x2a')](respondWithResult(_0x1fd570,0xc9))[_0x815b('0x49')](handleError(_0x1fd570,null));};exports['clone']=function(_0x5cd7d8,_0x56e5cb){var _0x4bc43f={'where':{'id':_0x5cd7d8['params']['id']}},_0x372128={};_0x372128[_0x815b('0x37')]=_[_0x815b('0x38')](db['UserProfile'][_0x815b('0x4b')]);_0x4bc43f[_0x815b('0x3b')]=_[_0x815b('0x4c')](_0x372128[_0x815b('0x37')],qs[_0x815b('0x4d')](_0x5cd7d8[_0x815b('0x39')][_0x815b('0x4d')]));_0x4bc43f['attributes']=_0x4bc43f[_0x815b('0x3b')][_0x815b('0x4e')]?_0x4bc43f[_0x815b('0x3b')]:_0x372128[_0x815b('0x37')];if(_0x5cd7d8['query'][_0x815b('0x46')]){_0x4bc43f[_0x815b('0x47')]=[{'all':!![]}];}_0x4bc43f=_[_0x815b('0x42')]({},_0x4bc43f,_0x5cd7d8[_0x815b('0x45')]);return db[_0x815b('0x33')]['find'](_0x4bc43f)['then'](handleEntityNotFound(_0x56e5cb,null))['then'](function(_0x1a9291){if(_0x1a9291){var _0x59582c=_0x1a9291['get']({'plain':!![]});_0x59582c=qs['omit'](_0x59582c,['id',_0x815b('0x52'),_0x815b('0x53'),_0x815b('0x54')]);_0x5cd7d8[_0x815b('0x51')]=_[_0x815b('0x55')](_0x5cd7d8[_0x815b('0x51')],['id','createdAt',_0x815b('0x53')]);return db[_0x815b('0x56')][_0x815b('0x57')](function(_0x4060ea){return db['UserProfile'][_0x815b('0x50')](_['merge'](_0x59582c,_0x5cd7d8[_0x815b('0x51')]),{'include':_0x5cd7d8[_0x815b('0x39')]['includeAll']?[{'all':!![]}]:undefined,'transaction':_0x4060ea})[_0x815b('0x2a')](function(_0x29dc62){var _0x12aebf=_0x29dc62[_0x815b('0x58')]({'plain':!![]});return db[_0x815b('0x59')]['findAll']({'where':{'userProfileId':_0x5cd7d8[_0x815b('0x4a')]['id']},'raw':!![]})[_0x815b('0x2a')](function(_0x374f62){if(_0x374f62){return BPromise[_0x815b('0x5a')](_0x374f62,function(_0x39c780){return new BPromise(function(_0x122bba,_0x3ba48a){if(_0x39c780[_0x815b('0x5b')]===null||_0x39c780[_0x815b('0x5b')]===0x1)_0x122bba(null);return db[_0x815b('0x5c')][_0x815b('0x5d')]({'where':{'sectionId':_0x39c780['id']},'raw':!![]})[_0x815b('0x2a')](function(_0x244202){var _0x283d63=_[_0x815b('0x32')](_0x244202,function(_0xabe6a5){return qs['omit'](_0xabe6a5,['id',_0x815b('0x52'),_0x815b('0x53'),'sectionId']);});_0x122bba(_0x283d63);})[_0x815b('0x49')](function(_0x11e84e){_0x3ba48a(_0x11e84e);});})[_0x815b('0x2a')](function(_0x5d9bb0){var _0x28f860=qs[_0x815b('0x55')](_0x39c780,['id',_0x815b('0x52'),_0x815b('0x53')]);_0x28f860['userProfileId']=_0x12aebf['id'];if(_0x5d9bb0)_0x28f860['Resources']=_0x5d9bb0;return _0x28f860;})[_0x815b('0x2a')](function(_0x2704e7){return db[_0x815b('0x59')][_0x815b('0x50')](_0x2704e7,{'include':[{'model':db[_0x815b('0x5c')],'as':'Resources'}],'raw':!![],'transaction':_0x4060ea});});})[_0x815b('0x2a')](function(){return _0x12aebf;});}});});});}})[_0x815b('0x2a')](respondWithResult(_0x56e5cb,0xc9))[_0x815b('0x49')](handleError(_0x56e5cb,null));};exports[_0x815b('0x29')]=function(_0x3e87f9,_0x3c5427){if(_0x3e87f9[_0x815b('0x51')]['id']){delete _0x3e87f9[_0x815b('0x51')]['id'];}return db['UserProfile']['find']({'where':{'id':_0x3e87f9[_0x815b('0x4a')]['id']}})[_0x815b('0x2a')](handleEntityNotFound(_0x3c5427,null))[_0x815b('0x2a')](saveUpdates(_0x3e87f9[_0x815b('0x51')],null))[_0x815b('0x2a')](respondWithResult(_0x3c5427,null))[_0x815b('0x49')](handleError(_0x3c5427,null));};exports[_0x815b('0x2b')]=function(_0x3bdfa7,_0x2b15e4){return db[_0x815b('0x33')][_0x815b('0x4f')]({'where':{'id':_0x3bdfa7[_0x815b('0x4a')]['id']}})['then'](handleEntityNotFound(_0x2b15e4,null))[_0x815b('0x2a')](removeEntity(_0x2b15e4,null))[_0x815b('0x49')](handleError(_0x2b15e4,null));};exports['describe']=function(_0x330967,_0x4ea990){return db[_0x815b('0x33')][_0x815b('0x5e')]()[_0x815b('0x2a')](respondWithResult(_0x4ea990,null))[_0x815b('0x49')](handleError(_0x4ea990,null));};exports['addSections']=function(_0xb17ffe,_0x31aa10){var _0x20bb46=_0xb17ffe[_0x815b('0x51')];return db[_0x815b('0x33')][_0x815b('0x4f')]({'where':{'id':_0xb17ffe[_0x815b('0x4a')]['id']}})[_0x815b('0x2a')](handleEntityNotFound(_0x31aa10,null))[_0x815b('0x2a')](function(_0x2dded0){if(_0x2dded0){return db[_0x815b('0x56')][_0x815b('0x57')](function(_0xcc50b1){return db[_0x815b('0x59')][_0x815b('0x2b')]({'where':{'userProfileId':_0xb17ffe[_0x815b('0x4a')]['id'],'sectionId':_[_0x815b('0x32')](_0x20bb46,function(_0x222a3c){return _0x222a3c[_0x815b('0x5f')];})},'transaction':_0xcc50b1})['then'](function(){var _0x707d06=_[_0x815b('0x32')](_0x20bb46,function(_0x535b0e){_0x535b0e[_0x815b('0x60')]=_0xb17ffe['params']['id'];return _0x535b0e;});var _0x22ef93=[];return BPromise[_0x815b('0x5a')](_0x707d06,function(_0x15af54){return db[_0x815b('0x59')][_0x815b('0x50')](_0x15af54,{'include':[{'model':db[_0x815b('0x5c')],'as':_0x815b('0x61')}],'raw':!![],'transaction':_0xcc50b1})[_0x815b('0x2a')](function(_0x12d821){_0x22ef93[_0x815b('0x62')](_0x12d821['get']({'plain':!![]}));});})[_0x815b('0x2a')](function(){return _0x22ef93;});});});}})[_0x815b('0x2a')](function(_0x5e5164){return _0x5e5164;})[_0x815b('0x2a')](respondWithResult(_0x31aa10,null))[_0x815b('0x49')](handleError(_0x31aa10,null));};exports['removeSections']=function(_0x5e1dee,_0x59c9d3){var _0x4ad374;return db[_0x815b('0x33')][_0x815b('0x4f')]({'where':{'id':_0x5e1dee['params']['id']},'attributes':['id',_0x815b('0x2f')]})[_0x815b('0x2a')](handleEntityNotFound(_0x59c9d3,null))[_0x815b('0x2a')](function(_0x357487){if(_0x357487){_0x4ad374=_0x357487;return db['UserProfileSection'][_0x815b('0x2b')]({'where':{'userProfileId':_0x5e1dee[_0x815b('0x4a')]['id'],'sectionId':_0x5e1dee['query']['ids']}});}})[_0x815b('0x2a')](function(){return _0x4ad374;})[_0x815b('0x2a')](respondWithStatusCode(_0x59c9d3,null))[_0x815b('0x49')](handleError(_0x59c9d3,null));};exports[_0x815b('0x63')]=function(_0x2a8520,_0x19b812){var _0x44bf28=[];var _0x264d22=[];return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x2a8520[_0x815b('0x4a')]['id']},'raw':!![]})[_0x815b('0x2a')](function(_0x99f338){_0x44bf28=_[_0x815b('0x44')](_0x99f338,function(_0x373012){return _0x373012[_0x815b('0x64')]===0x1||_[_0x815b('0x65')]([0x3eb,0x709],_0x373012[_0x815b('0x5f')]);});if(!_['isEmpty'](_0x44bf28)){return _[_0x815b('0x32')](_0x44bf28,function(_0x3aa2fc){return _0x3aa2fc['sectionId'];});}else{return;}})['then'](function(_0x4fceef){if(_0x4fceef)_0x264d22=_0x4fceef;if(_[_0x815b('0x65')](_0x264d22,0x64)){var _0x20b228=_['find'](_0x44bf28,{'sectionId':0x64});return hasDefaultDashboard(_0x20b228)[_0x815b('0x2a')](function(_0x158917){return _[_0x815b('0x32')](_0x44bf28,function(_0x2e46f5){if(_0x2e46f5[_0x815b('0x5f')]===0x64){_0x2e46f5['subsections']=_0x158917;}return _0x2e46f5;});});}else{return;}})['then'](function(_0x779ebd){if(_0x779ebd)_0x44bf28=_0x779ebd;if(_[_0x815b('0x65')](_0x264d22,0x3eb)){var _0x23aa9d=_['find'](_0x44bf28,{'sectionId':0x3eb});return getCustomDashboards(_0x23aa9d)[_0x815b('0x2a')](function(_0x4fbe2){return _[_0x815b('0x32')](_0x44bf28,function(_0x235423){if(_0x23aa9d[_0x815b('0x64')]){if(_0x235423['sectionId']===0x3eb){_0x235423[_0x815b('0x66')]=_0x4fbe2;}}else{if(_0x235423['sectionId']===0x64){_0x235423[_0x815b('0x66')]=_0x4fbe2;}}return _0x235423;});});}else{return;}})[_0x815b('0x2a')](function(_0x437840){if(_0x437840)_0x44bf28=_0x437840;if(_['includes'](_0x264d22,0x709)){var _0x4b5a29=_[_0x815b('0x4f')](_0x44bf28,{'sectionId':0x709});return getPlugins(_0x4b5a29)[_0x815b('0x2a')](function(_0x5abf9c){if(_0x4b5a29[_0x815b('0x64')]){return _['map'](_0x44bf28,function(_0x9a90){if(_0x9a90['sectionId']===0x709){_0x9a90[_0x815b('0x66')]=_0x5abf9c;}return _0x9a90;});}else{var _0x1084f5={'sectionId':0x76c,'enabled':0x1,'subsections':_0x5abf9c};var _0x2087cc=_[_0x815b('0x32')](_0x44bf28);_0x2087cc['push'](_0x1084f5);return _0x2087cc;}});}else{return;}})[_0x815b('0x2a')](function(_0x4d6680){if(_0x4d6680)_0x44bf28=_0x4d6680;return _['filter'](_0x44bf28,[_0x815b('0x64'),0x1]);})[_0x815b('0x2a')](respondWithResult(_0x19b812,null))[_0x815b('0x49')](handleError(_0x19b812,null));};function hasDefaultDashboard(_0x468868){var _0x3d5f98=[0x65];return new BPromise(function(_0x2e8954,_0x5eea23){try{if(_0x468868[_0x815b('0x5b')]){_0x2e8954(_0x3d5f98);}else{return db[_0x815b('0x5c')][_0x815b('0x67')]({'where':{'sectionId':_0x468868['id']},'raw':!![]})['then'](function(_0x206040){_0x206040?_0x2e8954(_0x3d5f98):_0x2e8954();});}}catch(_0x4cd347){_0x5eea23(_0x4cd347);}});}function getCustomDashboards(_0x4a3056){var _0x36b070=[];return new BPromise(function(_0xe7a8b4,_0x4fcbcb){try{if(_0x4a3056[_0x815b('0x5b')]){return db[_0x815b('0x68')][_0x815b('0x5d')]({'raw':!![]})[_0x815b('0x2a')](function(_0x500280){_0x500280[_0x815b('0x69')](function(_0x3d52b5){_0x36b070[_0x815b('0x62')](_0x3d52b5['id']+0x1869f);});_0xe7a8b4(_0x36b070);});}else{return db[_0x815b('0x5c')]['findAll']({'where':{'sectionId':_0x4a3056['id']},'raw':!![]})[_0x815b('0x2a')](function(_0x317ed){_0x317ed['forEach'](function(_0x10a6ec){_0x36b070[_0x815b('0x62')](_0x10a6ec['resourceId']+0x1869f);});_0xe7a8b4(_0x36b070);});}}catch(_0x118434){_0x4fcbcb(_0x118434);}});}function getPlugins(_0x3df507){var _0x4e413b=[];return new BPromise(function(_0x4ef6f5,_0x142007){try{if(_0x3df507['autoAssociation']){return db[_0x815b('0x6a')]['findAll']({'raw':!![]})[_0x815b('0x2a')](function(_0x43e586){_0x43e586[_0x815b('0x69')](function(_0x1b293a){_0x4e413b[_0x815b('0x62')](_0x1b293a['id']+0x15b38);});_0x4ef6f5(_0x4e413b);});}else{return db[_0x815b('0x5c')][_0x815b('0x5d')]({'where':{'sectionId':_0x3df507['id']},'raw':!![]})[_0x815b('0x2a')](function(_0x237689){_0x237689[_0x815b('0x69')](function(_0x577751){_0x4e413b[_0x815b('0x62')](_0x577751[_0x815b('0x6b')]+0x15b38);});_0x4ef6f5(_0x4e413b);});}}catch(_0x4381d5){_0x142007(_0x4381d5);}});}exports[_0x815b('0x6c')]=function(_0x3117d9,_0x2a33cc){return db['UserProfile']['find']({'where':{'id':_0x3117d9['params']['id']}})[_0x815b('0x2a')](handleEntityNotFound(_0x2a33cc,null))[_0x815b('0x2a')](function(_0x161607){if(_0x161607){return db[_0x815b('0x56')][_0x815b('0x57')](function(_0x8a64fa){return db['UserProfileSection'][_0x815b('0x5d')]({'where':{'userProfileId':_0x3117d9[_0x815b('0x4a')]['id']},'attributes':['id'],'raw':!![]})['then'](function(_0x434ca5){if(_0x434ca5){return db[_0x815b('0x59')][_0x815b('0x2b')]({'where':{'userProfileId':_0x3117d9[_0x815b('0x4a')]['id'],'id':_[_0x815b('0x32')](_0x434ca5,function(_0xad05e8){return _0xad05e8['id'];})},'transaction':_0x8a64fa});}})[_0x815b('0x2a')](function(_0x48dfdc){var _0x48a7a8=_[_0x815b('0x32')](_0x3117d9[_0x815b('0x51')],function(_0x1e5a7e){_0x1e5a7e[_0x815b('0x60')]=_0x3117d9[_0x815b('0x4a')]['id'];return _0x1e5a7e;});return db[_0x815b('0x59')][_0x815b('0x6d')](_0x48a7a8,{'raw':!![],'transaction':_0x8a64fa});})['then'](function(_0x12957c){var _0x3f373f=_[_0x815b('0x44')](_[_0x815b('0x32')](_0x12957c,function(_0x1bdbb2){return _0x1bdbb2[_0x815b('0x58')]({'plain':!![]});}),{'includeAll':![]});if(_0x3f373f){return db[_0x815b('0x59')]['findAll']({'where':{'userProfileId':_0x3117d9['params']['id'],'sectionId':_[_0x815b('0x32')](_0x3f373f,function(_0x5e9ea0){return _0x5e9ea0[_0x815b('0x5f')];})},'attributes':['id','sectionId'],'raw':!![]})[_0x815b('0x2a')](function(_0x257bb3){var _0x2cc11d=_[_0x815b('0x32')](_0x3117d9[_0x815b('0x51')],function(_0x5b23ec){_0x5b23ec[_0x815b('0x60')]=_0x3117d9[_0x815b('0x4a')]['id'];return _0x5b23ec;});return db['UserProfileResource'][_0x815b('0x6d')](_0x2cc11d,{'raw':!![],'transaction':_0x8a64fa});});}})[_0x815b('0x49')](handleError(_0x2a33cc,null));});}})[_0x815b('0x2a')](function(_0xe0a249){var _0x530828=_['map'](_0xe0a249,function(_0x59cffd){return _0x59cffd[_0x815b('0x58')]({'plain':!![]});});})[_0x815b('0x2a')](respondWithResult(_0x2a33cc,null))[_0x815b('0x49')](handleError(_0x2a33cc,null));};exports[_0x815b('0x6e')]=function(_0x2c5d16,_0xeddf18,_0x2390c3){return db[_0x815b('0x33')][_0x815b('0x4f')]({'where':{'id':_0x2c5d16['params']['id']}})['then'](handleEntityNotFound(_0xeddf18,null))['then'](function(_0x5c6e11){if(_0x5c6e11){return _0x5c6e11['removeResources'](_0x2c5d16[_0x815b('0x39')]['ids']);}})[_0x815b('0x2a')](respondWithStatusCode(_0xeddf18,null))[_0x815b('0x49')](handleError(_0xeddf18,null));};exports[_0x815b('0x6f')]=function(_0x22a54e,_0x3517cb){var _0x492825={};if(!_0x22a54e[_0x815b('0x39')][_0x815b('0x70')])throw new Error(_0x815b('0x71'));if(!_0x22a54e[_0x815b('0x39')][_0x815b('0x3c')](_0x815b('0x3d'))){_0x492825[_0x815b('0x24')]=qs[_0x815b('0x24')](_0x22a54e['query'][_0x815b('0x24')]);_0x492825[_0x815b('0x22')]=qs[_0x815b('0x22')](_0x22a54e[_0x815b('0x39')][_0x815b('0x22')]);}return db[_0x815b('0x33')][_0x815b('0x4f')]({'where':{'id':_0x22a54e[_0x815b('0x4a')]['id']}})[_0x815b('0x2a')](function(_0x4376fe){if(!_0x4376fe)throw new Error(_0x815b('0x72')+_0x22a54e[_0x815b('0x4a')]['id']);return db[_0x815b('0x33')]['getResources'](_0x22a54e);})[_0x815b('0x2a')](respondWithFilteredResult(_0x3517cb,_0x492825))[_0x815b('0x49')](handleError(_0x3517cb,null));};