132c6307582805b9dc8a3e3cca8b49fab28ae7ee
[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 _0x3840=['get','omit','crudPermissions','body','sequelize','transaction','UserProfileSection','each','autoAssociation','createdAt','updatedAt','sectionId','userProfileId','Resources','UserProfileResource','describe','addSections','push','getSections','enabled','isEmpty','subsections','includes','concat','findOne','Dashboard','forEach','resourceId','addResources','bulkCreate','removeResources','getResources','Missing\x20section\x20parameter','hasOwnProperty','No\x20User\x20Profile\x20found\x20for\x20id\x20','eml-format','rimraf','fast-json-patch','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','querystring','papaparse','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','localhost','socket.io-emitter','./userProfile.socket','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','update','then','destroy','stack','name','send','index','map','UserProfile','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','find','create','catch','params'];(function(_0x167cc1,_0x56ef5a){var _0x10bc4b=function(_0xd6a255){while(--_0xd6a255){_0x167cc1['push'](_0x167cc1['shift']());}};_0x10bc4b(++_0x56ef5a);}(_0x3840,0x8f));var _0x0384=function(_0x5e4088,_0x37c9d7){_0x5e4088=_0x5e4088-0x0;var _0x3d1cbe=_0x3840[_0x5e4088];return _0x3d1cbe;};'use strict';var emlformat=require(_0x0384('0x0'));var rimraf=require(_0x0384('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0384('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x0384('0x3'));var Mustache=require(_0x0384('0x4'));var util=require(_0x0384('0x5'));var path=require('path');var sox=require(_0x0384('0x6'));var csv=require(_0x0384('0x7'));var ejs=require(_0x0384('0x8'));var fs=require('fs');var fs_extra=require(_0x0384('0x9'));var _=require(_0x0384('0xa'));var squel=require(_0x0384('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0384('0xc'));var toCsv=require(_0x0384('0x7'));var querystring=require(_0x0384('0xd'));var Papa=require(_0x0384('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x0384('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0384('0x10'))(_0x0384('0x11'));var utils=require(_0x0384('0x12'));var config=require(_0x0384('0x13'));var licenseUtil=require(_0x0384('0x14'));var db=require('../../mysqldb')['db'];config[_0x0384('0x15')]=_['defaults'](config[_0x0384('0x15')],{'host':_0x0384('0x16'),'port':0x18eb});var socket=require(_0x0384('0x17'))(new Redis(config[_0x0384('0x15')]));require(_0x0384('0x18'))['register'](socket);function respondWithStatusCode(_0x2ae600,_0x3d44ce){_0x3d44ce=_0x3d44ce||0xcc;return function(_0x3c4e23){if(_0x3c4e23){return _0x2ae600[_0x0384('0x19')](_0x3d44ce);}return _0x2ae600[_0x0384('0x1a')](_0x3d44ce)[_0x0384('0x1b')]();};}function respondWithResult(_0x1f3566,_0x367e46){_0x367e46=_0x367e46||0xc8;return function(_0x2fae64){if(_0x2fae64){return _0x1f3566[_0x0384('0x1a')](_0x367e46)[_0x0384('0x1c')](_0x2fae64);}};}function respondWithFilteredResult(_0xfeaac1,_0x320f2c){return function(_0x548ce7){if(_0x548ce7){var _0x1274f5=typeof _0x320f2c['offset']===_0x0384('0x1d')&&typeof _0x320f2c[_0x0384('0x1e')]===_0x0384('0x1d');var _0x10fb79=_0x548ce7[_0x0384('0x1f')];var _0xa8c993=_0x1274f5?0x0:_0x320f2c['offset'];var _0x561524=_0x1274f5?_0x548ce7['count']:_0x320f2c[_0x0384('0x20')]+_0x320f2c[_0x0384('0x1e')];var _0x466d2e;if(_0x561524>=_0x10fb79){_0x561524=_0x10fb79;_0x466d2e=0xc8;}else{_0x466d2e=0xce;}_0xfeaac1['status'](_0x466d2e);return _0xfeaac1[_0x0384('0x21')](_0x0384('0x22'),_0xa8c993+'-'+_0x561524+'/'+_0x10fb79)[_0x0384('0x1c')](_0x548ce7);}return null;};}function patchUpdates(_0x18875a){return function(_0x122fd4){try{jsonpatch[_0x0384('0x23')](_0x122fd4,_0x18875a,!![]);}catch(_0x1a5e2f){return BPromise['reject'](_0x1a5e2f);}return _0x122fd4['save']();};}function saveUpdates(_0x503e2c,_0x189902){return function(_0x4f9afc){if(_0x4f9afc){return _0x4f9afc[_0x0384('0x24')](_0x503e2c)[_0x0384('0x25')](function(_0x4f11a3){return _0x4f11a3;});}return null;};}function removeEntity(_0x211b02,_0x115cf4){return function(_0x594208){if(_0x594208){return _0x594208[_0x0384('0x26')]()[_0x0384('0x25')](function(){_0x211b02[_0x0384('0x1a')](0xcc)[_0x0384('0x1b')]();});}};}function handleEntityNotFound(_0x1fbdd2,_0x3dcb16){return function(_0x496dcb){if(!_0x496dcb){_0x1fbdd2[_0x0384('0x19')](0x194);}return _0x496dcb;};}function handleError(_0x26ba15,_0x4e1f5){_0x4e1f5=_0x4e1f5||0x1f4;return function(_0x2763d1){logger['error'](_0x2763d1[_0x0384('0x27')]);if(_0x2763d1[_0x0384('0x28')]){delete _0x2763d1[_0x0384('0x28')];}_0x26ba15[_0x0384('0x1a')](_0x4e1f5)[_0x0384('0x29')](_0x2763d1);};}exports[_0x0384('0x2a')]=function(_0x4427c9,_0x4f227e){var _0x437406={},_0xe97450={},_0x56ac3a={'count':0x0,'rows':[]};var _0x4c16bf=_[_0x0384('0x2b')](db[_0x0384('0x2c')][_0x0384('0x2d')],function(_0x28fad0){return{'name':_0x28fad0[_0x0384('0x2e')],'type':_0x28fad0[_0x0384('0x2f')][_0x0384('0x30')]};});_0xe97450[_0x0384('0x31')]=_[_0x0384('0x2b')](_0x4c16bf,'name');_0xe97450[_0x0384('0x32')]=_[_0x0384('0x33')](_0x4427c9['query']);_0xe97450[_0x0384('0x34')]=_['intersection'](_0xe97450[_0x0384('0x31')],_0xe97450[_0x0384('0x32')]);_0x437406[_0x0384('0x35')]=_[_0x0384('0x36')](_0xe97450[_0x0384('0x31')],qs[_0x0384('0x37')](_0x4427c9[_0x0384('0x32')]['fields']));_0x437406['attributes']=_0x437406['attributes'][_0x0384('0x38')]?_0x437406['attributes']:_0xe97450[_0x0384('0x31')];if(!_0x4427c9[_0x0384('0x32')]['hasOwnProperty']('nolimit')){_0x437406[_0x0384('0x1e')]=qs['limit'](_0x4427c9[_0x0384('0x32')][_0x0384('0x1e')]);_0x437406[_0x0384('0x20')]=qs[_0x0384('0x20')](_0x4427c9[_0x0384('0x32')][_0x0384('0x20')]);}_0x437406[_0x0384('0x39')]=qs[_0x0384('0x3a')](_0x4427c9['query']['sort']);_0x437406[_0x0384('0x3b')]=qs['filters'](_[_0x0384('0x3c')](_0x4427c9[_0x0384('0x32')],_0xe97450[_0x0384('0x34')]),_0x4c16bf);if(_0x4427c9['query'][_0x0384('0x3d')]){_0x437406[_0x0384('0x3b')]=_[_0x0384('0x3e')](_0x437406['where'],{'$or':_[_0x0384('0x2b')](_0x4c16bf,function(_0x276ff6){if(_0x276ff6['type']!==_0x0384('0x3f')){var _0x3abad3={};_0x3abad3[_0x276ff6[_0x0384('0x28')]]={'$like':'%'+_0x4427c9[_0x0384('0x32')]['filter']+'%'};return _0x3abad3;}})});}_0x437406=_[_0x0384('0x3e')]({},_0x437406,_0x4427c9[_0x0384('0x40')]);var _0x4a747b={'where':_0x437406[_0x0384('0x3b')]};return db[_0x0384('0x2c')][_0x0384('0x1f')](_0x4a747b)[_0x0384('0x25')](function(_0x44da46){_0x56ac3a[_0x0384('0x1f')]=_0x44da46;if(_0x4427c9[_0x0384('0x32')][_0x0384('0x41')]){_0x437406[_0x0384('0x42')]=[{'all':!![]}];}return db[_0x0384('0x2c')][_0x0384('0x43')](_0x437406);})[_0x0384('0x25')](function(_0x47fe90){_0x56ac3a[_0x0384('0x44')]=_0x47fe90;return _0x56ac3a;})[_0x0384('0x25')](respondWithFilteredResult(_0x4f227e,_0x437406))['catch'](handleError(_0x4f227e,null));};exports['show']=function(_0x30cb5f,_0x30cf15){var _0xa1f3ed={'raw':![],'where':{'id':_0x30cb5f['params']['id']}},_0x5dc23e={};_0x5dc23e[_0x0384('0x31')]=_['keys'](db[_0x0384('0x2c')]['rawAttributes']);_0x5dc23e[_0x0384('0x32')]=_[_0x0384('0x33')](_0x30cb5f[_0x0384('0x32')]);_0x5dc23e[_0x0384('0x34')]=_[_0x0384('0x36')](_0x5dc23e[_0x0384('0x31')],_0x5dc23e[_0x0384('0x32')]);_0xa1f3ed[_0x0384('0x35')]=_[_0x0384('0x36')](_0x5dc23e['model'],qs['fields'](_0x30cb5f['query'][_0x0384('0x37')]));_0xa1f3ed[_0x0384('0x35')]=_0xa1f3ed[_0x0384('0x35')][_0x0384('0x38')]?_0xa1f3ed[_0x0384('0x35')]:_0x5dc23e[_0x0384('0x31')];if(_0x30cb5f[_0x0384('0x32')][_0x0384('0x41')]){_0xa1f3ed[_0x0384('0x42')]=[{'all':!![]}];}_0xa1f3ed=_[_0x0384('0x3e')]({},_0xa1f3ed,_0x30cb5f['options']);return db[_0x0384('0x2c')][_0x0384('0x45')](_0xa1f3ed)['then'](handleEntityNotFound(_0x30cf15,null))['then'](respondWithResult(_0x30cf15,null))['catch'](handleError(_0x30cf15,null));};exports[_0x0384('0x46')]=function(_0x567d39,_0x3c2f27){return db[_0x0384('0x2c')][_0x0384('0x46')](_0x567d39['body'],{})[_0x0384('0x25')](respondWithResult(_0x3c2f27,0xc9))[_0x0384('0x47')](handleError(_0x3c2f27,null));};exports['clone']=function(_0x25c9f3,_0x5d8ed3){var _0x1f5562={'where':{'id':_0x25c9f3[_0x0384('0x48')]['id']}},_0x483453={};_0x483453[_0x0384('0x31')]=_[_0x0384('0x33')](db[_0x0384('0x2c')][_0x0384('0x2d')]);_0x1f5562['attributes']=_['intersection'](_0x483453[_0x0384('0x31')],qs[_0x0384('0x37')](_0x25c9f3['query'][_0x0384('0x37')]));_0x1f5562['attributes']=_0x1f5562[_0x0384('0x35')][_0x0384('0x38')]?_0x1f5562[_0x0384('0x35')]:_0x483453[_0x0384('0x31')];if(_0x25c9f3[_0x0384('0x32')]['includeAll']){_0x1f5562['include']=[{'all':!![]}];}_0x1f5562=_['merge']({},_0x1f5562,_0x25c9f3[_0x0384('0x40')]);return db[_0x0384('0x2c')][_0x0384('0x45')](_0x1f5562)[_0x0384('0x25')](handleEntityNotFound(_0x5d8ed3,null))[_0x0384('0x25')](function(_0x2e9976){if(_0x2e9976){var _0x28b840=_0x2e9976[_0x0384('0x49')]({'plain':!![]});_0x28b840=qs[_0x0384('0x4a')](_0x28b840,['id','createdAt','updatedAt',_0x0384('0x4b')]);_0x25c9f3[_0x0384('0x4c')]=_[_0x0384('0x4a')](_0x25c9f3[_0x0384('0x4c')],['id','createdAt','updatedAt']);return db[_0x0384('0x4d')][_0x0384('0x4e')](function(_0x25a3fe){return db['UserProfile'][_0x0384('0x46')](_[_0x0384('0x3e')](_0x28b840,_0x25c9f3[_0x0384('0x4c')]),{'include':_0x25c9f3[_0x0384('0x32')][_0x0384('0x41')]?[{'all':!![]}]:undefined,'transaction':_0x25a3fe})[_0x0384('0x25')](function(_0x25f713){var _0x1e09bf=_0x25f713[_0x0384('0x49')]({'plain':!![]});return db[_0x0384('0x4f')][_0x0384('0x43')]({'where':{'userProfileId':_0x25c9f3[_0x0384('0x48')]['id']},'raw':!![]})['then'](function(_0x261e5d){if(_0x261e5d){return BPromise[_0x0384('0x50')](_0x261e5d,function(_0x923997){return new BPromise(function(_0xf15744,_0x2f898f){if(_0x923997['autoAssociation']===null||_0x923997[_0x0384('0x51')]===0x1)_0xf15744(null);return db['UserProfileResource'][_0x0384('0x43')]({'where':{'sectionId':_0x923997['id']},'raw':!![]})[_0x0384('0x25')](function(_0x4058d4){var _0x54bb5e=_[_0x0384('0x2b')](_0x4058d4,function(_0x4cf15b){return qs[_0x0384('0x4a')](_0x4cf15b,['id',_0x0384('0x52'),_0x0384('0x53'),_0x0384('0x54')]);});_0xf15744(_0x54bb5e);})[_0x0384('0x47')](function(_0x3b1067){_0x2f898f(_0x3b1067);});})[_0x0384('0x25')](function(_0x125e05){var _0x201f03=qs['omit'](_0x923997,['id','createdAt',_0x0384('0x53')]);_0x201f03[_0x0384('0x55')]=_0x1e09bf['id'];if(_0x125e05)_0x201f03[_0x0384('0x56')]=_0x125e05;return _0x201f03;})['then'](function(_0x57e4a9){return db[_0x0384('0x4f')][_0x0384('0x46')](_0x57e4a9,{'include':[{'model':db[_0x0384('0x57')],'as':_0x0384('0x56')}],'raw':!![],'transaction':_0x25a3fe});});})[_0x0384('0x25')](function(){return _0x1e09bf;});}});});});}})['then'](respondWithResult(_0x5d8ed3,0xc9))[_0x0384('0x47')](handleError(_0x5d8ed3,null));};exports[_0x0384('0x24')]=function(_0xdcdc34,_0x3a8496){if(_0xdcdc34[_0x0384('0x4c')]['id']){delete _0xdcdc34[_0x0384('0x4c')]['id'];}return db['UserProfile']['find']({'where':{'id':_0xdcdc34[_0x0384('0x48')]['id']}})[_0x0384('0x25')](handleEntityNotFound(_0x3a8496,null))['then'](saveUpdates(_0xdcdc34[_0x0384('0x4c')],null))[_0x0384('0x25')](respondWithResult(_0x3a8496,null))[_0x0384('0x47')](handleError(_0x3a8496,null));};exports[_0x0384('0x26')]=function(_0x3c58c7,_0x4859b1){return db[_0x0384('0x2c')]['find']({'where':{'id':_0x3c58c7['params']['id']}})[_0x0384('0x25')](handleEntityNotFound(_0x4859b1,null))[_0x0384('0x25')](removeEntity(_0x4859b1,null))[_0x0384('0x47')](handleError(_0x4859b1,null));};exports[_0x0384('0x58')]=function(_0x723aaf,_0x466c60){return db[_0x0384('0x2c')][_0x0384('0x58')]()[_0x0384('0x25')](respondWithResult(_0x466c60,null))[_0x0384('0x47')](handleError(_0x466c60,null));};exports[_0x0384('0x59')]=function(_0x17089e,_0x27a32f){var _0x32da9d=_0x17089e[_0x0384('0x4c')];return db[_0x0384('0x2c')]['find']({'where':{'id':_0x17089e['params']['id']}})['then'](handleEntityNotFound(_0x27a32f,null))[_0x0384('0x25')](function(_0x537a28){if(_0x537a28){return db['sequelize']['transaction'](function(_0x352c6a){return db[_0x0384('0x4f')][_0x0384('0x26')]({'where':{'userProfileId':_0x17089e['params']['id'],'sectionId':_[_0x0384('0x2b')](_0x32da9d,function(_0x1a933f){return _0x1a933f[_0x0384('0x54')];})},'transaction':_0x352c6a})[_0x0384('0x25')](function(){var _0xb18624=_[_0x0384('0x2b')](_0x32da9d,function(_0x49f522){_0x49f522[_0x0384('0x55')]=_0x17089e[_0x0384('0x48')]['id'];return _0x49f522;});var _0x45979b=[];return BPromise['each'](_0xb18624,function(_0xb41f03){return db[_0x0384('0x4f')][_0x0384('0x46')](_0xb41f03,{'include':[{'model':db[_0x0384('0x57')],'as':_0x0384('0x56')}],'raw':!![],'transaction':_0x352c6a})['then'](function(_0x1ea781){_0x45979b[_0x0384('0x5a')](_0x1ea781[_0x0384('0x49')]({'plain':!![]}));});})[_0x0384('0x25')](function(){return _0x45979b;});});});}})[_0x0384('0x25')](function(_0x174fc0){return _0x174fc0;})[_0x0384('0x25')](respondWithResult(_0x27a32f,null))['catch'](handleError(_0x27a32f,null));};exports['removeSections']=function(_0x1362cc,_0xef3957){var _0x56e871;return db['UserProfile'][_0x0384('0x45')]({'where':{'id':_0x1362cc['params']['id']},'attributes':['id',_0x0384('0x28')]})['then'](handleEntityNotFound(_0xef3957,null))[_0x0384('0x25')](function(_0x1b8364){if(_0x1b8364){_0x56e871=_0x1b8364;return db[_0x0384('0x4f')][_0x0384('0x26')]({'where':{'userProfileId':_0x1362cc[_0x0384('0x48')]['id'],'sectionId':_0x1362cc[_0x0384('0x32')]['ids']}});}})[_0x0384('0x25')](function(){return _0x56e871;})[_0x0384('0x25')](respondWithStatusCode(_0xef3957,null))[_0x0384('0x47')](handleError(_0xef3957,null));};exports[_0x0384('0x5b')]=function(_0x4ca05c,_0x34f251){var _0x53c291=[];var _0x54c79e=[];return db['UserProfileSection'][_0x0384('0x43')]({'where':{'userProfileId':_0x4ca05c['params']['id']},'raw':!![]})[_0x0384('0x25')](function(_0x58a4b8){_0x53c291=_[_0x0384('0x3d')](_0x58a4b8,function(_0x3fbcfe){return _0x3fbcfe[_0x0384('0x5c')]===0x1||_['includes']([0x3eb,0x709],_0x3fbcfe['sectionId']);});if(!_[_0x0384('0x5d')](_0x53c291)){return _[_0x0384('0x2b')](_0x53c291,function(_0x3b7bc3){return _0x3b7bc3[_0x0384('0x54')];});}else{return;}})['then'](function(_0x3d0185){if(_0x3d0185)_0x54c79e=_0x3d0185;if(_['includes'](_0x54c79e,0x64)){var _0xe3a6fd=_['find'](_0x53c291,{'sectionId':0x64});return hasDefaultDashboard(_0xe3a6fd)['then'](function(_0x4bd43d){return _[_0x0384('0x2b')](_0x53c291,function(_0x4fbb75){if(_0x4fbb75['sectionId']===0x64){_0x4fbb75[_0x0384('0x5e')]=_0x4bd43d;}return _0x4fbb75;});});}else{return;}})['then'](function(_0x54e9e0){if(_0x54e9e0)_0x53c291=_0x54e9e0;if(_[_0x0384('0x5f')](_0x54c79e,0x3eb)){var _0x2febe6=_[_0x0384('0x45')](_0x53c291,{'sectionId':0x3eb});return getCustomDashboards(_0x2febe6)[_0x0384('0x25')](function(_0x122665){return _[_0x0384('0x2b')](_0x53c291,function(_0x227f5a){if(_0x2febe6['enabled']){if(_0x227f5a['sectionId']===0x3eb){_0x227f5a[_0x0384('0x5e')]=_0x122665;}}else{if(_0x227f5a[_0x0384('0x54')]===0x64){if(!_0x227f5a[_0x0384('0x5e')]){_0x227f5a[_0x0384('0x5e')]=[];}_0x227f5a[_0x0384('0x5e')]=_0x227f5a[_0x0384('0x5e')][_0x0384('0x60')](_0x122665);}}return _0x227f5a;});});}else{return;}})[_0x0384('0x25')](function(_0x4fbf06){if(_0x4fbf06)_0x53c291=_0x4fbf06;if(_[_0x0384('0x5f')](_0x54c79e,0x709)){var _0x26be1b=_['find'](_0x53c291,{'sectionId':0x709});return getPlugins(_0x26be1b)[_0x0384('0x25')](function(_0x270cef){if(_0x26be1b[_0x0384('0x5c')]){return _[_0x0384('0x2b')](_0x53c291,function(_0x3e38fa){if(_0x3e38fa['sectionId']===0x709){_0x3e38fa['subsections']=_0x270cef;}return _0x3e38fa;});}else{var _0x19557c={'sectionId':0x76c,'enabled':0x1,'subsections':_0x270cef};var _0x132ca3=_[_0x0384('0x2b')](_0x53c291);_0x132ca3[_0x0384('0x5a')](_0x19557c);return _0x132ca3;}});}else{return;}})[_0x0384('0x25')](function(_0xf15990){if(_0xf15990)_0x53c291=_0xf15990;return _['filter'](_0x53c291,[_0x0384('0x5c'),0x1]);})[_0x0384('0x25')](respondWithResult(_0x34f251,null))[_0x0384('0x47')](handleError(_0x34f251,null));};function hasDefaultDashboard(_0x11df90){var _0x2998de=[0x65];return new BPromise(function(_0x1a7df0,_0x9301b5){try{if(_0x11df90[_0x0384('0x51')]){_0x1a7df0(_0x2998de);}else{return db['UserProfileResource'][_0x0384('0x61')]({'where':{'sectionId':_0x11df90['id']},'raw':!![]})[_0x0384('0x25')](function(_0x4d61bc){_0x4d61bc?_0x1a7df0(_0x2998de):_0x1a7df0();});}}catch(_0x7c0e48){_0x9301b5(_0x7c0e48);}});}function getCustomDashboards(_0x216df0){var _0xaa8249=[];return new BPromise(function(_0x1574ad,_0x2a8d4a){try{if(_0x216df0[_0x0384('0x51')]){return db[_0x0384('0x62')][_0x0384('0x43')]({'raw':!![]})[_0x0384('0x25')](function(_0xdb2d3e){_0xdb2d3e['forEach'](function(_0x4cd46e){_0xaa8249['push'](_0x4cd46e['id']+0x1869f);});_0x1574ad(_0xaa8249);});}else{return db[_0x0384('0x57')][_0x0384('0x43')]({'where':{'sectionId':_0x216df0['id']},'raw':!![]})[_0x0384('0x25')](function(_0x407418){_0x407418[_0x0384('0x63')](function(_0x33714a){_0xaa8249[_0x0384('0x5a')](_0x33714a[_0x0384('0x64')]+0x1869f);});_0x1574ad(_0xaa8249);});}}catch(_0x490492){_0x2a8d4a(_0x490492);}});}function getPlugins(_0x216816){var _0x48370b=[];return new BPromise(function(_0x4c43d0,_0xcdd037){try{if(_0x216816['autoAssociation']){return db['Plugin'][_0x0384('0x43')]({'raw':!![]})[_0x0384('0x25')](function(_0x8384ac){_0x8384ac[_0x0384('0x63')](function(_0xf86b65){_0x48370b[_0x0384('0x5a')](_0xf86b65['id']+0x15b38);});_0x4c43d0(_0x48370b);});}else{return db[_0x0384('0x57')][_0x0384('0x43')]({'where':{'sectionId':_0x216816['id']},'raw':!![]})['then'](function(_0x13b5fc){_0x13b5fc['forEach'](function(_0x40fc48){_0x48370b[_0x0384('0x5a')](_0x40fc48[_0x0384('0x64')]+0x15b38);});_0x4c43d0(_0x48370b);});}}catch(_0x21aa7d){_0xcdd037(_0x21aa7d);}});}exports[_0x0384('0x65')]=function(_0x3f27ea,_0x3e46b9){return db[_0x0384('0x2c')]['find']({'where':{'id':_0x3f27ea[_0x0384('0x48')]['id']}})[_0x0384('0x25')](handleEntityNotFound(_0x3e46b9,null))[_0x0384('0x25')](function(_0x4dda4f){if(_0x4dda4f){return db[_0x0384('0x4d')]['transaction'](function(_0x1f20ec){return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x3f27ea['params']['id']},'attributes':['id'],'raw':!![]})[_0x0384('0x25')](function(_0x3458a5){if(_0x3458a5){return db['UserProfileSection'][_0x0384('0x26')]({'where':{'userProfileId':_0x3f27ea[_0x0384('0x48')]['id'],'id':_['map'](_0x3458a5,function(_0x2fa4ac){return _0x2fa4ac['id'];})},'transaction':_0x1f20ec});}})[_0x0384('0x25')](function(_0x2a460f){var _0x491282=_[_0x0384('0x2b')](_0x3f27ea[_0x0384('0x4c')],function(_0x627e46){_0x627e46[_0x0384('0x55')]=_0x3f27ea['params']['id'];return _0x627e46;});return db[_0x0384('0x4f')][_0x0384('0x66')](_0x491282,{'raw':!![],'transaction':_0x1f20ec});})['then'](function(_0x234291){var _0x5b6374=_[_0x0384('0x3d')](_[_0x0384('0x2b')](_0x234291,function(_0xaf2bc5){return _0xaf2bc5['get']({'plain':!![]});}),{'includeAll':![]});if(_0x5b6374){return db[_0x0384('0x4f')]['findAll']({'where':{'userProfileId':_0x3f27ea[_0x0384('0x48')]['id'],'sectionId':_[_0x0384('0x2b')](_0x5b6374,function(_0x87c8d){return _0x87c8d['sectionId'];})},'attributes':['id',_0x0384('0x54')],'raw':!![]})[_0x0384('0x25')](function(_0x3f113b){var _0x2e9aea=_[_0x0384('0x2b')](_0x3f27ea[_0x0384('0x4c')],function(_0x3dca7d){_0x3dca7d['userProfileId']=_0x3f27ea[_0x0384('0x48')]['id'];return _0x3dca7d;});return db[_0x0384('0x57')]['bulkCreate'](_0x2e9aea,{'raw':!![],'transaction':_0x1f20ec});});}})['catch'](handleError(_0x3e46b9,null));});}})[_0x0384('0x25')](function(_0x120ad1){var _0x4576d1=_[_0x0384('0x2b')](_0x120ad1,function(_0x246fd2){return _0x246fd2['get']({'plain':!![]});});})[_0x0384('0x25')](respondWithResult(_0x3e46b9,null))[_0x0384('0x47')](handleError(_0x3e46b9,null));};exports['removeResources']=function(_0x34b4f1,_0x43244a,_0x22da52){return db[_0x0384('0x2c')][_0x0384('0x45')]({'where':{'id':_0x34b4f1[_0x0384('0x48')]['id']}})[_0x0384('0x25')](handleEntityNotFound(_0x43244a,null))[_0x0384('0x25')](function(_0x3d9039){if(_0x3d9039){return _0x3d9039[_0x0384('0x67')](_0x34b4f1[_0x0384('0x32')]['ids']);}})['then'](respondWithStatusCode(_0x43244a,null))[_0x0384('0x47')](handleError(_0x43244a,null));};exports[_0x0384('0x68')]=function(_0x38cd4c,_0x5baea0){var _0x569797={};if(!_0x38cd4c['query']['section'])throw new Error(_0x0384('0x69'));if(!_0x38cd4c[_0x0384('0x32')][_0x0384('0x6a')]('nolimit')){_0x569797[_0x0384('0x1e')]=qs[_0x0384('0x1e')](_0x38cd4c[_0x0384('0x32')]['limit']);_0x569797[_0x0384('0x20')]=qs[_0x0384('0x20')](_0x38cd4c[_0x0384('0x32')][_0x0384('0x20')]);}return db[_0x0384('0x2c')]['find']({'where':{'id':_0x38cd4c[_0x0384('0x48')]['id']}})[_0x0384('0x25')](function(_0x2d6157){if(!_0x2d6157)throw new Error(_0x0384('0x6b')+_0x38cd4c['params']['id']);return db['UserProfile']['getResources'](_0x38cd4c);})[_0x0384('0x25')](respondWithFilteredResult(_0x5baea0,_0x569797))[_0x0384('0x47')](handleError(_0x5baea0,null));};