96ec26469ced1c29a1332ce4cee3bdeb3219c792
[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 _0x18d7=['sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','defaults','redis','register','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','save','update','then','destroy','error','stack','index','map','rawAttributes','fieldName','type','key','name','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','filter','merge','VIRTUAL','UserProfile','include','findAll','rows','catch','params','includeAll','options','create','find','createdAt','crudPermissions','body','omit','transaction','get','UserProfileSection','each','autoAssociation','UserProfileResource','updatedAt','userProfileId','describe','addSections','sequelize','sectionId','Resources','push','removeSections','getSections','includes','isEmpty','subsections','concat','enabled','findOne','resourceId','Plugin','forEach','addResources','bulkCreate','removeResources','ids','section','Missing\x20section\x20parameter','No\x20User\x20Profile\x20found\x20for\x20id\x20','getResources','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path'];(function(_0x1ab64f,_0x37ffbb){var _0x38c6bd=function(_0x11c8aa){while(--_0x11c8aa){_0x1ab64f['push'](_0x1ab64f['shift']());}};_0x38c6bd(++_0x37ffbb);}(_0x18d7,0x14d));var _0x718d=function(_0x386574,_0x4f92e9){_0x386574=_0x386574-0x0;var _0x1f8da8=_0x18d7[_0x386574];return _0x1f8da8;};'use strict';var emlformat=require(_0x718d('0x0'));var rimraf=require(_0x718d('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x718d('0x2'));var rp=require(_0x718d('0x3'));var moment=require(_0x718d('0x4'));var BPromise=require(_0x718d('0x5'));var Mustache=require(_0x718d('0x6'));var util=require(_0x718d('0x7'));var path=require(_0x718d('0x8'));var sox=require(_0x718d('0x9'));var csv=require(_0x718d('0xa'));var ejs=require(_0x718d('0xb'));var fs=require('fs');var fs_extra=require(_0x718d('0xc'));var _=require(_0x718d('0xd'));var squel=require(_0x718d('0xe'));var crypto=require(_0x718d('0xf'));var jsforce=require(_0x718d('0x10'));var deskjs=require(_0x718d('0x11'));var toCsv=require(_0x718d('0xa'));var querystring=require('querystring');var Papa=require(_0x718d('0x12'));var Redis=require(_0x718d('0x13'));var authService=require(_0x718d('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0x718d('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x718d('0x16'));var utils=require(_0x718d('0x17'));var config=require(_0x718d('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config['redis']=_[_0x718d('0x19')](config[_0x718d('0x1a')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x718d('0x1a')]));require('./userProfile.socket')[_0x718d('0x1b')](socket);function respondWithStatusCode(_0x3ec3d4,_0x1e0d32){_0x1e0d32=_0x1e0d32||0xcc;return function(_0x3db63f){if(_0x3db63f){return _0x3ec3d4[_0x718d('0x1c')](_0x1e0d32);}return _0x3ec3d4[_0x718d('0x1d')](_0x1e0d32)[_0x718d('0x1e')]();};}function respondWithResult(_0x33b166,_0x58c4fd){_0x58c4fd=_0x58c4fd||0xc8;return function(_0x2d5004){if(_0x2d5004){return _0x33b166[_0x718d('0x1d')](_0x58c4fd)[_0x718d('0x1f')](_0x2d5004);}};}function respondWithFilteredResult(_0x533134,_0x322a27){return function(_0x176bb1){if(_0x176bb1){var _0x52a0f5=typeof _0x322a27[_0x718d('0x20')]===_0x718d('0x21')&&typeof _0x322a27['limit']==='undefined';var _0x51ef04=_0x176bb1['count'];var _0x5395e8=_0x52a0f5?0x0:_0x322a27[_0x718d('0x20')];var _0x2c8592=_0x52a0f5?_0x176bb1[_0x718d('0x22')]:_0x322a27[_0x718d('0x20')]+_0x322a27[_0x718d('0x23')];var _0x1061af;if(_0x2c8592>=_0x51ef04){_0x2c8592=_0x51ef04;_0x1061af=0xc8;}else{_0x1061af=0xce;}_0x533134[_0x718d('0x1d')](_0x1061af);return _0x533134['set'](_0x718d('0x24'),_0x5395e8+'-'+_0x2c8592+'/'+_0x51ef04)[_0x718d('0x1f')](_0x176bb1);}return null;};}function patchUpdates(_0x2a6fe5){return function(_0x1744fd){try{jsonpatch[_0x718d('0x25')](_0x1744fd,_0x2a6fe5,!![]);}catch(_0x43ab78){return BPromise[_0x718d('0x26')](_0x43ab78);}return _0x1744fd[_0x718d('0x27')]();};}function saveUpdates(_0x4997b1,_0xf90f50){return function(_0x3619c1){if(_0x3619c1){return _0x3619c1[_0x718d('0x28')](_0x4997b1)[_0x718d('0x29')](function(_0xa2d396){return _0xa2d396;});}return null;};}function removeEntity(_0x5cbc81,_0x4233e0){return function(_0x43061e){if(_0x43061e){return _0x43061e[_0x718d('0x2a')]()['then'](function(){_0x5cbc81[_0x718d('0x1d')](0xcc)[_0x718d('0x1e')]();});}};}function handleEntityNotFound(_0x272ba2,_0x28088a){return function(_0x15cd5f){if(!_0x15cd5f){_0x272ba2[_0x718d('0x1c')](0x194);}return _0x15cd5f;};}function handleError(_0x7677cb,_0xfa7c0d){_0xfa7c0d=_0xfa7c0d||0x1f4;return function(_0x26dff2){logger[_0x718d('0x2b')](_0x26dff2[_0x718d('0x2c')]);if(_0x26dff2['name']){delete _0x26dff2['name'];}_0x7677cb[_0x718d('0x1d')](_0xfa7c0d)['send'](_0x26dff2);};}exports[_0x718d('0x2d')]=function(_0x2979a4,_0x3eeaf9){var _0x529ea4={},_0x1958e7={},_0x241e9f={'count':0x0,'rows':[]};var _0x2d56b2=_[_0x718d('0x2e')](db['UserProfile'][_0x718d('0x2f')],function(_0x2f4743){return{'name':_0x2f4743[_0x718d('0x30')],'type':_0x2f4743[_0x718d('0x31')][_0x718d('0x32')]};});_0x1958e7['model']=_['map'](_0x2d56b2,_0x718d('0x33'));_0x1958e7[_0x718d('0x34')]=_[_0x718d('0x35')](_0x2979a4[_0x718d('0x34')]);_0x1958e7[_0x718d('0x36')]=_[_0x718d('0x37')](_0x1958e7[_0x718d('0x38')],_0x1958e7[_0x718d('0x34')]);_0x529ea4[_0x718d('0x39')]=_[_0x718d('0x37')](_0x1958e7[_0x718d('0x38')],qs[_0x718d('0x3a')](_0x2979a4[_0x718d('0x34')]['fields']));_0x529ea4[_0x718d('0x39')]=_0x529ea4[_0x718d('0x39')][_0x718d('0x3b')]?_0x529ea4['attributes']:_0x1958e7[_0x718d('0x38')];if(!_0x2979a4[_0x718d('0x34')][_0x718d('0x3c')]('nolimit')){_0x529ea4[_0x718d('0x23')]=qs[_0x718d('0x23')](_0x2979a4[_0x718d('0x34')][_0x718d('0x23')]);_0x529ea4['offset']=qs[_0x718d('0x20')](_0x2979a4[_0x718d('0x34')][_0x718d('0x20')]);}_0x529ea4[_0x718d('0x3d')]=qs[_0x718d('0x3e')](_0x2979a4[_0x718d('0x34')][_0x718d('0x3e')]);_0x529ea4[_0x718d('0x3f')]=qs[_0x718d('0x36')](_['pick'](_0x2979a4[_0x718d('0x34')],_0x1958e7[_0x718d('0x36')]),_0x2d56b2);if(_0x2979a4[_0x718d('0x34')][_0x718d('0x40')]){_0x529ea4[_0x718d('0x3f')]=_[_0x718d('0x41')](_0x529ea4[_0x718d('0x3f')],{'$or':_['map'](_0x2d56b2,function(_0x166e85){if(_0x166e85[_0x718d('0x31')]!==_0x718d('0x42')){var _0x54c2d3={};_0x54c2d3[_0x166e85[_0x718d('0x33')]]={'$like':'%'+_0x2979a4[_0x718d('0x34')]['filter']+'%'};return _0x54c2d3;}})});}_0x529ea4=_[_0x718d('0x41')]({},_0x529ea4,_0x2979a4['options']);var _0xc9db70={'where':_0x529ea4[_0x718d('0x3f')]};return db[_0x718d('0x43')]['count'](_0xc9db70)[_0x718d('0x29')](function(_0x469149){_0x241e9f[_0x718d('0x22')]=_0x469149;if(_0x2979a4['query']['includeAll']){_0x529ea4[_0x718d('0x44')]=[{'all':!![]}];}return db[_0x718d('0x43')][_0x718d('0x45')](_0x529ea4);})[_0x718d('0x29')](function(_0x37666e){_0x241e9f[_0x718d('0x46')]=_0x37666e;return _0x241e9f;})[_0x718d('0x29')](respondWithFilteredResult(_0x3eeaf9,_0x529ea4))[_0x718d('0x47')](handleError(_0x3eeaf9,null));};exports['show']=function(_0x2649c3,_0x37efe0){var _0x5734bb={'raw':![],'where':{'id':_0x2649c3[_0x718d('0x48')]['id']}},_0x265091={};_0x265091['model']=_[_0x718d('0x35')](db[_0x718d('0x43')]['rawAttributes']);_0x265091[_0x718d('0x34')]=_[_0x718d('0x35')](_0x2649c3[_0x718d('0x34')]);_0x265091[_0x718d('0x36')]=_[_0x718d('0x37')](_0x265091[_0x718d('0x38')],_0x265091['query']);_0x5734bb['attributes']=_['intersection'](_0x265091[_0x718d('0x38')],qs[_0x718d('0x3a')](_0x2649c3[_0x718d('0x34')][_0x718d('0x3a')]));_0x5734bb['attributes']=_0x5734bb[_0x718d('0x39')][_0x718d('0x3b')]?_0x5734bb[_0x718d('0x39')]:_0x265091[_0x718d('0x38')];if(_0x2649c3[_0x718d('0x34')][_0x718d('0x49')]){_0x5734bb[_0x718d('0x44')]=[{'all':!![]}];}_0x5734bb=_[_0x718d('0x41')]({},_0x5734bb,_0x2649c3[_0x718d('0x4a')]);return db[_0x718d('0x43')]['find'](_0x5734bb)[_0x718d('0x29')](handleEntityNotFound(_0x37efe0,null))[_0x718d('0x29')](respondWithResult(_0x37efe0,null))[_0x718d('0x47')](handleError(_0x37efe0,null));};exports['create']=function(_0x4d1828,_0x114e8a){return db[_0x718d('0x43')][_0x718d('0x4b')](_0x4d1828['body'],{})['then'](respondWithResult(_0x114e8a,0xc9))[_0x718d('0x47')](handleError(_0x114e8a,null));};exports['clone']=function(_0x269122,_0x2a7bc2){var _0x465035={'where':{'id':_0x269122['params']['id']}},_0x11240a={};_0x11240a[_0x718d('0x38')]=_[_0x718d('0x35')](db[_0x718d('0x43')][_0x718d('0x2f')]);_0x465035[_0x718d('0x39')]=_[_0x718d('0x37')](_0x11240a[_0x718d('0x38')],qs[_0x718d('0x3a')](_0x269122[_0x718d('0x34')][_0x718d('0x3a')]));_0x465035[_0x718d('0x39')]=_0x465035[_0x718d('0x39')][_0x718d('0x3b')]?_0x465035[_0x718d('0x39')]:_0x11240a[_0x718d('0x38')];if(_0x269122[_0x718d('0x34')][_0x718d('0x49')]){_0x465035[_0x718d('0x44')]=[{'all':!![]}];}_0x465035=_[_0x718d('0x41')]({},_0x465035,_0x269122[_0x718d('0x4a')]);return db[_0x718d('0x43')][_0x718d('0x4c')](_0x465035)[_0x718d('0x29')](handleEntityNotFound(_0x2a7bc2,null))[_0x718d('0x29')](function(_0x5515ec){if(_0x5515ec){var _0x58a0bb=_0x5515ec['get']({'plain':!![]});_0x58a0bb=qs['omit'](_0x58a0bb,['id',_0x718d('0x4d'),'updatedAt',_0x718d('0x4e')]);_0x269122[_0x718d('0x4f')]=_[_0x718d('0x50')](_0x269122['body'],['id','createdAt','updatedAt']);return db['sequelize'][_0x718d('0x51')](function(_0x5924a8){return db['UserProfile'][_0x718d('0x4b')](_[_0x718d('0x41')](_0x58a0bb,_0x269122[_0x718d('0x4f')]),{'include':_0x269122[_0x718d('0x34')][_0x718d('0x49')]?[{'all':!![]}]:undefined,'transaction':_0x5924a8})['then'](function(_0x1dbd18){var _0x336727=_0x1dbd18[_0x718d('0x52')]({'plain':!![]});return db[_0x718d('0x53')][_0x718d('0x45')]({'where':{'userProfileId':_0x269122['params']['id']},'raw':!![]})[_0x718d('0x29')](function(_0x1bd43c){if(_0x1bd43c){return BPromise[_0x718d('0x54')](_0x1bd43c,function(_0x57f0c7){return new BPromise(function(_0xa7e290,_0x305718){if(_0x57f0c7['autoAssociation']===null||_0x57f0c7[_0x718d('0x55')]===0x1)_0xa7e290(null);return db[_0x718d('0x56')][_0x718d('0x45')]({'where':{'sectionId':_0x57f0c7['id']},'raw':!![]})[_0x718d('0x29')](function(_0x17c080){var _0x2b95c3=_[_0x718d('0x2e')](_0x17c080,function(_0x583adb){return qs[_0x718d('0x50')](_0x583adb,['id',_0x718d('0x4d'),_0x718d('0x57'),'sectionId']);});_0xa7e290(_0x2b95c3);})['catch'](function(_0x19e4a6){_0x305718(_0x19e4a6);});})['then'](function(_0x5ef9e9){var _0x31e9c3=qs['omit'](_0x57f0c7,['id',_0x718d('0x4d'),_0x718d('0x57')]);_0x31e9c3[_0x718d('0x58')]=_0x336727['id'];if(_0x5ef9e9)_0x31e9c3['Resources']=_0x5ef9e9;return _0x31e9c3;})[_0x718d('0x29')](function(_0x5731d1){return db[_0x718d('0x53')][_0x718d('0x4b')](_0x5731d1,{'include':[{'model':db[_0x718d('0x56')],'as':'Resources'}],'raw':!![],'transaction':_0x5924a8});});})[_0x718d('0x29')](function(){return _0x336727;});}});});});}})['then'](respondWithResult(_0x2a7bc2,0xc9))['catch'](handleError(_0x2a7bc2,null));};exports[_0x718d('0x28')]=function(_0x9bb521,_0xe873d){if(_0x9bb521[_0x718d('0x4f')]['id']){delete _0x9bb521[_0x718d('0x4f')]['id'];}return db[_0x718d('0x43')][_0x718d('0x4c')]({'where':{'id':_0x9bb521[_0x718d('0x48')]['id']}})[_0x718d('0x29')](handleEntityNotFound(_0xe873d,null))[_0x718d('0x29')](saveUpdates(_0x9bb521[_0x718d('0x4f')],null))[_0x718d('0x29')](respondWithResult(_0xe873d,null))[_0x718d('0x47')](handleError(_0xe873d,null));};exports[_0x718d('0x2a')]=function(_0x388589,_0x3dbed1){return db[_0x718d('0x43')]['find']({'where':{'id':_0x388589[_0x718d('0x48')]['id']}})[_0x718d('0x29')](handleEntityNotFound(_0x3dbed1,null))['then'](removeEntity(_0x3dbed1,null))[_0x718d('0x47')](handleError(_0x3dbed1,null));};exports[_0x718d('0x59')]=function(_0x3945b2,_0x356637){return db[_0x718d('0x43')][_0x718d('0x59')]()['then'](respondWithResult(_0x356637,null))[_0x718d('0x47')](handleError(_0x356637,null));};exports[_0x718d('0x5a')]=function(_0x391ec5,_0x3205da){var _0x565a5d=_0x391ec5[_0x718d('0x4f')];return db[_0x718d('0x43')][_0x718d('0x4c')]({'where':{'id':_0x391ec5[_0x718d('0x48')]['id']}})[_0x718d('0x29')](handleEntityNotFound(_0x3205da,null))[_0x718d('0x29')](function(_0x37e144){if(_0x37e144){return db[_0x718d('0x5b')]['transaction'](function(_0x39367e){return db[_0x718d('0x53')][_0x718d('0x2a')]({'where':{'userProfileId':_0x391ec5['params']['id'],'sectionId':_[_0x718d('0x2e')](_0x565a5d,function(_0x4365e9){return _0x4365e9[_0x718d('0x5c')];})},'transaction':_0x39367e})['then'](function(){var _0x3c1d6f=_[_0x718d('0x2e')](_0x565a5d,function(_0x183f18){_0x183f18[_0x718d('0x58')]=_0x391ec5[_0x718d('0x48')]['id'];return _0x183f18;});var _0x46e803=[];return BPromise[_0x718d('0x54')](_0x3c1d6f,function(_0x151284){return db[_0x718d('0x53')][_0x718d('0x4b')](_0x151284,{'include':[{'model':db[_0x718d('0x56')],'as':_0x718d('0x5d')}],'raw':!![],'transaction':_0x39367e})[_0x718d('0x29')](function(_0x1acf5d){_0x46e803[_0x718d('0x5e')](_0x1acf5d[_0x718d('0x52')]({'plain':!![]}));});})[_0x718d('0x29')](function(){return _0x46e803;});});});}})['then'](function(_0x46d1f3){return _0x46d1f3;})['then'](respondWithResult(_0x3205da,null))[_0x718d('0x47')](handleError(_0x3205da,null));};exports[_0x718d('0x5f')]=function(_0x1ae976,_0x343e61){var _0x2da15b;return db['UserProfile'][_0x718d('0x4c')]({'where':{'id':_0x1ae976[_0x718d('0x48')]['id']},'attributes':['id',_0x718d('0x33')]})[_0x718d('0x29')](handleEntityNotFound(_0x343e61,null))[_0x718d('0x29')](function(_0x3e7b46){if(_0x3e7b46){_0x2da15b=_0x3e7b46;return db[_0x718d('0x53')]['destroy']({'where':{'userProfileId':_0x1ae976[_0x718d('0x48')]['id'],'sectionId':_0x1ae976[_0x718d('0x34')]['ids']}});}})[_0x718d('0x29')](function(){return _0x2da15b;})[_0x718d('0x29')](respondWithStatusCode(_0x343e61,null))[_0x718d('0x47')](handleError(_0x343e61,null));};exports[_0x718d('0x60')]=function(_0x31b1cd,_0x17c7e8){var _0x5e8143=[];var _0x396d11=[];return db[_0x718d('0x53')][_0x718d('0x45')]({'where':{'userProfileId':_0x31b1cd[_0x718d('0x48')]['id']},'raw':!![]})['then'](function(_0x1b9202){_0x5e8143=_['filter'](_0x1b9202,function(_0x3cec3b){return _0x3cec3b['enabled']===0x1||_[_0x718d('0x61')]([0x3eb,0x709],_0x3cec3b[_0x718d('0x5c')]);});if(!_[_0x718d('0x62')](_0x5e8143)){return _['map'](_0x5e8143,function(_0x5b9766){return _0x5b9766[_0x718d('0x5c')];});}else{return;}})['then'](function(_0x4ccf89){if(_0x4ccf89)_0x396d11=_0x4ccf89;if(_[_0x718d('0x61')](_0x396d11,0x64)){var _0x43ebd7=_[_0x718d('0x4c')](_0x5e8143,{'sectionId':0x64});return hasDefaultDashboard(_0x43ebd7)['then'](function(_0x3d0380){return _[_0x718d('0x2e')](_0x5e8143,function(_0x1012f3){if(_0x1012f3[_0x718d('0x5c')]===0x64){_0x1012f3[_0x718d('0x63')]=_0x3d0380;}return _0x1012f3;});});}else{return;}})[_0x718d('0x29')](function(_0x3e45c8){if(_0x3e45c8)_0x5e8143=_0x3e45c8;if(_[_0x718d('0x61')](_0x396d11,0x3eb)){var _0x44fbfd=_[_0x718d('0x4c')](_0x5e8143,{'sectionId':0x3eb});return getCustomDashboards(_0x44fbfd)['then'](function(_0x120d39){return _[_0x718d('0x2e')](_0x5e8143,function(_0x2ee681){if(_0x44fbfd['enabled']){if(_0x2ee681[_0x718d('0x5c')]===0x3eb){_0x2ee681[_0x718d('0x63')]=_0x120d39;}}else{if(_0x2ee681[_0x718d('0x5c')]===0x64){if(!_0x2ee681[_0x718d('0x63')]){_0x2ee681[_0x718d('0x63')]=[];}_0x2ee681[_0x718d('0x63')]=_0x2ee681['subsections'][_0x718d('0x64')](_0x120d39);}}return _0x2ee681;});});}else{return;}})[_0x718d('0x29')](function(_0x2896c7){if(_0x2896c7)_0x5e8143=_0x2896c7;if(_['includes'](_0x396d11,0x709)){var _0x5dc64e=_['find'](_0x5e8143,{'sectionId':0x709});return getPlugins(_0x5dc64e)['then'](function(_0xcaab46){if(_0x5dc64e[_0x718d('0x65')]){return _[_0x718d('0x2e')](_0x5e8143,function(_0x11ca4f){if(_0x11ca4f[_0x718d('0x5c')]===0x709){_0x11ca4f[_0x718d('0x63')]=_0xcaab46;}return _0x11ca4f;});}else{var _0x39f250={'sectionId':0x76c,'enabled':0x1,'subsections':_0xcaab46};var _0x73674a=_[_0x718d('0x2e')](_0x5e8143);_0x73674a['push'](_0x39f250);return _0x73674a;}});}else{return;}})[_0x718d('0x29')](function(_0x4946d1){if(_0x4946d1)_0x5e8143=_0x4946d1;return _[_0x718d('0x40')](_0x5e8143,[_0x718d('0x65'),0x1]);})['then'](respondWithResult(_0x17c7e8,null))[_0x718d('0x47')](handleError(_0x17c7e8,null));};function hasDefaultDashboard(_0x435282){var _0x343e27=[0x65];return new BPromise(function(_0x141c94,_0x3fcb41){try{if(_0x435282[_0x718d('0x55')]){_0x141c94(_0x343e27);}else{return db[_0x718d('0x56')][_0x718d('0x66')]({'where':{'sectionId':_0x435282['id']},'raw':!![]})['then'](function(_0x56c7de){_0x56c7de?_0x141c94(_0x343e27):_0x141c94();});}}catch(_0x2aeef7){_0x3fcb41(_0x2aeef7);}});}function getCustomDashboards(_0x3dcde0){var _0x2bd18a=[];return new BPromise(function(_0xfe565b,_0x48ff4a){try{if(_0x3dcde0[_0x718d('0x55')]){return db['Dashboard'][_0x718d('0x45')]({'raw':!![]})[_0x718d('0x29')](function(_0xc7bba3){_0xc7bba3['forEach'](function(_0x20f149){_0x2bd18a['push'](_0x20f149['id']+0x1869f);});_0xfe565b(_0x2bd18a);});}else{return db['UserProfileResource'][_0x718d('0x45')]({'where':{'sectionId':_0x3dcde0['id']},'raw':!![]})[_0x718d('0x29')](function(_0x6edcdd){_0x6edcdd['forEach'](function(_0xb9cbfb){_0x2bd18a[_0x718d('0x5e')](_0xb9cbfb[_0x718d('0x67')]+0x1869f);});_0xfe565b(_0x2bd18a);});}}catch(_0x12a543){_0x48ff4a(_0x12a543);}});}function getPlugins(_0x2f17bb){var _0x509064=[];return new BPromise(function(_0x2495c1,_0x5087c9){try{if(_0x2f17bb['autoAssociation']){return db[_0x718d('0x68')][_0x718d('0x45')]({'raw':!![]})[_0x718d('0x29')](function(_0x47d150){_0x47d150['forEach'](function(_0x25aa81){_0x509064[_0x718d('0x5e')](_0x25aa81['id']+0x15b38);});_0x2495c1(_0x509064);});}else{return db[_0x718d('0x56')][_0x718d('0x45')]({'where':{'sectionId':_0x2f17bb['id']},'raw':!![]})[_0x718d('0x29')](function(_0x12d15e){_0x12d15e[_0x718d('0x69')](function(_0x11271b){_0x509064[_0x718d('0x5e')](_0x11271b['resourceId']+0x15b38);});_0x2495c1(_0x509064);});}}catch(_0x293627){_0x5087c9(_0x293627);}});}exports[_0x718d('0x6a')]=function(_0x3f2e1c,_0x5ea9d3){return db[_0x718d('0x43')][_0x718d('0x4c')]({'where':{'id':_0x3f2e1c[_0x718d('0x48')]['id']}})[_0x718d('0x29')](handleEntityNotFound(_0x5ea9d3,null))['then'](function(_0x3e2a08){if(_0x3e2a08){return db['sequelize'][_0x718d('0x51')](function(_0xc117ae){return db[_0x718d('0x53')][_0x718d('0x45')]({'where':{'userProfileId':_0x3f2e1c[_0x718d('0x48')]['id']},'attributes':['id'],'raw':!![]})[_0x718d('0x29')](function(_0x509a4b){if(_0x509a4b){return db[_0x718d('0x53')][_0x718d('0x2a')]({'where':{'userProfileId':_0x3f2e1c[_0x718d('0x48')]['id'],'id':_[_0x718d('0x2e')](_0x509a4b,function(_0x2d6321){return _0x2d6321['id'];})},'transaction':_0xc117ae});}})[_0x718d('0x29')](function(_0xcd0b78){var _0x5dc5cf=_[_0x718d('0x2e')](_0x3f2e1c[_0x718d('0x4f')],function(_0x5a4d2f){_0x5a4d2f[_0x718d('0x58')]=_0x3f2e1c[_0x718d('0x48')]['id'];return _0x5a4d2f;});return db[_0x718d('0x53')][_0x718d('0x6b')](_0x5dc5cf,{'raw':!![],'transaction':_0xc117ae});})[_0x718d('0x29')](function(_0x200ed4){var _0x1a68e2=_[_0x718d('0x40')](_[_0x718d('0x2e')](_0x200ed4,function(_0x4996dc){return _0x4996dc['get']({'plain':!![]});}),{'includeAll':![]});if(_0x1a68e2){return db[_0x718d('0x53')][_0x718d('0x45')]({'where':{'userProfileId':_0x3f2e1c['params']['id'],'sectionId':_[_0x718d('0x2e')](_0x1a68e2,function(_0x1f5dbe){return _0x1f5dbe[_0x718d('0x5c')];})},'attributes':['id',_0x718d('0x5c')],'raw':!![]})[_0x718d('0x29')](function(_0x45562e){var _0x5d1890=_[_0x718d('0x2e')](_0x3f2e1c['body'],function(_0x362414){_0x362414[_0x718d('0x58')]=_0x3f2e1c[_0x718d('0x48')]['id'];return _0x362414;});return db['UserProfileResource']['bulkCreate'](_0x5d1890,{'raw':!![],'transaction':_0xc117ae});});}})[_0x718d('0x47')](handleError(_0x5ea9d3,null));});}})[_0x718d('0x29')](function(_0x5ca193){var _0x21687f=_[_0x718d('0x2e')](_0x5ca193,function(_0x347fb4){return _0x347fb4[_0x718d('0x52')]({'plain':!![]});});})[_0x718d('0x29')](respondWithResult(_0x5ea9d3,null))[_0x718d('0x47')](handleError(_0x5ea9d3,null));};exports['removeResources']=function(_0x4e3737,_0x54fe3c,_0x5275f6){return db[_0x718d('0x43')]['find']({'where':{'id':_0x4e3737['params']['id']}})[_0x718d('0x29')](handleEntityNotFound(_0x54fe3c,null))[_0x718d('0x29')](function(_0x4961d2){if(_0x4961d2){return _0x4961d2[_0x718d('0x6c')](_0x4e3737[_0x718d('0x34')][_0x718d('0x6d')]);}})[_0x718d('0x29')](respondWithStatusCode(_0x54fe3c,null))['catch'](handleError(_0x54fe3c,null));};exports['getResources']=function(_0x2bb00b,_0x171182){var _0x5ed48f={};if(!_0x2bb00b[_0x718d('0x34')][_0x718d('0x6e')])throw new Error(_0x718d('0x6f'));if(!_0x2bb00b[_0x718d('0x34')][_0x718d('0x3c')]('nolimit')){_0x5ed48f[_0x718d('0x23')]=qs[_0x718d('0x23')](_0x2bb00b['query'][_0x718d('0x23')]);_0x5ed48f[_0x718d('0x20')]=qs[_0x718d('0x20')](_0x2bb00b[_0x718d('0x34')]['offset']);}return db[_0x718d('0x43')][_0x718d('0x4c')]({'where':{'id':_0x2bb00b[_0x718d('0x48')]['id']}})[_0x718d('0x29')](function(_0x879579){if(!_0x879579)throw new Error(_0x718d('0x70')+_0x2bb00b[_0x718d('0x48')]['id']);return db[_0x718d('0x43')][_0x718d('0x71')](_0x2bb00b);})[_0x718d('0x29')](respondWithFilteredResult(_0x171182,_0x5ed48f))[_0x718d('0x47')](handleError(_0x171182,null));};