69dc46de30c932aa38ef8581e02b0c5439a19102
[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 _0x7af9=['get','omit','createdAt','body','updatedAt','sequelize','transaction','UserProfileSection','each','autoAssociation','UserProfileResource','sectionId','userProfileId','Resources','describe','addSections','push','removeSections','ids','getSections','includes','isEmpty','subsections','enabled','findOne','forEach','resourceId','Plugin','addResources','bulkCreate','getResources','section','Missing\x20section\x20parameter','No\x20User\x20Profile\x20found\x20for\x20id\x20','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','fs-extra','lodash','squel','crypto','desk.js','to-csv','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./userProfile.socket','register','sendStatus','status','json','offset','undefined','set','Content-Range','apply','reject','save','then','destroy','end','error','stack','name','send','index','map','UserProfile','rawAttributes','fieldName','type','key','model','keys','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','where','filters','pick','VIRTUAL','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','create','find'];(function(_0x54a299,_0x338a6d){var _0x51c368=function(_0x45365c){while(--_0x45365c){_0x54a299['push'](_0x54a299['shift']());}};_0x51c368(++_0x338a6d);}(_0x7af9,0x95));var _0x97af=function(_0xd51fd3,_0x1644b2){_0xd51fd3=_0xd51fd3-0x0;var _0x2d79f6=_0x7af9[_0xd51fd3];return _0x2d79f6;};'use strict';var emlformat=require(_0x97af('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x97af('0x1'));var jsonpatch=require(_0x97af('0x2'));var rp=require('request-promise');var moment=require(_0x97af('0x3'));var BPromise=require(_0x97af('0x4'));var Mustache=require(_0x97af('0x5'));var util=require(_0x97af('0x6'));var path=require(_0x97af('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x97af('0x8'));var _=require(_0x97af('0x9'));var squel=require(_0x97af('0xa'));var crypto=require(_0x97af('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x97af('0xc'));var toCsv=require(_0x97af('0xd'));var querystring=require(_0x97af('0xe'));var Papa=require('papaparse');var Redis=require(_0x97af('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x97af('0x10'));var as=require(_0x97af('0x11'));var hardwareService=require(_0x97af('0x12'));var logger=require(_0x97af('0x13'))(_0x97af('0x14'));var utils=require(_0x97af('0x15'));var config=require(_0x97af('0x16'));var licenseUtil=require(_0x97af('0x17'));var db=require(_0x97af('0x18'))['db'];config[_0x97af('0x19')]=_[_0x97af('0x1a')](config['redis'],{'host':_0x97af('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x97af('0x1c'))[_0x97af('0x1d')](socket);function respondWithStatusCode(_0x458751,_0xbf7de1){_0xbf7de1=_0xbf7de1||0xcc;return function(_0x43eb12){if(_0x43eb12){return _0x458751[_0x97af('0x1e')](_0xbf7de1);}return _0x458751[_0x97af('0x1f')](_0xbf7de1)['end']();};}function respondWithResult(_0x281f8a,_0x4e679e){_0x4e679e=_0x4e679e||0xc8;return function(_0x277b71){if(_0x277b71){return _0x281f8a['status'](_0x4e679e)[_0x97af('0x20')](_0x277b71);}};}function respondWithFilteredResult(_0x47c57b,_0x1aa3f9){return function(_0x2ae4ce){if(_0x2ae4ce){var _0x3815da=typeof _0x1aa3f9[_0x97af('0x21')]===_0x97af('0x22')&&typeof _0x1aa3f9['limit']===_0x97af('0x22');var _0x4a6bca=_0x2ae4ce['count'];var _0x519297=_0x3815da?0x0:_0x1aa3f9[_0x97af('0x21')];var _0x3447ce=_0x3815da?_0x2ae4ce['count']:_0x1aa3f9[_0x97af('0x21')]+_0x1aa3f9['limit'];var _0x2a77f0;if(_0x3447ce>=_0x4a6bca){_0x3447ce=_0x4a6bca;_0x2a77f0=0xc8;}else{_0x2a77f0=0xce;}_0x47c57b[_0x97af('0x1f')](_0x2a77f0);return _0x47c57b[_0x97af('0x23')](_0x97af('0x24'),_0x519297+'-'+_0x3447ce+'/'+_0x4a6bca)[_0x97af('0x20')](_0x2ae4ce);}return null;};}function patchUpdates(_0x53323a){return function(_0x1a0cde){try{jsonpatch[_0x97af('0x25')](_0x1a0cde,_0x53323a,!![]);}catch(_0xe1679b){return BPromise[_0x97af('0x26')](_0xe1679b);}return _0x1a0cde[_0x97af('0x27')]();};}function saveUpdates(_0x2a7740,_0x275e8c){return function(_0x41122c){if(_0x41122c){return _0x41122c['update'](_0x2a7740)[_0x97af('0x28')](function(_0x651a83){return _0x651a83;});}return null;};}function removeEntity(_0x545b3d,_0xc00f30){return function(_0x677042){if(_0x677042){return _0x677042[_0x97af('0x29')]()['then'](function(){_0x545b3d[_0x97af('0x1f')](0xcc)[_0x97af('0x2a')]();});}};}function handleEntityNotFound(_0x394bf9,_0x444926){return function(_0x465708){if(!_0x465708){_0x394bf9['sendStatus'](0x194);}return _0x465708;};}function handleError(_0x2c86fb,_0x46f503){_0x46f503=_0x46f503||0x1f4;return function(_0x51b9e7){logger[_0x97af('0x2b')](_0x51b9e7[_0x97af('0x2c')]);if(_0x51b9e7[_0x97af('0x2d')]){delete _0x51b9e7[_0x97af('0x2d')];}_0x2c86fb[_0x97af('0x1f')](_0x46f503)[_0x97af('0x2e')](_0x51b9e7);};}exports[_0x97af('0x2f')]=function(_0x26f891,_0x63fe87){var _0x431f41={},_0x4e4127={},_0x32b3c0={'count':0x0,'rows':[]};var _0x564e58=_[_0x97af('0x30')](db[_0x97af('0x31')][_0x97af('0x32')],function(_0x3e7b9a){return{'name':_0x3e7b9a[_0x97af('0x33')],'type':_0x3e7b9a[_0x97af('0x34')][_0x97af('0x35')]};});_0x4e4127[_0x97af('0x36')]=_[_0x97af('0x30')](_0x564e58,_0x97af('0x2d'));_0x4e4127['query']=_[_0x97af('0x37')](_0x26f891[_0x97af('0x38')]);_0x4e4127['filters']=_[_0x97af('0x39')](_0x4e4127['model'],_0x4e4127[_0x97af('0x38')]);_0x431f41['attributes']=_['intersection'](_0x4e4127[_0x97af('0x36')],qs[_0x97af('0x3a')](_0x26f891[_0x97af('0x38')]['fields']));_0x431f41[_0x97af('0x3b')]=_0x431f41[_0x97af('0x3b')][_0x97af('0x3c')]?_0x431f41[_0x97af('0x3b')]:_0x4e4127[_0x97af('0x36')];if(!_0x26f891['query'][_0x97af('0x3d')](_0x97af('0x3e'))){_0x431f41[_0x97af('0x3f')]=qs[_0x97af('0x3f')](_0x26f891['query']['limit']);_0x431f41['offset']=qs[_0x97af('0x21')](_0x26f891[_0x97af('0x38')][_0x97af('0x21')]);}_0x431f41[_0x97af('0x40')]=qs['sort'](_0x26f891['query']['sort']);_0x431f41[_0x97af('0x41')]=qs[_0x97af('0x42')](_[_0x97af('0x43')](_0x26f891[_0x97af('0x38')],_0x4e4127[_0x97af('0x42')]),_0x564e58);if(_0x26f891[_0x97af('0x38')]['filter']){_0x431f41[_0x97af('0x41')]=_['merge'](_0x431f41['where'],{'$or':_[_0x97af('0x30')](_0x564e58,function(_0x1af726){if(_0x1af726[_0x97af('0x34')]!==_0x97af('0x44')){var _0x56d582={};_0x56d582[_0x1af726[_0x97af('0x2d')]]={'$like':'%'+_0x26f891[_0x97af('0x38')][_0x97af('0x45')]+'%'};return _0x56d582;}})});}_0x431f41=_[_0x97af('0x46')]({},_0x431f41,_0x26f891[_0x97af('0x47')]);var _0x3252a5={'where':_0x431f41[_0x97af('0x41')]};return db[_0x97af('0x31')]['count'](_0x3252a5)[_0x97af('0x28')](function(_0x3c709f){_0x32b3c0['count']=_0x3c709f;if(_0x26f891['query'][_0x97af('0x48')]){_0x431f41[_0x97af('0x49')]=[{'all':!![]}];}return db[_0x97af('0x31')][_0x97af('0x4a')](_0x431f41);})[_0x97af('0x28')](function(_0x3b13e2){_0x32b3c0[_0x97af('0x4b')]=_0x3b13e2;return _0x32b3c0;})[_0x97af('0x28')](respondWithFilteredResult(_0x63fe87,_0x431f41))[_0x97af('0x4c')](handleError(_0x63fe87,null));};exports[_0x97af('0x4d')]=function(_0x3e88f9,_0x26d05c){var _0x126c5b={'raw':![],'where':{'id':_0x3e88f9[_0x97af('0x4e')]['id']}},_0x6ff6b={};_0x6ff6b[_0x97af('0x36')]=_[_0x97af('0x37')](db[_0x97af('0x31')][_0x97af('0x32')]);_0x6ff6b[_0x97af('0x38')]=_['keys'](_0x3e88f9[_0x97af('0x38')]);_0x6ff6b[_0x97af('0x42')]=_[_0x97af('0x39')](_0x6ff6b[_0x97af('0x36')],_0x6ff6b[_0x97af('0x38')]);_0x126c5b[_0x97af('0x3b')]=_[_0x97af('0x39')](_0x6ff6b[_0x97af('0x36')],qs[_0x97af('0x3a')](_0x3e88f9[_0x97af('0x38')][_0x97af('0x3a')]));_0x126c5b[_0x97af('0x3b')]=_0x126c5b[_0x97af('0x3b')][_0x97af('0x3c')]?_0x126c5b[_0x97af('0x3b')]:_0x6ff6b[_0x97af('0x36')];if(_0x3e88f9[_0x97af('0x38')][_0x97af('0x48')]){_0x126c5b[_0x97af('0x49')]=[{'all':!![]}];}_0x126c5b=_['merge']({},_0x126c5b,_0x3e88f9[_0x97af('0x47')]);return db[_0x97af('0x31')]['find'](_0x126c5b)[_0x97af('0x28')](handleEntityNotFound(_0x26d05c,null))[_0x97af('0x28')](respondWithResult(_0x26d05c,null))['catch'](handleError(_0x26d05c,null));};exports[_0x97af('0x4f')]=function(_0x8ab790,_0x5bbbe3){return db[_0x97af('0x31')][_0x97af('0x4f')](_0x8ab790['body'],{})['then'](respondWithResult(_0x5bbbe3,0xc9))[_0x97af('0x4c')](handleError(_0x5bbbe3,null));};exports['clone']=function(_0x33c052,_0x52f29c){var _0x5700ba={'where':{'id':_0x33c052[_0x97af('0x4e')]['id']}},_0x590905={};_0x590905[_0x97af('0x36')]=_[_0x97af('0x37')](db['UserProfile'][_0x97af('0x32')]);_0x5700ba['attributes']=_[_0x97af('0x39')](_0x590905['model'],qs[_0x97af('0x3a')](_0x33c052[_0x97af('0x38')][_0x97af('0x3a')]));_0x5700ba[_0x97af('0x3b')]=_0x5700ba[_0x97af('0x3b')][_0x97af('0x3c')]?_0x5700ba['attributes']:_0x590905[_0x97af('0x36')];if(_0x33c052[_0x97af('0x38')][_0x97af('0x48')]){_0x5700ba['include']=[{'all':!![]}];}_0x5700ba=_['merge']({},_0x5700ba,_0x33c052[_0x97af('0x47')]);return db['UserProfile'][_0x97af('0x50')](_0x5700ba)[_0x97af('0x28')](handleEntityNotFound(_0x52f29c,null))[_0x97af('0x28')](function(_0x5457cc){if(_0x5457cc){var _0x46e806=_0x5457cc[_0x97af('0x51')]({'plain':!![]});_0x46e806=qs[_0x97af('0x52')](_0x46e806,['id',_0x97af('0x53'),'updatedAt','crudPermissions']);_0x33c052['body']=_[_0x97af('0x52')](_0x33c052[_0x97af('0x54')],['id','createdAt',_0x97af('0x55')]);return db[_0x97af('0x56')][_0x97af('0x57')](function(_0x95291f){return db[_0x97af('0x31')]['create'](_['merge'](_0x46e806,_0x33c052[_0x97af('0x54')]),{'include':_0x33c052[_0x97af('0x38')][_0x97af('0x48')]?[{'all':!![]}]:undefined,'transaction':_0x95291f})[_0x97af('0x28')](function(_0xe35f28){var _0x1aad11=_0xe35f28[_0x97af('0x51')]({'plain':!![]});return db[_0x97af('0x58')][_0x97af('0x4a')]({'where':{'userProfileId':_0x33c052[_0x97af('0x4e')]['id']},'raw':!![]})[_0x97af('0x28')](function(_0x1b13c8){if(_0x1b13c8){return BPromise[_0x97af('0x59')](_0x1b13c8,function(_0x41a959){return new BPromise(function(_0x1b4a26,_0x424e50){if(_0x41a959[_0x97af('0x5a')]===null||_0x41a959[_0x97af('0x5a')]===0x1)_0x1b4a26(null);return db[_0x97af('0x5b')]['findAll']({'where':{'sectionId':_0x41a959['id']},'raw':!![]})[_0x97af('0x28')](function(_0x50e5c8){var _0x25e570=_[_0x97af('0x30')](_0x50e5c8,function(_0xeceb21){return qs['omit'](_0xeceb21,['id','createdAt',_0x97af('0x55'),_0x97af('0x5c')]);});_0x1b4a26(_0x25e570);})[_0x97af('0x4c')](function(_0x5d89e5){_0x424e50(_0x5d89e5);});})[_0x97af('0x28')](function(_0xb3a15d){var _0x4fd7dd=qs[_0x97af('0x52')](_0x41a959,['id','createdAt',_0x97af('0x55')]);_0x4fd7dd[_0x97af('0x5d')]=_0x1aad11['id'];if(_0xb3a15d)_0x4fd7dd[_0x97af('0x5e')]=_0xb3a15d;return _0x4fd7dd;})[_0x97af('0x28')](function(_0x24c228){return db['UserProfileSection'][_0x97af('0x4f')](_0x24c228,{'include':[{'model':db[_0x97af('0x5b')],'as':_0x97af('0x5e')}],'raw':!![],'transaction':_0x95291f});});})['then'](function(){return _0x1aad11;});}});});});}})['then'](respondWithResult(_0x52f29c,0xc9))[_0x97af('0x4c')](handleError(_0x52f29c,null));};exports['update']=function(_0x5a02e6,_0x531f00){if(_0x5a02e6['body']['id']){delete _0x5a02e6[_0x97af('0x54')]['id'];}return db['UserProfile']['find']({'where':{'id':_0x5a02e6[_0x97af('0x4e')]['id']}})['then'](handleEntityNotFound(_0x531f00,null))[_0x97af('0x28')](saveUpdates(_0x5a02e6[_0x97af('0x54')],null))[_0x97af('0x28')](respondWithResult(_0x531f00,null))[_0x97af('0x4c')](handleError(_0x531f00,null));};exports[_0x97af('0x29')]=function(_0x1c10e7,_0x388598){return db[_0x97af('0x31')][_0x97af('0x50')]({'where':{'id':_0x1c10e7[_0x97af('0x4e')]['id']}})[_0x97af('0x28')](handleEntityNotFound(_0x388598,null))[_0x97af('0x28')](removeEntity(_0x388598,null))[_0x97af('0x4c')](handleError(_0x388598,null));};exports[_0x97af('0x5f')]=function(_0x37ed42,_0xdf4c6d){return db[_0x97af('0x31')][_0x97af('0x5f')]()[_0x97af('0x28')](respondWithResult(_0xdf4c6d,null))[_0x97af('0x4c')](handleError(_0xdf4c6d,null));};exports[_0x97af('0x60')]=function(_0x3b6462,_0x4c5672){var _0x3f2091=_0x3b6462[_0x97af('0x54')];return db[_0x97af('0x31')]['find']({'where':{'id':_0x3b6462[_0x97af('0x4e')]['id']}})[_0x97af('0x28')](handleEntityNotFound(_0x4c5672,null))['then'](function(_0x111786){if(_0x111786){return db[_0x97af('0x56')][_0x97af('0x57')](function(_0x46ebbf){return db[_0x97af('0x58')][_0x97af('0x29')]({'where':{'userProfileId':_0x3b6462['params']['id'],'sectionId':_[_0x97af('0x30')](_0x3f2091,function(_0x272d07){return _0x272d07[_0x97af('0x5c')];})},'transaction':_0x46ebbf})[_0x97af('0x28')](function(){var _0x1eb4c4=_[_0x97af('0x30')](_0x3f2091,function(_0xbb3a46){_0xbb3a46['userProfileId']=_0x3b6462[_0x97af('0x4e')]['id'];return _0xbb3a46;});var _0x2fa4c8=[];return BPromise[_0x97af('0x59')](_0x1eb4c4,function(_0x483c2b){return db[_0x97af('0x58')][_0x97af('0x4f')](_0x483c2b,{'include':[{'model':db[_0x97af('0x5b')],'as':'Resources'}],'raw':!![],'transaction':_0x46ebbf})[_0x97af('0x28')](function(_0x5eeaa1){_0x2fa4c8[_0x97af('0x61')](_0x5eeaa1['get']({'plain':!![]}));});})[_0x97af('0x28')](function(){return _0x2fa4c8;});});});}})[_0x97af('0x28')](function(_0x1b8cc3){return _0x1b8cc3;})[_0x97af('0x28')](respondWithResult(_0x4c5672,null))[_0x97af('0x4c')](handleError(_0x4c5672,null));};exports[_0x97af('0x62')]=function(_0x97b296,_0x24ef2e){var _0xf7b02a;return db[_0x97af('0x31')][_0x97af('0x50')]({'where':{'id':_0x97b296['params']['id']},'attributes':['id',_0x97af('0x2d')]})[_0x97af('0x28')](handleEntityNotFound(_0x24ef2e,null))['then'](function(_0x361498){if(_0x361498){_0xf7b02a=_0x361498;return db[_0x97af('0x58')][_0x97af('0x29')]({'where':{'userProfileId':_0x97b296[_0x97af('0x4e')]['id'],'sectionId':_0x97b296[_0x97af('0x38')][_0x97af('0x63')]}});}})[_0x97af('0x28')](function(){return _0xf7b02a;})[_0x97af('0x28')](respondWithStatusCode(_0x24ef2e,null))[_0x97af('0x4c')](handleError(_0x24ef2e,null));};exports[_0x97af('0x64')]=function(_0x4a9d6e,_0x2f1719){var _0x54569a=[];var _0x568493=[];return db[_0x97af('0x58')][_0x97af('0x4a')]({'where':{'userProfileId':_0x4a9d6e['params']['id']},'raw':!![]})['then'](function(_0x363754){_0x54569a=_[_0x97af('0x45')](_0x363754,function(_0x20e800){return _0x20e800['enabled']===0x1||_[_0x97af('0x65')]([0x3eb,0x709],_0x20e800[_0x97af('0x5c')]);});if(!_[_0x97af('0x66')](_0x54569a)){return _[_0x97af('0x30')](_0x54569a,function(_0x30190e){return _0x30190e[_0x97af('0x5c')];});}else{return;}})['then'](function(_0x551146){if(_0x551146)_0x568493=_0x551146;if(_[_0x97af('0x65')](_0x568493,0x64)){var _0x1dcda9=_[_0x97af('0x50')](_0x54569a,{'sectionId':0x64});return hasDefaultDashboard(_0x1dcda9)[_0x97af('0x28')](function(_0x5dea3a){return _[_0x97af('0x30')](_0x54569a,function(_0x32deab){if(_0x32deab['sectionId']===0x64){_0x32deab[_0x97af('0x67')]=_0x5dea3a;}return _0x32deab;});});}else{return;}})[_0x97af('0x28')](function(_0x3f2e3a){if(_0x3f2e3a)_0x54569a=_0x3f2e3a;if(_[_0x97af('0x65')](_0x568493,0x3eb)){var _0x2eab04=_[_0x97af('0x50')](_0x54569a,{'sectionId':0x3eb});return getCustomDashboards(_0x2eab04)[_0x97af('0x28')](function(_0x31b54b){return _[_0x97af('0x30')](_0x54569a,function(_0xa55b79){if(_0x2eab04[_0x97af('0x68')]){if(_0xa55b79[_0x97af('0x5c')]===0x3eb){_0xa55b79['subsections']=_0x31b54b;}}else{if(_0xa55b79[_0x97af('0x5c')]===0x64){_0xa55b79[_0x97af('0x67')]=_0x31b54b;}}return _0xa55b79;});});}else{return;}})[_0x97af('0x28')](function(_0xee24fc){if(_0xee24fc)_0x54569a=_0xee24fc;if(_['includes'](_0x568493,0x709)){var _0x4904ac=_[_0x97af('0x50')](_0x54569a,{'sectionId':0x709});return getPlugins(_0x4904ac)[_0x97af('0x28')](function(_0x43dfee){if(_0x4904ac[_0x97af('0x68')]){return _[_0x97af('0x30')](_0x54569a,function(_0x12f88d){if(_0x12f88d[_0x97af('0x5c')]===0x709){_0x12f88d['subsections']=_0x43dfee;}return _0x12f88d;});}else{var _0xbc3d33={'sectionId':0x76c,'enabled':0x1,'subsections':_0x43dfee};var _0x1027b4=_[_0x97af('0x30')](_0x54569a);_0x1027b4[_0x97af('0x61')](_0xbc3d33);return _0x1027b4;}});}else{return;}})[_0x97af('0x28')](function(_0x337168){if(_0x337168)_0x54569a=_0x337168;return _[_0x97af('0x45')](_0x54569a,['enabled',0x1]);})['then'](respondWithResult(_0x2f1719,null))['catch'](handleError(_0x2f1719,null));};function hasDefaultDashboard(_0x466479){var _0x5aaa00=[0x65];return new BPromise(function(_0x4693f4,_0x30a715){try{if(_0x466479[_0x97af('0x5a')]){_0x4693f4(_0x5aaa00);}else{return db[_0x97af('0x5b')][_0x97af('0x69')]({'where':{'sectionId':_0x466479['id']},'raw':!![]})['then'](function(_0x57912c){_0x57912c?_0x4693f4(_0x5aaa00):_0x4693f4();});}}catch(_0x52ab6a){_0x30a715(_0x52ab6a);}});}function getCustomDashboards(_0x49a613){var _0x4f8937=[];return new BPromise(function(_0x5889d8,_0x297d08){try{if(_0x49a613[_0x97af('0x5a')]){return db['Dashboard'][_0x97af('0x4a')]({'raw':!![]})[_0x97af('0x28')](function(_0x24e880){_0x24e880[_0x97af('0x6a')](function(_0x2d785e){_0x4f8937[_0x97af('0x61')](_0x2d785e['id']+0x1869f);});_0x5889d8(_0x4f8937);});}else{return db['UserProfileResource'][_0x97af('0x4a')]({'where':{'sectionId':_0x49a613['id']},'raw':!![]})[_0x97af('0x28')](function(_0x8cfe2c){_0x8cfe2c[_0x97af('0x6a')](function(_0x182c24){_0x4f8937[_0x97af('0x61')](_0x182c24[_0x97af('0x6b')]+0x1869f);});_0x5889d8(_0x4f8937);});}}catch(_0x2cbb97){_0x297d08(_0x2cbb97);}});}function getPlugins(_0x2f692c){var _0x3973f7=[];return new BPromise(function(_0x2ed2f1,_0x1167dc){try{if(_0x2f692c[_0x97af('0x5a')]){return db[_0x97af('0x6c')][_0x97af('0x4a')]({'raw':!![]})[_0x97af('0x28')](function(_0x1fbdac){_0x1fbdac['forEach'](function(_0x240c30){_0x3973f7[_0x97af('0x61')](_0x240c30['id']+0x15b38);});_0x2ed2f1(_0x3973f7);});}else{return db['UserProfileResource'][_0x97af('0x4a')]({'where':{'sectionId':_0x2f692c['id']},'raw':!![]})[_0x97af('0x28')](function(_0x1552ff){_0x1552ff[_0x97af('0x6a')](function(_0x583a48){_0x3973f7[_0x97af('0x61')](_0x583a48[_0x97af('0x6b')]+0x15b38);});_0x2ed2f1(_0x3973f7);});}}catch(_0x5109a8){_0x1167dc(_0x5109a8);}});}exports[_0x97af('0x6d')]=function(_0x4964bd,_0x1ad765){return db['UserProfile'][_0x97af('0x50')]({'where':{'id':_0x4964bd[_0x97af('0x4e')]['id']}})[_0x97af('0x28')](handleEntityNotFound(_0x1ad765,null))['then'](function(_0xb3c9a7){if(_0xb3c9a7){return db['sequelize']['transaction'](function(_0x4af3dd){return db['UserProfileSection'][_0x97af('0x4a')]({'where':{'userProfileId':_0x4964bd[_0x97af('0x4e')]['id']},'attributes':['id'],'raw':!![]})[_0x97af('0x28')](function(_0x6a4b59){if(_0x6a4b59){return db[_0x97af('0x58')][_0x97af('0x29')]({'where':{'userProfileId':_0x4964bd[_0x97af('0x4e')]['id'],'id':_[_0x97af('0x30')](_0x6a4b59,function(_0x2e540f){return _0x2e540f['id'];})},'transaction':_0x4af3dd});}})[_0x97af('0x28')](function(_0x2d6b75){var _0x527807=_[_0x97af('0x30')](_0x4964bd[_0x97af('0x54')],function(_0xca2c20){_0xca2c20['userProfileId']=_0x4964bd[_0x97af('0x4e')]['id'];return _0xca2c20;});return db['UserProfileSection'][_0x97af('0x6e')](_0x527807,{'raw':!![],'transaction':_0x4af3dd});})[_0x97af('0x28')](function(_0x3228eb){var _0x33672b=_['filter'](_[_0x97af('0x30')](_0x3228eb,function(_0x3bf107){return _0x3bf107['get']({'plain':!![]});}),{'includeAll':![]});if(_0x33672b){return db[_0x97af('0x58')][_0x97af('0x4a')]({'where':{'userProfileId':_0x4964bd[_0x97af('0x4e')]['id'],'sectionId':_[_0x97af('0x30')](_0x33672b,function(_0x5f25d0){return _0x5f25d0[_0x97af('0x5c')];})},'attributes':['id',_0x97af('0x5c')],'raw':!![]})['then'](function(_0x3fd2f7){var _0x268f32=_[_0x97af('0x30')](_0x4964bd[_0x97af('0x54')],function(_0x37ad5e){_0x37ad5e[_0x97af('0x5d')]=_0x4964bd['params']['id'];return _0x37ad5e;});return db[_0x97af('0x5b')][_0x97af('0x6e')](_0x268f32,{'raw':!![],'transaction':_0x4af3dd});});}})[_0x97af('0x4c')](handleError(_0x1ad765,null));});}})[_0x97af('0x28')](function(_0x421d86){var _0x2d2023=_['map'](_0x421d86,function(_0x1f8374){return _0x1f8374[_0x97af('0x51')]({'plain':!![]});});})[_0x97af('0x28')](respondWithResult(_0x1ad765,null))['catch'](handleError(_0x1ad765,null));};exports['removeResources']=function(_0xfe58f4,_0x477989,_0x5c154c){return db[_0x97af('0x31')][_0x97af('0x50')]({'where':{'id':_0xfe58f4[_0x97af('0x4e')]['id']}})[_0x97af('0x28')](handleEntityNotFound(_0x477989,null))[_0x97af('0x28')](function(_0x3c312a){if(_0x3c312a){return _0x3c312a['removeResources'](_0xfe58f4[_0x97af('0x38')]['ids']);}})[_0x97af('0x28')](respondWithStatusCode(_0x477989,null))[_0x97af('0x4c')](handleError(_0x477989,null));};exports[_0x97af('0x6f')]=function(_0x52c19c,_0x501217){var _0x10836b={};if(!_0x52c19c[_0x97af('0x38')][_0x97af('0x70')])throw new Error(_0x97af('0x71'));if(!_0x52c19c[_0x97af('0x38')][_0x97af('0x3d')](_0x97af('0x3e'))){_0x10836b[_0x97af('0x3f')]=qs['limit'](_0x52c19c['query'][_0x97af('0x3f')]);_0x10836b[_0x97af('0x21')]=qs[_0x97af('0x21')](_0x52c19c['query'][_0x97af('0x21')]);}return db[_0x97af('0x31')][_0x97af('0x50')]({'where':{'id':_0x52c19c[_0x97af('0x4e')]['id']}})[_0x97af('0x28')](function(_0x152566){if(!_0x152566)throw new Error(_0x97af('0x72')+_0x52c19c[_0x97af('0x4e')]['id']);return db[_0x97af('0x31')][_0x97af('0x6f')](_0x52c19c);})[_0x97af('0x28')](respondWithFilteredResult(_0x501217,_0x10836b))[_0x97af('0x4c')](handleError(_0x501217,null));};