92764b7ace21875a81c9f321a5c0b006b20338e8
[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 _0xc475=['userProfileId','Resources','update','describe','addSections','push','removeSections','ids','getSections','enabled','isEmpty','subsections','includes','concat','findOne','Dashboard','forEach','resourceId','Plugin','addResources','removeResources','getResources','section','hasOwnProperty','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','localhost','socket.io-emitter','redis','status','end','json','undefined','limit','count','offset','set','Content-Range','save','destroy','then','sendStatus','error','stack','name','send','map','UserProfile','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','findAll','rows','catch','rawAttributes','include','find','create','body','clone','params','get','omit','updatedAt','crudPermissions','createdAt','transaction','UserProfileSection','each','autoAssociation','UserProfileResource','sectionId'];(function(_0x5124c5,_0x5bf687){var _0x155c78=function(_0x512a92){while(--_0x512a92){_0x5124c5['push'](_0x5124c5['shift']());}};_0x155c78(++_0x5bf687);}(_0xc475,0x8a));var _0x5c47=function(_0x4bf895,_0x996dcd){_0x4bf895=_0x4bf895-0x0;var _0x3ff8c2=_0xc475[_0x4bf895];return _0x3ff8c2;};'use strict';var emlformat=require(_0x5c47('0x0'));var rimraf=require(_0x5c47('0x1'));var zipdir=require(_0x5c47('0x2'));var jsonpatch=require(_0x5c47('0x3'));var rp=require(_0x5c47('0x4'));var moment=require(_0x5c47('0x5'));var BPromise=require(_0x5c47('0x6'));var Mustache=require(_0x5c47('0x7'));var util=require(_0x5c47('0x8'));var path=require(_0x5c47('0x9'));var sox=require(_0x5c47('0xa'));var csv=require(_0x5c47('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x5c47('0xc'));var _=require(_0x5c47('0xd'));var squel=require(_0x5c47('0xe'));var crypto=require(_0x5c47('0xf'));var jsforce=require(_0x5c47('0x10'));var deskjs=require(_0x5c47('0x11'));var toCsv=require(_0x5c47('0xb'));var querystring=require('querystring');var Papa=require(_0x5c47('0x12'));var Redis=require(_0x5c47('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x5c47('0x14'));var as=require(_0x5c47('0x15'));var hardwareService=require(_0x5c47('0x16'));var logger=require(_0x5c47('0x17'))(_0x5c47('0x18'));var utils=require(_0x5c47('0x19'));var config=require(_0x5c47('0x1a'));var licenseUtil=require(_0x5c47('0x1b'));var db=require('../../mysqldb')['db'];config['redis']=_['defaults'](config['redis'],{'host':_0x5c47('0x1c'),'port':0x18eb});var socket=require(_0x5c47('0x1d'))(new Redis(config[_0x5c47('0x1e')]));require('./userProfile.socket')['register'](socket);function respondWithStatusCode(_0x29dd7e,_0x1c5696){_0x1c5696=_0x1c5696||0xcc;return function(_0x5251be){if(_0x5251be){return _0x29dd7e['sendStatus'](_0x1c5696);}return _0x29dd7e[_0x5c47('0x1f')](_0x1c5696)[_0x5c47('0x20')]();};}function respondWithResult(_0x477b94,_0x5bae07){_0x5bae07=_0x5bae07||0xc8;return function(_0x12da3b){if(_0x12da3b){return _0x477b94[_0x5c47('0x1f')](_0x5bae07)[_0x5c47('0x21')](_0x12da3b);}};}function respondWithFilteredResult(_0x306e96,_0x136594){return function(_0x19744f){if(_0x19744f){var _0xe6ed21=typeof _0x136594['offset']===_0x5c47('0x22')&&typeof _0x136594[_0x5c47('0x23')]===_0x5c47('0x22');var _0x3eaad8=_0x19744f[_0x5c47('0x24')];var _0x193b0a=_0xe6ed21?0x0:_0x136594[_0x5c47('0x25')];var _0x546e76=_0xe6ed21?_0x19744f[_0x5c47('0x24')]:_0x136594[_0x5c47('0x25')]+_0x136594[_0x5c47('0x23')];var _0xc5e140;if(_0x546e76>=_0x3eaad8){_0x546e76=_0x3eaad8;_0xc5e140=0xc8;}else{_0xc5e140=0xce;}_0x306e96['status'](_0xc5e140);return _0x306e96[_0x5c47('0x26')](_0x5c47('0x27'),_0x193b0a+'-'+_0x546e76+'/'+_0x3eaad8)[_0x5c47('0x21')](_0x19744f);}return null;};}function patchUpdates(_0x51692b){return function(_0x2b04dc){try{jsonpatch['apply'](_0x2b04dc,_0x51692b,!![]);}catch(_0x10c97d){return BPromise['reject'](_0x10c97d);}return _0x2b04dc[_0x5c47('0x28')]();};}function saveUpdates(_0x31103a,_0x3884d3){return function(_0x9b0418){if(_0x9b0418){return _0x9b0418['update'](_0x31103a)['then'](function(_0x1dc7f1){return _0x1dc7f1;});}return null;};}function removeEntity(_0x55102c,_0x51f2be){return function(_0x2ac1f5){if(_0x2ac1f5){return _0x2ac1f5[_0x5c47('0x29')]()[_0x5c47('0x2a')](function(){_0x55102c['status'](0xcc)[_0x5c47('0x20')]();});}};}function handleEntityNotFound(_0x366c99,_0x58ab22){return function(_0x333b84){if(!_0x333b84){_0x366c99[_0x5c47('0x2b')](0x194);}return _0x333b84;};}function handleError(_0x3d32bb,_0x2f01c7){_0x2f01c7=_0x2f01c7||0x1f4;return function(_0x1a0cdd){logger[_0x5c47('0x2c')](_0x1a0cdd[_0x5c47('0x2d')]);if(_0x1a0cdd[_0x5c47('0x2e')]){delete _0x1a0cdd[_0x5c47('0x2e')];}_0x3d32bb[_0x5c47('0x1f')](_0x2f01c7)[_0x5c47('0x2f')](_0x1a0cdd);};}exports['index']=function(_0x79d318,_0x2bf99b){var _0x4a1c63={},_0x4f066a={},_0x700ee5={'count':0x0,'rows':[]};var _0x23af93=_[_0x5c47('0x30')](db[_0x5c47('0x31')]['rawAttributes'],function(_0x175e68){return{'name':_0x175e68[_0x5c47('0x32')],'type':_0x175e68[_0x5c47('0x33')][_0x5c47('0x34')]};});_0x4f066a[_0x5c47('0x35')]=_[_0x5c47('0x30')](_0x23af93,_0x5c47('0x2e'));_0x4f066a[_0x5c47('0x36')]=_[_0x5c47('0x37')](_0x79d318['query']);_0x4f066a['filters']=_[_0x5c47('0x38')](_0x4f066a[_0x5c47('0x35')],_0x4f066a[_0x5c47('0x36')]);_0x4a1c63[_0x5c47('0x39')]=_['intersection'](_0x4f066a[_0x5c47('0x35')],qs['fields'](_0x79d318[_0x5c47('0x36')][_0x5c47('0x3a')]));_0x4a1c63['attributes']=_0x4a1c63['attributes'][_0x5c47('0x3b')]?_0x4a1c63[_0x5c47('0x39')]:_0x4f066a[_0x5c47('0x35')];if(!_0x79d318[_0x5c47('0x36')]['hasOwnProperty']('nolimit')){_0x4a1c63[_0x5c47('0x23')]=qs[_0x5c47('0x23')](_0x79d318[_0x5c47('0x36')]['limit']);_0x4a1c63[_0x5c47('0x25')]=qs[_0x5c47('0x25')](_0x79d318[_0x5c47('0x36')][_0x5c47('0x25')]);}_0x4a1c63[_0x5c47('0x3c')]=qs[_0x5c47('0x3d')](_0x79d318['query'][_0x5c47('0x3d')]);_0x4a1c63[_0x5c47('0x3e')]=qs['filters'](_[_0x5c47('0x3f')](_0x79d318[_0x5c47('0x36')],_0x4f066a['filters']),_0x23af93);if(_0x79d318[_0x5c47('0x36')]['filter']){_0x4a1c63[_0x5c47('0x3e')]=_[_0x5c47('0x40')](_0x4a1c63['where'],{'$or':_[_0x5c47('0x30')](_0x23af93,function(_0x1dbd96){if(_0x1dbd96[_0x5c47('0x33')]!==_0x5c47('0x41')){var _0x43432c={};_0x43432c[_0x1dbd96[_0x5c47('0x2e')]]={'$like':'%'+_0x79d318[_0x5c47('0x36')][_0x5c47('0x42')]+'%'};return _0x43432c;}})});}_0x4a1c63=_[_0x5c47('0x40')]({},_0x4a1c63,_0x79d318[_0x5c47('0x43')]);var _0xcaf22e={'where':_0x4a1c63[_0x5c47('0x3e')]};return db[_0x5c47('0x31')][_0x5c47('0x24')](_0xcaf22e)[_0x5c47('0x2a')](function(_0x534763){_0x700ee5['count']=_0x534763;if(_0x79d318[_0x5c47('0x36')][_0x5c47('0x44')]){_0x4a1c63['include']=[{'all':!![]}];}return db[_0x5c47('0x31')][_0x5c47('0x45')](_0x4a1c63);})[_0x5c47('0x2a')](function(_0xe4639){_0x700ee5[_0x5c47('0x46')]=_0xe4639;return _0x700ee5;})[_0x5c47('0x2a')](respondWithFilteredResult(_0x2bf99b,_0x4a1c63))[_0x5c47('0x47')](handleError(_0x2bf99b,null));};exports['show']=function(_0x5bd2e1,_0x1e90ab){var _0x47b131={'raw':![],'where':{'id':_0x5bd2e1['params']['id']}},_0x47930c={};_0x47930c['model']=_[_0x5c47('0x37')](db[_0x5c47('0x31')][_0x5c47('0x48')]);_0x47930c[_0x5c47('0x36')]=_[_0x5c47('0x37')](_0x5bd2e1['query']);_0x47930c['filters']=_[_0x5c47('0x38')](_0x47930c[_0x5c47('0x35')],_0x47930c[_0x5c47('0x36')]);_0x47b131['attributes']=_['intersection'](_0x47930c[_0x5c47('0x35')],qs[_0x5c47('0x3a')](_0x5bd2e1[_0x5c47('0x36')][_0x5c47('0x3a')]));_0x47b131[_0x5c47('0x39')]=_0x47b131[_0x5c47('0x39')][_0x5c47('0x3b')]?_0x47b131['attributes']:_0x47930c['model'];if(_0x5bd2e1[_0x5c47('0x36')][_0x5c47('0x44')]){_0x47b131[_0x5c47('0x49')]=[{'all':!![]}];}_0x47b131=_[_0x5c47('0x40')]({},_0x47b131,_0x5bd2e1[_0x5c47('0x43')]);return db[_0x5c47('0x31')][_0x5c47('0x4a')](_0x47b131)[_0x5c47('0x2a')](handleEntityNotFound(_0x1e90ab,null))[_0x5c47('0x2a')](respondWithResult(_0x1e90ab,null))['catch'](handleError(_0x1e90ab,null));};exports[_0x5c47('0x4b')]=function(_0x1604e6,_0x351d31){return db[_0x5c47('0x31')][_0x5c47('0x4b')](_0x1604e6[_0x5c47('0x4c')],{})[_0x5c47('0x2a')](respondWithResult(_0x351d31,0xc9))['catch'](handleError(_0x351d31,null));};exports[_0x5c47('0x4d')]=function(_0x5b8ef7,_0x24483c){var _0x1bcfc4={'where':{'id':_0x5b8ef7[_0x5c47('0x4e')]['id']}},_0x5a7ca6={};_0x5a7ca6[_0x5c47('0x35')]=_['keys'](db[_0x5c47('0x31')][_0x5c47('0x48')]);_0x1bcfc4['attributes']=_['intersection'](_0x5a7ca6[_0x5c47('0x35')],qs[_0x5c47('0x3a')](_0x5b8ef7[_0x5c47('0x36')][_0x5c47('0x3a')]));_0x1bcfc4[_0x5c47('0x39')]=_0x1bcfc4[_0x5c47('0x39')][_0x5c47('0x3b')]?_0x1bcfc4[_0x5c47('0x39')]:_0x5a7ca6['model'];if(_0x5b8ef7[_0x5c47('0x36')][_0x5c47('0x44')]){_0x1bcfc4[_0x5c47('0x49')]=[{'all':!![]}];}_0x1bcfc4=_['merge']({},_0x1bcfc4,_0x5b8ef7[_0x5c47('0x43')]);return db[_0x5c47('0x31')]['find'](_0x1bcfc4)[_0x5c47('0x2a')](handleEntityNotFound(_0x24483c,null))[_0x5c47('0x2a')](function(_0x1b0c59){if(_0x1b0c59){var _0x1d9be1=_0x1b0c59[_0x5c47('0x4f')]({'plain':!![]});_0x1d9be1=qs[_0x5c47('0x50')](_0x1d9be1,['id','createdAt',_0x5c47('0x51'),_0x5c47('0x52')]);_0x5b8ef7['body']=_[_0x5c47('0x50')](_0x5b8ef7['body'],['id',_0x5c47('0x53'),_0x5c47('0x51')]);return db['sequelize'][_0x5c47('0x54')](function(_0x552732){return db['UserProfile'][_0x5c47('0x4b')](_['merge'](_0x1d9be1,_0x5b8ef7[_0x5c47('0x4c')]),{'include':_0x5b8ef7[_0x5c47('0x36')]['includeAll']?[{'all':!![]}]:undefined,'transaction':_0x552732})['then'](function(_0x41007a){var _0x1bbcd1=_0x41007a[_0x5c47('0x4f')]({'plain':!![]});return db[_0x5c47('0x55')][_0x5c47('0x45')]({'where':{'userProfileId':_0x5b8ef7[_0x5c47('0x4e')]['id']},'raw':!![]})[_0x5c47('0x2a')](function(_0x2f349a){if(_0x2f349a){return BPromise[_0x5c47('0x56')](_0x2f349a,function(_0x221b82){return new BPromise(function(_0x355469,_0x3cbfcc){if(_0x221b82['autoAssociation']===null||_0x221b82[_0x5c47('0x57')]===0x1)_0x355469(null);return db[_0x5c47('0x58')][_0x5c47('0x45')]({'where':{'sectionId':_0x221b82['id']},'raw':!![]})[_0x5c47('0x2a')](function(_0x188139){var _0xbedd5b=_[_0x5c47('0x30')](_0x188139,function(_0x824bbe){return qs[_0x5c47('0x50')](_0x824bbe,['id',_0x5c47('0x53'),_0x5c47('0x51'),_0x5c47('0x59')]);});_0x355469(_0xbedd5b);})[_0x5c47('0x47')](function(_0x3872e5){_0x3cbfcc(_0x3872e5);});})[_0x5c47('0x2a')](function(_0x4ed255){var _0x40b1a1=qs[_0x5c47('0x50')](_0x221b82,['id',_0x5c47('0x53'),'updatedAt']);_0x40b1a1[_0x5c47('0x5a')]=_0x1bbcd1['id'];if(_0x4ed255)_0x40b1a1[_0x5c47('0x5b')]=_0x4ed255;return _0x40b1a1;})[_0x5c47('0x2a')](function(_0x444bd3){return db[_0x5c47('0x55')][_0x5c47('0x4b')](_0x444bd3,{'include':[{'model':db['UserProfileResource'],'as':_0x5c47('0x5b')}],'raw':!![],'transaction':_0x552732});});})[_0x5c47('0x2a')](function(){return _0x1bbcd1;});}});});});}})['then'](respondWithResult(_0x24483c,0xc9))[_0x5c47('0x47')](handleError(_0x24483c,null));};exports[_0x5c47('0x5c')]=function(_0x1a5d53,_0x189b67){if(_0x1a5d53['body']['id']){delete _0x1a5d53[_0x5c47('0x4c')]['id'];}return db['UserProfile'][_0x5c47('0x4a')]({'where':{'id':_0x1a5d53['params']['id']}})[_0x5c47('0x2a')](handleEntityNotFound(_0x189b67,null))[_0x5c47('0x2a')](saveUpdates(_0x1a5d53[_0x5c47('0x4c')],null))[_0x5c47('0x2a')](respondWithResult(_0x189b67,null))[_0x5c47('0x47')](handleError(_0x189b67,null));};exports[_0x5c47('0x29')]=function(_0x278ea2,_0x5ec32e){return db['UserProfile'][_0x5c47('0x4a')]({'where':{'id':_0x278ea2['params']['id']}})[_0x5c47('0x2a')](handleEntityNotFound(_0x5ec32e,null))['then'](removeEntity(_0x5ec32e,null))[_0x5c47('0x47')](handleError(_0x5ec32e,null));};exports['describe']=function(_0x2f16ef,_0x44e376){return db['UserProfile'][_0x5c47('0x5d')]()[_0x5c47('0x2a')](respondWithResult(_0x44e376,null))[_0x5c47('0x47')](handleError(_0x44e376,null));};exports[_0x5c47('0x5e')]=function(_0xa89643,_0x19293b){var _0x266134=_0xa89643[_0x5c47('0x4c')];return db[_0x5c47('0x31')][_0x5c47('0x4a')]({'where':{'id':_0xa89643[_0x5c47('0x4e')]['id']}})[_0x5c47('0x2a')](handleEntityNotFound(_0x19293b,null))[_0x5c47('0x2a')](function(_0x617f67){if(_0x617f67){return db['sequelize']['transaction'](function(_0x12efe6){return db[_0x5c47('0x55')][_0x5c47('0x29')]({'where':{'userProfileId':_0xa89643[_0x5c47('0x4e')]['id'],'sectionId':_[_0x5c47('0x30')](_0x266134,function(_0x55c465){return _0x55c465['sectionId'];})},'transaction':_0x12efe6})[_0x5c47('0x2a')](function(){var _0x27c8cb=_[_0x5c47('0x30')](_0x266134,function(_0x5e1763){_0x5e1763[_0x5c47('0x5a')]=_0xa89643[_0x5c47('0x4e')]['id'];return _0x5e1763;});var _0x3100a4=[];return BPromise['each'](_0x27c8cb,function(_0x259c3e){return db[_0x5c47('0x55')]['create'](_0x259c3e,{'include':[{'model':db['UserProfileResource'],'as':_0x5c47('0x5b')}],'raw':!![],'transaction':_0x12efe6})['then'](function(_0x19d3fa){_0x3100a4[_0x5c47('0x5f')](_0x19d3fa[_0x5c47('0x4f')]({'plain':!![]}));});})[_0x5c47('0x2a')](function(){return _0x3100a4;});});});}})[_0x5c47('0x2a')](function(_0x4b2148){return _0x4b2148;})[_0x5c47('0x2a')](respondWithResult(_0x19293b,null))['catch'](handleError(_0x19293b,null));};exports[_0x5c47('0x60')]=function(_0x1a5eb5,_0x1df33d){var _0x34e745;return db['UserProfile']['find']({'where':{'id':_0x1a5eb5[_0x5c47('0x4e')]['id']},'attributes':['id',_0x5c47('0x2e')]})[_0x5c47('0x2a')](handleEntityNotFound(_0x1df33d,null))['then'](function(_0x169ec8){if(_0x169ec8){_0x34e745=_0x169ec8;return db['UserProfileSection']['destroy']({'where':{'userProfileId':_0x1a5eb5[_0x5c47('0x4e')]['id'],'sectionId':_0x1a5eb5[_0x5c47('0x36')][_0x5c47('0x61')]}});}})['then'](function(){return _0x34e745;})[_0x5c47('0x2a')](respondWithStatusCode(_0x1df33d,null))[_0x5c47('0x47')](handleError(_0x1df33d,null));};exports[_0x5c47('0x62')]=function(_0x2f72ba,_0xd99b44){var _0x286b59=[];var _0x3ad4db=[];return db[_0x5c47('0x55')][_0x5c47('0x45')]({'where':{'userProfileId':_0x2f72ba[_0x5c47('0x4e')]['id']},'raw':!![]})['then'](function(_0x390f34){_0x286b59=_[_0x5c47('0x42')](_0x390f34,function(_0x47d02b){return _0x47d02b[_0x5c47('0x63')]===0x1||_['includes']([0x3eb,0x709],_0x47d02b['sectionId']);});if(!_[_0x5c47('0x64')](_0x286b59)){return _['map'](_0x286b59,function(_0x3a0c5b){return _0x3a0c5b[_0x5c47('0x59')];});}else{return;}})[_0x5c47('0x2a')](function(_0x54e012){if(_0x54e012)_0x3ad4db=_0x54e012;if(_['includes'](_0x3ad4db,0x64)){var _0x238150=_[_0x5c47('0x4a')](_0x286b59,{'sectionId':0x64});return hasDefaultDashboard(_0x238150)[_0x5c47('0x2a')](function(_0x4f7086){return _['map'](_0x286b59,function(_0x294938){if(_0x294938[_0x5c47('0x59')]===0x64){_0x294938[_0x5c47('0x65')]=_0x4f7086;}return _0x294938;});});}else{return;}})[_0x5c47('0x2a')](function(_0xd54304){if(_0xd54304)_0x286b59=_0xd54304;if(_[_0x5c47('0x66')](_0x3ad4db,0x3eb)){var _0x3d09c9=_['find'](_0x286b59,{'sectionId':0x3eb});return getCustomDashboards(_0x3d09c9)[_0x5c47('0x2a')](function(_0x1c6266){return _['map'](_0x286b59,function(_0x25822e){if(_0x3d09c9['enabled']){if(_0x25822e[_0x5c47('0x59')]===0x3eb){_0x25822e[_0x5c47('0x65')]=_0x1c6266;}}else{if(_0x25822e[_0x5c47('0x59')]===0x64){if(!_0x25822e[_0x5c47('0x65')]){_0x25822e['subsections']=[];}_0x25822e[_0x5c47('0x65')]=_0x25822e[_0x5c47('0x65')][_0x5c47('0x67')](_0x1c6266);}}return _0x25822e;});});}else{return;}})[_0x5c47('0x2a')](function(_0x496f52){if(_0x496f52)_0x286b59=_0x496f52;if(_[_0x5c47('0x66')](_0x3ad4db,0x709)){var _0x460f0e=_[_0x5c47('0x4a')](_0x286b59,{'sectionId':0x709});return getPlugins(_0x460f0e)[_0x5c47('0x2a')](function(_0x20757a){if(_0x460f0e[_0x5c47('0x63')]){return _[_0x5c47('0x30')](_0x286b59,function(_0x318acf){if(_0x318acf['sectionId']===0x709){_0x318acf[_0x5c47('0x65')]=_0x20757a;}return _0x318acf;});}else{var _0x3a46c6={'sectionId':0x76c,'enabled':0x1,'subsections':_0x20757a};var _0x1bbfa4=_[_0x5c47('0x30')](_0x286b59);_0x1bbfa4[_0x5c47('0x5f')](_0x3a46c6);return _0x1bbfa4;}});}else{return;}})[_0x5c47('0x2a')](function(_0x128468){if(_0x128468)_0x286b59=_0x128468;return _[_0x5c47('0x42')](_0x286b59,[_0x5c47('0x63'),0x1]);})[_0x5c47('0x2a')](respondWithResult(_0xd99b44,null))[_0x5c47('0x47')](handleError(_0xd99b44,null));};function hasDefaultDashboard(_0x18c8c4){var _0x4d69bb=[0x65];return new BPromise(function(_0x330653,_0x48a6ce){try{if(_0x18c8c4[_0x5c47('0x57')]){_0x330653(_0x4d69bb);}else{return db[_0x5c47('0x58')][_0x5c47('0x68')]({'where':{'sectionId':_0x18c8c4['id']},'raw':!![]})['then'](function(_0x5dc1fc){_0x5dc1fc?_0x330653(_0x4d69bb):_0x330653();});}}catch(_0x107108){_0x48a6ce(_0x107108);}});}function getCustomDashboards(_0x279bd4){var _0x1ad603=[];return new BPromise(function(_0x5aed0f,_0x80cce1){try{if(_0x279bd4['autoAssociation']){return db[_0x5c47('0x69')][_0x5c47('0x45')]({'raw':!![]})[_0x5c47('0x2a')](function(_0x4134d4){_0x4134d4[_0x5c47('0x6a')](function(_0x14222e){_0x1ad603[_0x5c47('0x5f')](_0x14222e['id']+0x1869f);});_0x5aed0f(_0x1ad603);});}else{return db[_0x5c47('0x58')][_0x5c47('0x45')]({'where':{'sectionId':_0x279bd4['id']},'raw':!![]})['then'](function(_0x3ce425){_0x3ce425[_0x5c47('0x6a')](function(_0x58cc3d){_0x1ad603[_0x5c47('0x5f')](_0x58cc3d[_0x5c47('0x6b')]+0x1869f);});_0x5aed0f(_0x1ad603);});}}catch(_0x5d297f){_0x80cce1(_0x5d297f);}});}function getPlugins(_0x3871bc){var _0x1e8252=[];return new BPromise(function(_0x115175,_0x103b49){try{if(_0x3871bc[_0x5c47('0x57')]){return db[_0x5c47('0x6c')][_0x5c47('0x45')]({'raw':!![]})[_0x5c47('0x2a')](function(_0x4880e0){_0x4880e0[_0x5c47('0x6a')](function(_0x494018){_0x1e8252[_0x5c47('0x5f')](_0x494018['id']+0x15b38);});_0x115175(_0x1e8252);});}else{return db[_0x5c47('0x58')][_0x5c47('0x45')]({'where':{'sectionId':_0x3871bc['id']},'raw':!![]})['then'](function(_0x4cc045){_0x4cc045[_0x5c47('0x6a')](function(_0x2415be){_0x1e8252[_0x5c47('0x5f')](_0x2415be[_0x5c47('0x6b')]+0x15b38);});_0x115175(_0x1e8252);});}}catch(_0x5e91b9){_0x103b49(_0x5e91b9);}});}exports[_0x5c47('0x6d')]=function(_0x3eff63,_0x4136a9){return db[_0x5c47('0x31')][_0x5c47('0x4a')]({'where':{'id':_0x3eff63[_0x5c47('0x4e')]['id']}})[_0x5c47('0x2a')](handleEntityNotFound(_0x4136a9,null))[_0x5c47('0x2a')](function(_0x4fb7b0){if(_0x4fb7b0){return db['sequelize']['transaction'](function(_0x7d86ad){return db[_0x5c47('0x55')][_0x5c47('0x45')]({'where':{'userProfileId':_0x3eff63[_0x5c47('0x4e')]['id']},'attributes':['id'],'raw':!![]})[_0x5c47('0x2a')](function(_0x392c4c){if(_0x392c4c){return db[_0x5c47('0x55')]['destroy']({'where':{'userProfileId':_0x3eff63[_0x5c47('0x4e')]['id'],'id':_['map'](_0x392c4c,function(_0x537686){return _0x537686['id'];})},'transaction':_0x7d86ad});}})[_0x5c47('0x2a')](function(_0x564f32){var _0x3830ea=_['map'](_0x3eff63[_0x5c47('0x4c')],function(_0x57143f){_0x57143f[_0x5c47('0x5a')]=_0x3eff63[_0x5c47('0x4e')]['id'];return _0x57143f;});return db[_0x5c47('0x55')]['bulkCreate'](_0x3830ea,{'raw':!![],'transaction':_0x7d86ad});})[_0x5c47('0x2a')](function(_0x46643d){var _0x1ac9bb=_[_0x5c47('0x42')](_[_0x5c47('0x30')](_0x46643d,function(_0x3e8f23){return _0x3e8f23[_0x5c47('0x4f')]({'plain':!![]});}),{'includeAll':![]});if(_0x1ac9bb){return db[_0x5c47('0x55')][_0x5c47('0x45')]({'where':{'userProfileId':_0x3eff63[_0x5c47('0x4e')]['id'],'sectionId':_[_0x5c47('0x30')](_0x1ac9bb,function(_0x38a1c9){return _0x38a1c9[_0x5c47('0x59')];})},'attributes':['id','sectionId'],'raw':!![]})['then'](function(_0x3c0fdd){var _0x2f4af4=_['map'](_0x3eff63[_0x5c47('0x4c')],function(_0x2ff0d2){_0x2ff0d2[_0x5c47('0x5a')]=_0x3eff63[_0x5c47('0x4e')]['id'];return _0x2ff0d2;});return db[_0x5c47('0x58')]['bulkCreate'](_0x2f4af4,{'raw':!![],'transaction':_0x7d86ad});});}})[_0x5c47('0x47')](handleError(_0x4136a9,null));});}})[_0x5c47('0x2a')](function(_0x3ef80b){var _0x365a63=_[_0x5c47('0x30')](_0x3ef80b,function(_0x5aa437){return _0x5aa437[_0x5c47('0x4f')]({'plain':!![]});});})[_0x5c47('0x2a')](respondWithResult(_0x4136a9,null))[_0x5c47('0x47')](handleError(_0x4136a9,null));};exports[_0x5c47('0x6e')]=function(_0x18351a,_0x5c0064,_0x1a5d94){return db[_0x5c47('0x31')]['find']({'where':{'id':_0x18351a[_0x5c47('0x4e')]['id']}})['then'](handleEntityNotFound(_0x5c0064,null))[_0x5c47('0x2a')](function(_0x2592d8){if(_0x2592d8){return _0x2592d8[_0x5c47('0x6e')](_0x18351a[_0x5c47('0x36')]['ids']);}})[_0x5c47('0x2a')](respondWithStatusCode(_0x5c0064,null))['catch'](handleError(_0x5c0064,null));};exports[_0x5c47('0x6f')]=function(_0x2c23c4,_0x3050ea){var _0x28e28a={};if(!_0x2c23c4['query'][_0x5c47('0x70')])throw new Error('Missing\x20section\x20parameter');if(!_0x2c23c4['query'][_0x5c47('0x71')]('nolimit')){_0x28e28a['limit']=qs['limit'](_0x2c23c4[_0x5c47('0x36')][_0x5c47('0x23')]);_0x28e28a[_0x5c47('0x25')]=qs[_0x5c47('0x25')](_0x2c23c4[_0x5c47('0x36')][_0x5c47('0x25')]);}return db[_0x5c47('0x31')]['find']({'where':{'id':_0x2c23c4[_0x5c47('0x4e')]['id']}})[_0x5c47('0x2a')](function(_0x4cbc55){if(!_0x4cbc55)throw new Error('No\x20User\x20Profile\x20found\x20for\x20id\x20'+_0x2c23c4['params']['id']);return db[_0x5c47('0x31')][_0x5c47('0x6f')](_0x2c23c4);})[_0x5c47('0x2a')](respondWithFilteredResult(_0x3050ea,_0x28e28a))[_0x5c47('0x47')](handleError(_0x3050ea,null));};