edac77d3b39d1d33a0a8db5d959fffef5ba4faf6
[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 _0x11c1=['mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./userProfile.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','destroy','error','name','send','index','UserProfile','rawAttributes','fieldName','type','key','model','map','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','then','rows','show','params','find','catch','create','body','clone','intersection','get','omit','updatedAt','crudPermissions','createdAt','UserProfileSection','each','autoAssociation','UserProfileResource','sectionId','userProfileId','Resources','describe','push','removeSections','getSections','enabled','includes','isEmpty','subsections','findOne','forEach','resourceId','Plugin','bulkCreate','removeResources','ids','getResources','section','Missing\x20section\x20parameter','No\x20User\x20Profile\x20found\x20for\x20id\x20','eml-format','zip-dir','fast-json-patch','request-promise','moment'];(function(_0xbd08b4,_0x4790ed){var _0x314f1e=function(_0x161589){while(--_0x161589){_0xbd08b4['push'](_0xbd08b4['shift']());}};_0x314f1e(++_0x4790ed);}(_0x11c1,0x1cb));var _0x111c=function(_0x949e4c,_0x24e0d7){_0x949e4c=_0x949e4c-0x0;var _0x15102b=_0x11c1[_0x949e4c];return _0x15102b;};'use strict';var emlformat=require(_0x111c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x111c('0x1'));var jsonpatch=require(_0x111c('0x2'));var rp=require(_0x111c('0x3'));var moment=require(_0x111c('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x111c('0x5'));var util=require(_0x111c('0x6'));var path=require(_0x111c('0x7'));var sox=require(_0x111c('0x8'));var csv=require(_0x111c('0x9'));var ejs=require(_0x111c('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x111c('0xb'));var squel=require(_0x111c('0xc'));var crypto=require(_0x111c('0xd'));var jsforce=require(_0x111c('0xe'));var deskjs=require(_0x111c('0xf'));var toCsv=require(_0x111c('0x9'));var querystring=require(_0x111c('0x10'));var Papa=require(_0x111c('0x11'));var Redis=require(_0x111c('0x12'));var authService=require(_0x111c('0x13'));var qs=require(_0x111c('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x111c('0x15'));var config=require(_0x111c('0x16'));var licenseUtil=require(_0x111c('0x17'));var db=require(_0x111c('0x18'))['db'];config[_0x111c('0x19')]=_[_0x111c('0x1a')](config[_0x111c('0x19')],{'host':_0x111c('0x1b'),'port':0x18eb});var socket=require(_0x111c('0x1c'))(new Redis(config[_0x111c('0x19')]));require(_0x111c('0x1d'))[_0x111c('0x1e')](socket);function respondWithStatusCode(_0x3ad856,_0x401242){_0x401242=_0x401242||0xcc;return function(_0x45340e){if(_0x45340e){return _0x3ad856[_0x111c('0x1f')](_0x401242);}return _0x3ad856[_0x111c('0x20')](_0x401242)[_0x111c('0x21')]();};}function respondWithResult(_0x3babf6,_0x49e12e){_0x49e12e=_0x49e12e||0xc8;return function(_0x519367){if(_0x519367){return _0x3babf6['status'](_0x49e12e)[_0x111c('0x22')](_0x519367);}};}function respondWithFilteredResult(_0x4bd3d8,_0x4bbf5a){return function(_0x198249){if(_0x198249){var _0x2d92e0=typeof _0x4bbf5a[_0x111c('0x23')]===_0x111c('0x24')&&typeof _0x4bbf5a[_0x111c('0x25')]===_0x111c('0x24');var _0x5b9171=_0x198249[_0x111c('0x26')];var _0x38a66c=_0x2d92e0?0x0:_0x4bbf5a['offset'];var _0x43a45d=_0x2d92e0?_0x198249[_0x111c('0x26')]:_0x4bbf5a[_0x111c('0x23')]+_0x4bbf5a['limit'];var _0x39ebe3;if(_0x43a45d>=_0x5b9171){_0x43a45d=_0x5b9171;_0x39ebe3=0xc8;}else{_0x39ebe3=0xce;}_0x4bd3d8[_0x111c('0x20')](_0x39ebe3);return _0x4bd3d8[_0x111c('0x27')]('Content-Range',_0x38a66c+'-'+_0x43a45d+'/'+_0x5b9171)[_0x111c('0x22')](_0x198249);}return null;};}function patchUpdates(_0x17d02b){return function(_0x2d52bc){try{jsonpatch[_0x111c('0x28')](_0x2d52bc,_0x17d02b,!![]);}catch(_0x2c4c6b){return BPromise[_0x111c('0x29')](_0x2c4c6b);}return _0x2d52bc[_0x111c('0x2a')]();};}function saveUpdates(_0x3694b5,_0x9a580c){return function(_0x527705){if(_0x527705){return _0x527705[_0x111c('0x2b')](_0x3694b5)['then'](function(_0x26b3b8){return _0x26b3b8;});}return null;};}function removeEntity(_0x2576b8,_0x5764b9){return function(_0x240557){if(_0x240557){return _0x240557[_0x111c('0x2c')]()['then'](function(){_0x2576b8[_0x111c('0x20')](0xcc)[_0x111c('0x21')]();});}};}function handleEntityNotFound(_0x287ed8,_0x23463c){return function(_0x9c13b5){if(!_0x9c13b5){_0x287ed8[_0x111c('0x1f')](0x194);}return _0x9c13b5;};}function handleError(_0x346109,_0xed7e71){_0xed7e71=_0xed7e71||0x1f4;return function(_0x46e407){logger[_0x111c('0x2d')](_0x46e407['stack']);if(_0x46e407[_0x111c('0x2e')]){delete _0x46e407[_0x111c('0x2e')];}_0x346109['status'](_0xed7e71)[_0x111c('0x2f')](_0x46e407);};}exports[_0x111c('0x30')]=function(_0x49450f,_0x401138){var _0x98c05a={},_0x5f24a9={},_0xe4c625={'count':0x0,'rows':[]};var _0x4b7d42=_['map'](db[_0x111c('0x31')][_0x111c('0x32')],function(_0x29be13){return{'name':_0x29be13[_0x111c('0x33')],'type':_0x29be13[_0x111c('0x34')][_0x111c('0x35')]};});_0x5f24a9[_0x111c('0x36')]=_[_0x111c('0x37')](_0x4b7d42,_0x111c('0x2e'));_0x5f24a9[_0x111c('0x38')]=_[_0x111c('0x39')](_0x49450f[_0x111c('0x38')]);_0x5f24a9[_0x111c('0x3a')]=_['intersection'](_0x5f24a9[_0x111c('0x36')],_0x5f24a9[_0x111c('0x38')]);_0x98c05a[_0x111c('0x3b')]=_['intersection'](_0x5f24a9[_0x111c('0x36')],qs[_0x111c('0x3c')](_0x49450f[_0x111c('0x38')][_0x111c('0x3c')]));_0x98c05a[_0x111c('0x3b')]=_0x98c05a[_0x111c('0x3b')][_0x111c('0x3d')]?_0x98c05a['attributes']:_0x5f24a9[_0x111c('0x36')];if(!_0x49450f['query'][_0x111c('0x3e')](_0x111c('0x3f'))){_0x98c05a[_0x111c('0x25')]=qs[_0x111c('0x25')](_0x49450f['query'][_0x111c('0x25')]);_0x98c05a['offset']=qs[_0x111c('0x23')](_0x49450f['query'][_0x111c('0x23')]);}_0x98c05a[_0x111c('0x40')]=qs[_0x111c('0x41')](_0x49450f[_0x111c('0x38')][_0x111c('0x41')]);_0x98c05a[_0x111c('0x42')]=qs[_0x111c('0x3a')](_[_0x111c('0x43')](_0x49450f[_0x111c('0x38')],_0x5f24a9[_0x111c('0x3a')]),_0x4b7d42);if(_0x49450f[_0x111c('0x38')]['filter']){_0x98c05a['where']=_[_0x111c('0x44')](_0x98c05a['where'],{'$or':_['map'](_0x4b7d42,function(_0x114e64){if(_0x114e64[_0x111c('0x34')]!==_0x111c('0x45')){var _0x40d6a2={};_0x40d6a2[_0x114e64[_0x111c('0x2e')]]={'$like':'%'+_0x49450f[_0x111c('0x38')][_0x111c('0x46')]+'%'};return _0x40d6a2;}})});}_0x98c05a=_[_0x111c('0x44')]({},_0x98c05a,_0x49450f[_0x111c('0x47')]);var _0x553727={'where':_0x98c05a[_0x111c('0x42')]};return db[_0x111c('0x31')][_0x111c('0x26')](_0x553727)['then'](function(_0x354dca){_0xe4c625['count']=_0x354dca;if(_0x49450f['query'][_0x111c('0x48')]){_0x98c05a[_0x111c('0x49')]=[{'all':!![]}];}return db[_0x111c('0x31')][_0x111c('0x4a')](_0x98c05a);})[_0x111c('0x4b')](function(_0x1b4e4f){_0xe4c625[_0x111c('0x4c')]=_0x1b4e4f;return _0xe4c625;})[_0x111c('0x4b')](respondWithFilteredResult(_0x401138,_0x98c05a))['catch'](handleError(_0x401138,null));};exports[_0x111c('0x4d')]=function(_0x509671,_0x1e72d0){var _0x22c729={'raw':![],'where':{'id':_0x509671[_0x111c('0x4e')]['id']}},_0x333d47={};_0x333d47[_0x111c('0x36')]=_['keys'](db['UserProfile'][_0x111c('0x32')]);_0x333d47[_0x111c('0x38')]=_[_0x111c('0x39')](_0x509671['query']);_0x333d47['filters']=_['intersection'](_0x333d47['model'],_0x333d47[_0x111c('0x38')]);_0x22c729['attributes']=_['intersection'](_0x333d47['model'],qs[_0x111c('0x3c')](_0x509671[_0x111c('0x38')]['fields']));_0x22c729['attributes']=_0x22c729['attributes'][_0x111c('0x3d')]?_0x22c729['attributes']:_0x333d47[_0x111c('0x36')];if(_0x509671[_0x111c('0x38')][_0x111c('0x48')]){_0x22c729[_0x111c('0x49')]=[{'all':!![]}];}_0x22c729=_[_0x111c('0x44')]({},_0x22c729,_0x509671[_0x111c('0x47')]);return db['UserProfile'][_0x111c('0x4f')](_0x22c729)[_0x111c('0x4b')](handleEntityNotFound(_0x1e72d0,null))['then'](respondWithResult(_0x1e72d0,null))[_0x111c('0x50')](handleError(_0x1e72d0,null));};exports[_0x111c('0x51')]=function(_0x8cad9c,_0x24731d){return db[_0x111c('0x31')][_0x111c('0x51')](_0x8cad9c[_0x111c('0x52')],{})[_0x111c('0x4b')](respondWithResult(_0x24731d,0xc9))[_0x111c('0x50')](handleError(_0x24731d,null));};exports[_0x111c('0x53')]=function(_0x4a4b57,_0x580d4d){var _0x16b18b={'where':{'id':_0x4a4b57[_0x111c('0x4e')]['id']}},_0x1b67fd={};_0x1b67fd[_0x111c('0x36')]=_['keys'](db['UserProfile'][_0x111c('0x32')]);_0x16b18b[_0x111c('0x3b')]=_[_0x111c('0x54')](_0x1b67fd[_0x111c('0x36')],qs['fields'](_0x4a4b57[_0x111c('0x38')][_0x111c('0x3c')]));_0x16b18b[_0x111c('0x3b')]=_0x16b18b[_0x111c('0x3b')]['length']?_0x16b18b[_0x111c('0x3b')]:_0x1b67fd[_0x111c('0x36')];if(_0x4a4b57['query'][_0x111c('0x48')]){_0x16b18b[_0x111c('0x49')]=[{'all':!![]}];}_0x16b18b=_['merge']({},_0x16b18b,_0x4a4b57[_0x111c('0x47')]);return db[_0x111c('0x31')]['find'](_0x16b18b)[_0x111c('0x4b')](handleEntityNotFound(_0x580d4d,null))[_0x111c('0x4b')](function(_0x3a7fec){if(_0x3a7fec){var _0x888edf=_0x3a7fec[_0x111c('0x55')]({'plain':!![]});_0x888edf=qs[_0x111c('0x56')](_0x888edf,['id','createdAt',_0x111c('0x57'),_0x111c('0x58')]);_0x4a4b57[_0x111c('0x52')]=_['omit'](_0x4a4b57[_0x111c('0x52')],['id',_0x111c('0x59'),_0x111c('0x57')]);return db['sequelize']['transaction'](function(_0x220f3c){return db[_0x111c('0x31')][_0x111c('0x51')](_[_0x111c('0x44')](_0x888edf,_0x4a4b57[_0x111c('0x52')]),{'include':_0x4a4b57[_0x111c('0x38')][_0x111c('0x48')]?[{'all':!![]}]:undefined,'transaction':_0x220f3c})[_0x111c('0x4b')](function(_0x56ef19){var _0x17a057=_0x56ef19[_0x111c('0x55')]({'plain':!![]});return db[_0x111c('0x5a')]['findAll']({'where':{'userProfileId':_0x4a4b57[_0x111c('0x4e')]['id']},'raw':!![]})[_0x111c('0x4b')](function(_0x452b57){if(_0x452b57){return BPromise[_0x111c('0x5b')](_0x452b57,function(_0x292a91){return new BPromise(function(_0x44f796,_0x3ea432){if(_0x292a91[_0x111c('0x5c')]===null||_0x292a91[_0x111c('0x5c')]===0x1)_0x44f796(null);return db[_0x111c('0x5d')][_0x111c('0x4a')]({'where':{'sectionId':_0x292a91['id']},'raw':!![]})['then'](function(_0x2ea1bc){var _0x1c5285=_['map'](_0x2ea1bc,function(_0xbdd5ce){return qs['omit'](_0xbdd5ce,['id','createdAt',_0x111c('0x57'),_0x111c('0x5e')]);});_0x44f796(_0x1c5285);})[_0x111c('0x50')](function(_0x3c02a2){_0x3ea432(_0x3c02a2);});})[_0x111c('0x4b')](function(_0x35edb2){var _0x106c0f=qs[_0x111c('0x56')](_0x292a91,['id',_0x111c('0x59'),_0x111c('0x57')]);_0x106c0f[_0x111c('0x5f')]=_0x17a057['id'];if(_0x35edb2)_0x106c0f[_0x111c('0x60')]=_0x35edb2;return _0x106c0f;})[_0x111c('0x4b')](function(_0x57b8a6){return db[_0x111c('0x5a')][_0x111c('0x51')](_0x57b8a6,{'include':[{'model':db[_0x111c('0x5d')],'as':_0x111c('0x60')}],'raw':!![],'transaction':_0x220f3c});});})['then'](function(){return _0x17a057;});}});});});}})[_0x111c('0x4b')](respondWithResult(_0x580d4d,0xc9))[_0x111c('0x50')](handleError(_0x580d4d,null));};exports['update']=function(_0xb10d63,_0x183af1){if(_0xb10d63[_0x111c('0x52')]['id']){delete _0xb10d63['body']['id'];}return db[_0x111c('0x31')]['find']({'where':{'id':_0xb10d63['params']['id']}})[_0x111c('0x4b')](handleEntityNotFound(_0x183af1,null))[_0x111c('0x4b')](saveUpdates(_0xb10d63[_0x111c('0x52')],null))[_0x111c('0x4b')](respondWithResult(_0x183af1,null))[_0x111c('0x50')](handleError(_0x183af1,null));};exports[_0x111c('0x2c')]=function(_0x4b46a3,_0x590947){return db[_0x111c('0x31')][_0x111c('0x4f')]({'where':{'id':_0x4b46a3[_0x111c('0x4e')]['id']}})[_0x111c('0x4b')](handleEntityNotFound(_0x590947,null))['then'](removeEntity(_0x590947,null))[_0x111c('0x50')](handleError(_0x590947,null));};exports[_0x111c('0x61')]=function(_0x10c4c6,_0x4abd86){return db['UserProfile'][_0x111c('0x61')]()[_0x111c('0x4b')](respondWithResult(_0x4abd86,null))['catch'](handleError(_0x4abd86,null));};exports['addSections']=function(_0x43f6d3,_0x105d0a){var _0x14d01e=_0x43f6d3[_0x111c('0x52')];return db['UserProfile'][_0x111c('0x4f')]({'where':{'id':_0x43f6d3[_0x111c('0x4e')]['id']}})[_0x111c('0x4b')](handleEntityNotFound(_0x105d0a,null))[_0x111c('0x4b')](function(_0x1ff4b8){if(_0x1ff4b8){return db['sequelize']['transaction'](function(_0x117a3d){return db[_0x111c('0x5a')][_0x111c('0x2c')]({'where':{'userProfileId':_0x43f6d3[_0x111c('0x4e')]['id'],'sectionId':_['map'](_0x14d01e,function(_0x4f91ae){return _0x4f91ae[_0x111c('0x5e')];})},'transaction':_0x117a3d})[_0x111c('0x4b')](function(){var _0x50b304=_[_0x111c('0x37')](_0x14d01e,function(_0x27cc8b){_0x27cc8b[_0x111c('0x5f')]=_0x43f6d3[_0x111c('0x4e')]['id'];return _0x27cc8b;});var _0xfaa1b1=[];return BPromise['each'](_0x50b304,function(_0x3f4e77){return db[_0x111c('0x5a')]['create'](_0x3f4e77,{'include':[{'model':db[_0x111c('0x5d')],'as':'Resources'}],'raw':!![],'transaction':_0x117a3d})[_0x111c('0x4b')](function(_0x22619a){_0xfaa1b1[_0x111c('0x62')](_0x22619a[_0x111c('0x55')]({'plain':!![]}));});})[_0x111c('0x4b')](function(){return _0xfaa1b1;});});});}})[_0x111c('0x4b')](function(_0x48396e){return _0x48396e;})[_0x111c('0x4b')](respondWithResult(_0x105d0a,null))['catch'](handleError(_0x105d0a,null));};exports[_0x111c('0x63')]=function(_0x58eaf0,_0x28d2a4){var _0x341043;return db['UserProfile'][_0x111c('0x4f')]({'where':{'id':_0x58eaf0[_0x111c('0x4e')]['id']},'attributes':['id','name']})[_0x111c('0x4b')](handleEntityNotFound(_0x28d2a4,null))[_0x111c('0x4b')](function(_0x5288e5){if(_0x5288e5){_0x341043=_0x5288e5;return db[_0x111c('0x5a')][_0x111c('0x2c')]({'where':{'userProfileId':_0x58eaf0[_0x111c('0x4e')]['id'],'sectionId':_0x58eaf0[_0x111c('0x38')]['ids']}});}})['then'](function(){return _0x341043;})['then'](respondWithStatusCode(_0x28d2a4,null))['catch'](handleError(_0x28d2a4,null));};exports[_0x111c('0x64')]=function(_0x49ca2,_0x3f37b2){var _0x565484=[];var _0x96965c=[];return db['UserProfileSection'][_0x111c('0x4a')]({'where':{'userProfileId':_0x49ca2[_0x111c('0x4e')]['id']},'raw':!![]})[_0x111c('0x4b')](function(_0x2fa830){_0x565484=_[_0x111c('0x46')](_0x2fa830,function(_0x590faf){return _0x590faf[_0x111c('0x65')]===0x1||_[_0x111c('0x66')]([0x3eb,0x709],_0x590faf[_0x111c('0x5e')]);});if(!_[_0x111c('0x67')](_0x565484)){return _[_0x111c('0x37')](_0x565484,function(_0x5cad10){return _0x5cad10[_0x111c('0x5e')];});}else{return;}})['then'](function(_0x46dc94){if(_0x46dc94)_0x96965c=_0x46dc94;if(_[_0x111c('0x66')](_0x96965c,0x64)){var _0x53c9b0=_['find'](_0x565484,{'sectionId':0x64});return hasDefaultDashboard(_0x53c9b0)[_0x111c('0x4b')](function(_0x279868){return _[_0x111c('0x37')](_0x565484,function(_0x307b34){if(_0x307b34[_0x111c('0x5e')]===0x64){_0x307b34[_0x111c('0x68')]=_0x279868;}return _0x307b34;});});}else{return;}})[_0x111c('0x4b')](function(_0x25a394){if(_0x25a394)_0x565484=_0x25a394;if(_[_0x111c('0x66')](_0x96965c,0x3eb)){var _0x5dd2c5=_[_0x111c('0x4f')](_0x565484,{'sectionId':0x3eb});return getCustomDashboards(_0x5dd2c5)[_0x111c('0x4b')](function(_0x137bad){return _[_0x111c('0x37')](_0x565484,function(_0x5d6ca9){if(_0x5dd2c5[_0x111c('0x65')]){if(_0x5d6ca9['sectionId']===0x3eb){_0x5d6ca9['subsections']=_0x137bad;}}else{if(_0x5d6ca9[_0x111c('0x5e')]===0x64){_0x5d6ca9[_0x111c('0x68')]=_0x137bad;}}return _0x5d6ca9;});});}else{return;}})[_0x111c('0x4b')](function(_0x14af44){if(_0x14af44)_0x565484=_0x14af44;if(_[_0x111c('0x66')](_0x96965c,0x709)){var _0x39b0cc=_[_0x111c('0x4f')](_0x565484,{'sectionId':0x709});return getPlugins(_0x39b0cc)[_0x111c('0x4b')](function(_0xe70e0a){if(_0x39b0cc[_0x111c('0x65')]){return _[_0x111c('0x37')](_0x565484,function(_0x30b49d){if(_0x30b49d[_0x111c('0x5e')]===0x709){_0x30b49d[_0x111c('0x68')]=_0xe70e0a;}return _0x30b49d;});}else{var _0x4e96ae={'sectionId':0x76c,'enabled':0x1,'subsections':_0xe70e0a};var _0x4dafae=_['map'](_0x565484);_0x4dafae[_0x111c('0x62')](_0x4e96ae);return _0x4dafae;}});}else{return;}})[_0x111c('0x4b')](function(_0x5c06de){if(_0x5c06de)_0x565484=_0x5c06de;return _[_0x111c('0x46')](_0x565484,['enabled',0x1]);})[_0x111c('0x4b')](respondWithResult(_0x3f37b2,null))[_0x111c('0x50')](handleError(_0x3f37b2,null));};function hasDefaultDashboard(_0x48d507){var _0x38d7bc=[0x65];return new BPromise(function(_0x16a11f,_0x243e30){try{if(_0x48d507[_0x111c('0x5c')]){_0x16a11f(_0x38d7bc);}else{return db[_0x111c('0x5d')][_0x111c('0x69')]({'where':{'sectionId':_0x48d507['id']},'raw':!![]})[_0x111c('0x4b')](function(_0x151629){_0x151629?_0x16a11f(_0x38d7bc):_0x16a11f();});}}catch(_0x59c88c){_0x243e30(_0x59c88c);}});}function getCustomDashboards(_0x5d5de8){var _0x319a0d=[];return new BPromise(function(_0x595048,_0x26a4b8){try{if(_0x5d5de8[_0x111c('0x5c')]){return db['Dashboard'][_0x111c('0x4a')]({'raw':!![]})['then'](function(_0x1897f9){_0x1897f9[_0x111c('0x6a')](function(_0x1ded81){_0x319a0d[_0x111c('0x62')](_0x1ded81['id']+0x1869f);});_0x595048(_0x319a0d);});}else{return db[_0x111c('0x5d')][_0x111c('0x4a')]({'where':{'sectionId':_0x5d5de8['id']},'raw':!![]})['then'](function(_0x30fa84){_0x30fa84[_0x111c('0x6a')](function(_0x5cdd76){_0x319a0d[_0x111c('0x62')](_0x5cdd76[_0x111c('0x6b')]+0x1869f);});_0x595048(_0x319a0d);});}}catch(_0x53371a){_0x26a4b8(_0x53371a);}});}function getPlugins(_0x46260d){var _0x371e33=[];return new BPromise(function(_0xd26528,_0x1b8b01){try{if(_0x46260d[_0x111c('0x5c')]){return db[_0x111c('0x6c')][_0x111c('0x4a')]({'raw':!![]})[_0x111c('0x4b')](function(_0x3a158d){_0x3a158d['forEach'](function(_0x537f03){_0x371e33[_0x111c('0x62')](_0x537f03['id']+0x15b38);});_0xd26528(_0x371e33);});}else{return db['UserProfileResource'][_0x111c('0x4a')]({'where':{'sectionId':_0x46260d['id']},'raw':!![]})['then'](function(_0x4be6cb){_0x4be6cb[_0x111c('0x6a')](function(_0x33798e){_0x371e33[_0x111c('0x62')](_0x33798e['resourceId']+0x15b38);});_0xd26528(_0x371e33);});}}catch(_0x560348){_0x1b8b01(_0x560348);}});}exports['addResources']=function(_0x53c3d0,_0x564f19){return db[_0x111c('0x31')][_0x111c('0x4f')]({'where':{'id':_0x53c3d0[_0x111c('0x4e')]['id']}})[_0x111c('0x4b')](handleEntityNotFound(_0x564f19,null))['then'](function(_0x5f5a36){if(_0x5f5a36){return db['sequelize']['transaction'](function(_0x5a8123){return db[_0x111c('0x5a')][_0x111c('0x4a')]({'where':{'userProfileId':_0x53c3d0['params']['id']},'attributes':['id'],'raw':!![]})['then'](function(_0x4da73d){if(_0x4da73d){return db[_0x111c('0x5a')]['destroy']({'where':{'userProfileId':_0x53c3d0[_0x111c('0x4e')]['id'],'id':_[_0x111c('0x37')](_0x4da73d,function(_0x513bdb){return _0x513bdb['id'];})},'transaction':_0x5a8123});}})[_0x111c('0x4b')](function(_0x5d0157){var _0x107656=_[_0x111c('0x37')](_0x53c3d0[_0x111c('0x52')],function(_0x4bebef){_0x4bebef[_0x111c('0x5f')]=_0x53c3d0[_0x111c('0x4e')]['id'];return _0x4bebef;});return db[_0x111c('0x5a')][_0x111c('0x6d')](_0x107656,{'raw':!![],'transaction':_0x5a8123});})[_0x111c('0x4b')](function(_0xa982b8){var _0x34c789=_[_0x111c('0x46')](_[_0x111c('0x37')](_0xa982b8,function(_0x4057f4){return _0x4057f4['get']({'plain':!![]});}),{'includeAll':![]});if(_0x34c789){return db['UserProfileSection'][_0x111c('0x4a')]({'where':{'userProfileId':_0x53c3d0[_0x111c('0x4e')]['id'],'sectionId':_[_0x111c('0x37')](_0x34c789,function(_0x4568a5){return _0x4568a5[_0x111c('0x5e')];})},'attributes':['id',_0x111c('0x5e')],'raw':!![]})[_0x111c('0x4b')](function(_0x23a5e8){var _0x1d336e=_[_0x111c('0x37')](_0x53c3d0[_0x111c('0x52')],function(_0x223325){_0x223325[_0x111c('0x5f')]=_0x53c3d0[_0x111c('0x4e')]['id'];return _0x223325;});return db['UserProfileResource'][_0x111c('0x6d')](_0x1d336e,{'raw':!![],'transaction':_0x5a8123});});}})['catch'](handleError(_0x564f19,null));});}})[_0x111c('0x4b')](function(_0x19cacf){var _0x56ac32=_['map'](_0x19cacf,function(_0x3bb26a){return _0x3bb26a[_0x111c('0x55')]({'plain':!![]});});})[_0x111c('0x4b')](respondWithResult(_0x564f19,null))[_0x111c('0x50')](handleError(_0x564f19,null));};exports[_0x111c('0x6e')]=function(_0xbf09e8,_0x57774e,_0x463e82){return db[_0x111c('0x31')][_0x111c('0x4f')]({'where':{'id':_0xbf09e8[_0x111c('0x4e')]['id']}})[_0x111c('0x4b')](handleEntityNotFound(_0x57774e,null))['then'](function(_0x1a80d6){if(_0x1a80d6){return _0x1a80d6[_0x111c('0x6e')](_0xbf09e8['query'][_0x111c('0x6f')]);}})['then'](respondWithStatusCode(_0x57774e,null))[_0x111c('0x50')](handleError(_0x57774e,null));};exports[_0x111c('0x70')]=function(_0x2b88d6,_0x2b5277){var _0x19c671={};if(!_0x2b88d6['query'][_0x111c('0x71')])throw new Error(_0x111c('0x72'));if(!_0x2b88d6['query'][_0x111c('0x3e')](_0x111c('0x3f'))){_0x19c671[_0x111c('0x25')]=qs['limit'](_0x2b88d6['query'][_0x111c('0x25')]);_0x19c671['offset']=qs['offset'](_0x2b88d6['query'][_0x111c('0x23')]);}return db['UserProfile'][_0x111c('0x4f')]({'where':{'id':_0x2b88d6[_0x111c('0x4e')]['id']}})[_0x111c('0x4b')](function(_0x309482){if(!_0x309482)throw new Error(_0x111c('0x73')+_0x2b88d6[_0x111c('0x4e')]['id']);return db[_0x111c('0x31')][_0x111c('0x70')](_0x2b88d6);})[_0x111c('0x4b')](respondWithFilteredResult(_0x2b5277,_0x19c671))[_0x111c('0x50')](handleError(_0x2b5277,null));};