6da14c1afaf5a5f304a5cce625c2d727cf64bf5b
[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 _0xf406=['addResources','bulkCreate','removeResources','getResources','section','Missing\x20section\x20parameter','nolimit','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./userProfile.socket','register','sendStatus','status','end','json','undefined','limit','count','offset','set','apply','reject','save','update','then','destroy','error','stack','name','send','map','UserProfile','rawAttributes','type','key','model','query','attributes','fields','length','hasOwnProperty','order','sort','where','filters','pick','filter','merge','options','includeAll','include','findAll','show','params','keys','intersection','find','catch','create','body','clone','get','omit','createdAt','updatedAt','sequelize','transaction','UserProfileSection','autoAssociation','UserProfileResource','userProfileId','Resources','describe','addSections','sectionId','each','push','removeSections','ids','enabled','includes','isEmpty','subsections','concat','findOne','Dashboard','resourceId','forEach'];(function(_0x15e1be,_0xa9e646){var _0x2d9a0a=function(_0xa5cd55){while(--_0xa5cd55){_0x15e1be['push'](_0x15e1be['shift']());}};_0x2d9a0a(++_0xa9e646);}(_0xf406,0x1db));var _0x6f40=function(_0x59ad93,_0x5ae764){_0x59ad93=_0x59ad93-0x0;var _0x5614bc=_0xf406[_0x59ad93];return _0x5614bc;};'use strict';var emlformat=require(_0x6f40('0x0'));var rimraf=require(_0x6f40('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6f40('0x2'));var rp=require(_0x6f40('0x3'));var moment=require('moment');var BPromise=require(_0x6f40('0x4'));var Mustache=require(_0x6f40('0x5'));var util=require(_0x6f40('0x6'));var path=require(_0x6f40('0x7'));var sox=require(_0x6f40('0x8'));var csv=require(_0x6f40('0x9'));var ejs=require(_0x6f40('0xa'));var fs=require('fs');var fs_extra=require(_0x6f40('0xb'));var _=require('lodash');var squel=require(_0x6f40('0xc'));var crypto=require(_0x6f40('0xd'));var jsforce=require(_0x6f40('0xe'));var deskjs=require(_0x6f40('0xf'));var toCsv=require(_0x6f40('0x9'));var querystring=require(_0x6f40('0x10'));var Papa=require(_0x6f40('0x11'));var Redis=require(_0x6f40('0x12'));var authService=require(_0x6f40('0x13'));var qs=require(_0x6f40('0x14'));var as=require(_0x6f40('0x15'));var hardwareService=require(_0x6f40('0x16'));var logger=require(_0x6f40('0x17'))(_0x6f40('0x18'));var utils=require('../../config/utils');var config=require(_0x6f40('0x19'));var licenseUtil=require(_0x6f40('0x1a'));var db=require(_0x6f40('0x1b'))['db'];config[_0x6f40('0x1c')]=_['defaults'](config['redis'],{'host':_0x6f40('0x1d'),'port':0x18eb});var socket=require(_0x6f40('0x1e'))(new Redis(config['redis']));require(_0x6f40('0x1f'))[_0x6f40('0x20')](socket);function respondWithStatusCode(_0xa3eee7,_0x2e5540){_0x2e5540=_0x2e5540||0xcc;return function(_0x3fe74b){if(_0x3fe74b){return _0xa3eee7[_0x6f40('0x21')](_0x2e5540);}return _0xa3eee7[_0x6f40('0x22')](_0x2e5540)[_0x6f40('0x23')]();};}function respondWithResult(_0x48a3d9,_0x61ac64){_0x61ac64=_0x61ac64||0xc8;return function(_0x1555ca){if(_0x1555ca){return _0x48a3d9[_0x6f40('0x22')](_0x61ac64)[_0x6f40('0x24')](_0x1555ca);}};}function respondWithFilteredResult(_0x5ce0df,_0x53488b){return function(_0x4f4109){if(_0x4f4109){var _0x5b5280=typeof _0x53488b['offset']===_0x6f40('0x25')&&typeof _0x53488b[_0x6f40('0x26')]===_0x6f40('0x25');var _0x25ab03=_0x4f4109[_0x6f40('0x27')];var _0x82c634=_0x5b5280?0x0:_0x53488b[_0x6f40('0x28')];var _0x1a39e3=_0x5b5280?_0x4f4109[_0x6f40('0x27')]:_0x53488b['offset']+_0x53488b[_0x6f40('0x26')];var _0x1a4e88;if(_0x1a39e3>=_0x25ab03){_0x1a39e3=_0x25ab03;_0x1a4e88=0xc8;}else{_0x1a4e88=0xce;}_0x5ce0df['status'](_0x1a4e88);return _0x5ce0df[_0x6f40('0x29')]('Content-Range',_0x82c634+'-'+_0x1a39e3+'/'+_0x25ab03)['json'](_0x4f4109);}return null;};}function patchUpdates(_0x1b807f){return function(_0x378bc6){try{jsonpatch[_0x6f40('0x2a')](_0x378bc6,_0x1b807f,!![]);}catch(_0x196744){return BPromise[_0x6f40('0x2b')](_0x196744);}return _0x378bc6[_0x6f40('0x2c')]();};}function saveUpdates(_0x7de6b5,_0x1b0593){return function(_0x2f2cc8){if(_0x2f2cc8){return _0x2f2cc8[_0x6f40('0x2d')](_0x7de6b5)[_0x6f40('0x2e')](function(_0x32ec6e){return _0x32ec6e;});}return null;};}function removeEntity(_0x309802,_0xf2b59b){return function(_0x43326f){if(_0x43326f){return _0x43326f[_0x6f40('0x2f')]()[_0x6f40('0x2e')](function(){_0x309802[_0x6f40('0x22')](0xcc)[_0x6f40('0x23')]();});}};}function handleEntityNotFound(_0x4b08bd,_0x37b4){return function(_0xe5a552){if(!_0xe5a552){_0x4b08bd[_0x6f40('0x21')](0x194);}return _0xe5a552;};}function handleError(_0x3c029b,_0x554cd9){_0x554cd9=_0x554cd9||0x1f4;return function(_0x5c2281){logger[_0x6f40('0x30')](_0x5c2281[_0x6f40('0x31')]);if(_0x5c2281[_0x6f40('0x32')]){delete _0x5c2281['name'];}_0x3c029b[_0x6f40('0x22')](_0x554cd9)[_0x6f40('0x33')](_0x5c2281);};}exports['index']=function(_0x4a392e,_0x1659b7){var _0x4c2b9c={},_0x5ac01a={},_0x49626b={'count':0x0,'rows':[]};var _0x45c69d=_[_0x6f40('0x34')](db[_0x6f40('0x35')][_0x6f40('0x36')],function(_0x343045){return{'name':_0x343045['fieldName'],'type':_0x343045[_0x6f40('0x37')][_0x6f40('0x38')]};});_0x5ac01a[_0x6f40('0x39')]=_['map'](_0x45c69d,'name');_0x5ac01a[_0x6f40('0x3a')]=_['keys'](_0x4a392e[_0x6f40('0x3a')]);_0x5ac01a['filters']=_['intersection'](_0x5ac01a[_0x6f40('0x39')],_0x5ac01a[_0x6f40('0x3a')]);_0x4c2b9c[_0x6f40('0x3b')]=_['intersection'](_0x5ac01a['model'],qs[_0x6f40('0x3c')](_0x4a392e['query']['fields']));_0x4c2b9c[_0x6f40('0x3b')]=_0x4c2b9c[_0x6f40('0x3b')][_0x6f40('0x3d')]?_0x4c2b9c['attributes']:_0x5ac01a[_0x6f40('0x39')];if(!_0x4a392e[_0x6f40('0x3a')][_0x6f40('0x3e')]('nolimit')){_0x4c2b9c[_0x6f40('0x26')]=qs['limit'](_0x4a392e[_0x6f40('0x3a')]['limit']);_0x4c2b9c[_0x6f40('0x28')]=qs[_0x6f40('0x28')](_0x4a392e[_0x6f40('0x3a')][_0x6f40('0x28')]);}_0x4c2b9c[_0x6f40('0x3f')]=qs[_0x6f40('0x40')](_0x4a392e[_0x6f40('0x3a')]['sort']);_0x4c2b9c[_0x6f40('0x41')]=qs[_0x6f40('0x42')](_[_0x6f40('0x43')](_0x4a392e[_0x6f40('0x3a')],_0x5ac01a[_0x6f40('0x42')]),_0x45c69d);if(_0x4a392e[_0x6f40('0x3a')][_0x6f40('0x44')]){_0x4c2b9c[_0x6f40('0x41')]=_[_0x6f40('0x45')](_0x4c2b9c[_0x6f40('0x41')],{'$or':_[_0x6f40('0x34')](_0x45c69d,function(_0x3cbabd){if(_0x3cbabd['type']!=='VIRTUAL'){var _0x5035dd={};_0x5035dd[_0x3cbabd[_0x6f40('0x32')]]={'$like':'%'+_0x4a392e[_0x6f40('0x3a')][_0x6f40('0x44')]+'%'};return _0x5035dd;}})});}_0x4c2b9c=_['merge']({},_0x4c2b9c,_0x4a392e[_0x6f40('0x46')]);var _0x2f6f90={'where':_0x4c2b9c['where']};return db['UserProfile'][_0x6f40('0x27')](_0x2f6f90)[_0x6f40('0x2e')](function(_0x5a4611){_0x49626b[_0x6f40('0x27')]=_0x5a4611;if(_0x4a392e['query'][_0x6f40('0x47')]){_0x4c2b9c[_0x6f40('0x48')]=[{'all':!![]}];}return db[_0x6f40('0x35')][_0x6f40('0x49')](_0x4c2b9c);})[_0x6f40('0x2e')](function(_0x30644a){_0x49626b['rows']=_0x30644a;return _0x49626b;})[_0x6f40('0x2e')](respondWithFilteredResult(_0x1659b7,_0x4c2b9c))['catch'](handleError(_0x1659b7,null));};exports[_0x6f40('0x4a')]=function(_0x5c31a3,_0x47d90a){var _0x14659b={'raw':![],'where':{'id':_0x5c31a3[_0x6f40('0x4b')]['id']}},_0xbaf779={};_0xbaf779['model']=_[_0x6f40('0x4c')](db[_0x6f40('0x35')][_0x6f40('0x36')]);_0xbaf779[_0x6f40('0x3a')]=_['keys'](_0x5c31a3[_0x6f40('0x3a')]);_0xbaf779[_0x6f40('0x42')]=_['intersection'](_0xbaf779[_0x6f40('0x39')],_0xbaf779[_0x6f40('0x3a')]);_0x14659b[_0x6f40('0x3b')]=_[_0x6f40('0x4d')](_0xbaf779[_0x6f40('0x39')],qs[_0x6f40('0x3c')](_0x5c31a3[_0x6f40('0x3a')]['fields']));_0x14659b[_0x6f40('0x3b')]=_0x14659b['attributes'][_0x6f40('0x3d')]?_0x14659b[_0x6f40('0x3b')]:_0xbaf779[_0x6f40('0x39')];if(_0x5c31a3[_0x6f40('0x3a')][_0x6f40('0x47')]){_0x14659b[_0x6f40('0x48')]=[{'all':!![]}];}_0x14659b=_[_0x6f40('0x45')]({},_0x14659b,_0x5c31a3['options']);return db[_0x6f40('0x35')][_0x6f40('0x4e')](_0x14659b)[_0x6f40('0x2e')](handleEntityNotFound(_0x47d90a,null))[_0x6f40('0x2e')](respondWithResult(_0x47d90a,null))[_0x6f40('0x4f')](handleError(_0x47d90a,null));};exports[_0x6f40('0x50')]=function(_0x2d4733,_0x3232f0){return db[_0x6f40('0x35')]['create'](_0x2d4733[_0x6f40('0x51')],{})[_0x6f40('0x2e')](respondWithResult(_0x3232f0,0xc9))[_0x6f40('0x4f')](handleError(_0x3232f0,null));};exports[_0x6f40('0x52')]=function(_0x15e4a8,_0x26e5f9){var _0x498ca4={'where':{'id':_0x15e4a8[_0x6f40('0x4b')]['id']}},_0xc3694d={};_0xc3694d[_0x6f40('0x39')]=_[_0x6f40('0x4c')](db[_0x6f40('0x35')][_0x6f40('0x36')]);_0x498ca4[_0x6f40('0x3b')]=_['intersection'](_0xc3694d[_0x6f40('0x39')],qs['fields'](_0x15e4a8['query'][_0x6f40('0x3c')]));_0x498ca4[_0x6f40('0x3b')]=_0x498ca4[_0x6f40('0x3b')]['length']?_0x498ca4[_0x6f40('0x3b')]:_0xc3694d[_0x6f40('0x39')];if(_0x15e4a8['query'][_0x6f40('0x47')]){_0x498ca4[_0x6f40('0x48')]=[{'all':!![]}];}_0x498ca4=_[_0x6f40('0x45')]({},_0x498ca4,_0x15e4a8[_0x6f40('0x46')]);return db[_0x6f40('0x35')][_0x6f40('0x4e')](_0x498ca4)['then'](handleEntityNotFound(_0x26e5f9,null))[_0x6f40('0x2e')](function(_0x57e666){if(_0x57e666){var _0x48598c=_0x57e666[_0x6f40('0x53')]({'plain':!![]});_0x48598c=qs[_0x6f40('0x54')](_0x48598c,['id',_0x6f40('0x55'),'updatedAt','crudPermissions']);_0x15e4a8[_0x6f40('0x51')]=_['omit'](_0x15e4a8['body'],['id','createdAt',_0x6f40('0x56')]);return db[_0x6f40('0x57')][_0x6f40('0x58')](function(_0x400cd9){return db[_0x6f40('0x35')][_0x6f40('0x50')](_[_0x6f40('0x45')](_0x48598c,_0x15e4a8[_0x6f40('0x51')]),{'include':_0x15e4a8[_0x6f40('0x3a')][_0x6f40('0x47')]?[{'all':!![]}]:undefined,'transaction':_0x400cd9})[_0x6f40('0x2e')](function(_0x54f68f){var _0x6d3cb=_0x54f68f[_0x6f40('0x53')]({'plain':!![]});return db[_0x6f40('0x59')][_0x6f40('0x49')]({'where':{'userProfileId':_0x15e4a8[_0x6f40('0x4b')]['id']},'raw':!![]})[_0x6f40('0x2e')](function(_0xf02676){if(_0xf02676){return BPromise['each'](_0xf02676,function(_0x4c5a05){return new BPromise(function(_0x1edadd,_0xaf3235){if(_0x4c5a05['autoAssociation']===null||_0x4c5a05[_0x6f40('0x5a')]===0x1)_0x1edadd(null);return db[_0x6f40('0x5b')][_0x6f40('0x49')]({'where':{'sectionId':_0x4c5a05['id']},'raw':!![]})['then'](function(_0x4b9a61){var _0xe20834=_['map'](_0x4b9a61,function(_0x41b9e5){return qs['omit'](_0x41b9e5,['id','createdAt',_0x6f40('0x56'),'sectionId']);});_0x1edadd(_0xe20834);})[_0x6f40('0x4f')](function(_0x3861b4){_0xaf3235(_0x3861b4);});})[_0x6f40('0x2e')](function(_0x2c7117){var _0x40e041=qs[_0x6f40('0x54')](_0x4c5a05,['id',_0x6f40('0x55'),_0x6f40('0x56')]);_0x40e041[_0x6f40('0x5c')]=_0x6d3cb['id'];if(_0x2c7117)_0x40e041[_0x6f40('0x5d')]=_0x2c7117;return _0x40e041;})['then'](function(_0x2bf625){return db[_0x6f40('0x59')]['create'](_0x2bf625,{'include':[{'model':db[_0x6f40('0x5b')],'as':'Resources'}],'raw':!![],'transaction':_0x400cd9});});})[_0x6f40('0x2e')](function(){return _0x6d3cb;});}});});});}})[_0x6f40('0x2e')](respondWithResult(_0x26e5f9,0xc9))[_0x6f40('0x4f')](handleError(_0x26e5f9,null));};exports[_0x6f40('0x2d')]=function(_0x24818f,_0x507697){if(_0x24818f[_0x6f40('0x51')]['id']){delete _0x24818f[_0x6f40('0x51')]['id'];}return db[_0x6f40('0x35')][_0x6f40('0x4e')]({'where':{'id':_0x24818f[_0x6f40('0x4b')]['id']}})['then'](handleEntityNotFound(_0x507697,null))['then'](saveUpdates(_0x24818f[_0x6f40('0x51')],null))[_0x6f40('0x2e')](respondWithResult(_0x507697,null))[_0x6f40('0x4f')](handleError(_0x507697,null));};exports[_0x6f40('0x2f')]=function(_0x125c03,_0x40d4a2){return db[_0x6f40('0x35')][_0x6f40('0x4e')]({'where':{'id':_0x125c03['params']['id']}})[_0x6f40('0x2e')](handleEntityNotFound(_0x40d4a2,null))['then'](removeEntity(_0x40d4a2,null))[_0x6f40('0x4f')](handleError(_0x40d4a2,null));};exports[_0x6f40('0x5e')]=function(_0x2de6aa,_0x296421){return db['UserProfile'][_0x6f40('0x5e')]()[_0x6f40('0x2e')](respondWithResult(_0x296421,null))[_0x6f40('0x4f')](handleError(_0x296421,null));};exports[_0x6f40('0x5f')]=function(_0x4f3d49,_0x24a88f){var _0x206ea4=_0x4f3d49['body'];return db[_0x6f40('0x35')][_0x6f40('0x4e')]({'where':{'id':_0x4f3d49[_0x6f40('0x4b')]['id']}})[_0x6f40('0x2e')](handleEntityNotFound(_0x24a88f,null))[_0x6f40('0x2e')](function(_0x2dcb1e){if(_0x2dcb1e){return db[_0x6f40('0x57')][_0x6f40('0x58')](function(_0x4e6a82){return db[_0x6f40('0x59')][_0x6f40('0x2f')]({'where':{'userProfileId':_0x4f3d49['params']['id'],'sectionId':_[_0x6f40('0x34')](_0x206ea4,function(_0x3ab588){return _0x3ab588[_0x6f40('0x60')];})},'transaction':_0x4e6a82})[_0x6f40('0x2e')](function(){var _0x8644db=_[_0x6f40('0x34')](_0x206ea4,function(_0x3e7910){_0x3e7910[_0x6f40('0x5c')]=_0x4f3d49[_0x6f40('0x4b')]['id'];return _0x3e7910;});var _0x36f7da=[];return BPromise[_0x6f40('0x61')](_0x8644db,function(_0x39aad4){return db[_0x6f40('0x59')][_0x6f40('0x50')](_0x39aad4,{'include':[{'model':db[_0x6f40('0x5b')],'as':'Resources'}],'raw':!![],'transaction':_0x4e6a82})['then'](function(_0x105768){_0x36f7da[_0x6f40('0x62')](_0x105768[_0x6f40('0x53')]({'plain':!![]}));});})[_0x6f40('0x2e')](function(){return _0x36f7da;});});});}})[_0x6f40('0x2e')](function(_0x250498){return _0x250498;})[_0x6f40('0x2e')](respondWithResult(_0x24a88f,null))[_0x6f40('0x4f')](handleError(_0x24a88f,null));};exports[_0x6f40('0x63')]=function(_0x5a34c1,_0x2d2517){var _0x89e35;return db[_0x6f40('0x35')][_0x6f40('0x4e')]({'where':{'id':_0x5a34c1[_0x6f40('0x4b')]['id']},'attributes':['id',_0x6f40('0x32')]})[_0x6f40('0x2e')](handleEntityNotFound(_0x2d2517,null))[_0x6f40('0x2e')](function(_0xfb19){if(_0xfb19){_0x89e35=_0xfb19;return db[_0x6f40('0x59')][_0x6f40('0x2f')]({'where':{'userProfileId':_0x5a34c1[_0x6f40('0x4b')]['id'],'sectionId':_0x5a34c1[_0x6f40('0x3a')][_0x6f40('0x64')]}});}})[_0x6f40('0x2e')](function(){return _0x89e35;})[_0x6f40('0x2e')](respondWithStatusCode(_0x2d2517,null))[_0x6f40('0x4f')](handleError(_0x2d2517,null));};exports['getSections']=function(_0x275ccb,_0x69f4e5){var _0x28f20a=[];var _0x1bd770=[];return db[_0x6f40('0x59')][_0x6f40('0x49')]({'where':{'userProfileId':_0x275ccb[_0x6f40('0x4b')]['id']},'raw':!![]})[_0x6f40('0x2e')](function(_0xf56b13){_0x28f20a=_[_0x6f40('0x44')](_0xf56b13,function(_0x5ea972){return _0x5ea972[_0x6f40('0x65')]===0x1||_[_0x6f40('0x66')]([0x3eb,0x709],_0x5ea972[_0x6f40('0x60')]);});if(!_[_0x6f40('0x67')](_0x28f20a)){return _[_0x6f40('0x34')](_0x28f20a,function(_0x56ee5c){return _0x56ee5c[_0x6f40('0x60')];});}else{return;}})[_0x6f40('0x2e')](function(_0x50fe9d){if(_0x50fe9d)_0x1bd770=_0x50fe9d;if(_['includes'](_0x1bd770,0x64)){var _0x106ab3=_['find'](_0x28f20a,{'sectionId':0x64});return hasDefaultDashboard(_0x106ab3)['then'](function(_0x29a696){return _['map'](_0x28f20a,function(_0x23b31b){if(_0x23b31b[_0x6f40('0x60')]===0x64){_0x23b31b[_0x6f40('0x68')]=_0x29a696;}return _0x23b31b;});});}else{return;}})['then'](function(_0xed7d24){if(_0xed7d24)_0x28f20a=_0xed7d24;if(_[_0x6f40('0x66')](_0x1bd770,0x3eb)){var _0x2afdb5=_['find'](_0x28f20a,{'sectionId':0x3eb});return getCustomDashboards(_0x2afdb5)[_0x6f40('0x2e')](function(_0x4df64e){return _[_0x6f40('0x34')](_0x28f20a,function(_0x17c8aa){if(_0x2afdb5[_0x6f40('0x65')]){if(_0x17c8aa[_0x6f40('0x60')]===0x3eb){_0x17c8aa[_0x6f40('0x68')]=_0x4df64e;}}else{if(_0x17c8aa[_0x6f40('0x60')]===0x64){if(!_0x17c8aa[_0x6f40('0x68')]){_0x17c8aa[_0x6f40('0x68')]=[];}_0x17c8aa[_0x6f40('0x68')]=_0x17c8aa['subsections'][_0x6f40('0x69')](_0x4df64e);}}return _0x17c8aa;});});}else{return;}})[_0x6f40('0x2e')](function(_0x2f2b5a){if(_0x2f2b5a)_0x28f20a=_0x2f2b5a;if(_['includes'](_0x1bd770,0x709)){var _0x42bcb7=_[_0x6f40('0x4e')](_0x28f20a,{'sectionId':0x709});return getPlugins(_0x42bcb7)[_0x6f40('0x2e')](function(_0x1343c2){if(_0x42bcb7[_0x6f40('0x65')]){return _[_0x6f40('0x34')](_0x28f20a,function(_0x535a6a){if(_0x535a6a[_0x6f40('0x60')]===0x709){_0x535a6a[_0x6f40('0x68')]=_0x1343c2;}return _0x535a6a;});}else{var _0x542221={'sectionId':0x76c,'enabled':0x1,'subsections':_0x1343c2};var _0x3bcd8a=_['map'](_0x28f20a);_0x3bcd8a[_0x6f40('0x62')](_0x542221);return _0x3bcd8a;}});}else{return;}})[_0x6f40('0x2e')](function(_0x4dd2f3){if(_0x4dd2f3)_0x28f20a=_0x4dd2f3;return _[_0x6f40('0x44')](_0x28f20a,['enabled',0x1]);})['then'](respondWithResult(_0x69f4e5,null))['catch'](handleError(_0x69f4e5,null));};function hasDefaultDashboard(_0x915702){var _0x3a999d=[0x65];return new BPromise(function(_0x3279bc,_0x28fced){try{if(_0x915702[_0x6f40('0x5a')]){_0x3279bc(_0x3a999d);}else{return db[_0x6f40('0x5b')][_0x6f40('0x6a')]({'where':{'sectionId':_0x915702['id']},'raw':!![]})[_0x6f40('0x2e')](function(_0x55fcfe){_0x55fcfe?_0x3279bc(_0x3a999d):_0x3279bc();});}}catch(_0x27e9a3){_0x28fced(_0x27e9a3);}});}function getCustomDashboards(_0x5508c5){var _0x29bca2=[];return new BPromise(function(_0x305730,_0x4e554e){try{if(_0x5508c5['autoAssociation']){return db[_0x6f40('0x6b')][_0x6f40('0x49')]({'raw':!![]})['then'](function(_0x3b7018){_0x3b7018['forEach'](function(_0x2a5c5d){_0x29bca2[_0x6f40('0x62')](_0x2a5c5d['id']+0x1869f);});_0x305730(_0x29bca2);});}else{return db[_0x6f40('0x5b')]['findAll']({'where':{'sectionId':_0x5508c5['id']},'raw':!![]})[_0x6f40('0x2e')](function(_0xd88a78){_0xd88a78['forEach'](function(_0x57ef66){_0x29bca2['push'](_0x57ef66[_0x6f40('0x6c')]+0x1869f);});_0x305730(_0x29bca2);});}}catch(_0x47a97a){_0x4e554e(_0x47a97a);}});}function getPlugins(_0x148fc3){var _0x56dec7=[];return new BPromise(function(_0x5d0d79,_0x1ecc69){try{if(_0x148fc3[_0x6f40('0x5a')]){return db['Plugin']['findAll']({'raw':!![]})[_0x6f40('0x2e')](function(_0xaadae9){_0xaadae9[_0x6f40('0x6d')](function(_0xc03008){_0x56dec7[_0x6f40('0x62')](_0xc03008['id']+0x15b38);});_0x5d0d79(_0x56dec7);});}else{return db[_0x6f40('0x5b')][_0x6f40('0x49')]({'where':{'sectionId':_0x148fc3['id']},'raw':!![]})[_0x6f40('0x2e')](function(_0x2785e1){_0x2785e1['forEach'](function(_0x303c78){_0x56dec7[_0x6f40('0x62')](_0x303c78[_0x6f40('0x6c')]+0x15b38);});_0x5d0d79(_0x56dec7);});}}catch(_0x36e985){_0x1ecc69(_0x36e985);}});}exports[_0x6f40('0x6e')]=function(_0x4fde05,_0x282da3){return db[_0x6f40('0x35')][_0x6f40('0x4e')]({'where':{'id':_0x4fde05[_0x6f40('0x4b')]['id']}})['then'](handleEntityNotFound(_0x282da3,null))[_0x6f40('0x2e')](function(_0x14d317){if(_0x14d317){return db[_0x6f40('0x57')][_0x6f40('0x58')](function(_0x4a13bb){return db[_0x6f40('0x59')][_0x6f40('0x49')]({'where':{'userProfileId':_0x4fde05['params']['id']},'attributes':['id'],'raw':!![]})[_0x6f40('0x2e')](function(_0x4939d5){if(_0x4939d5){return db['UserProfileSection'][_0x6f40('0x2f')]({'where':{'userProfileId':_0x4fde05['params']['id'],'id':_[_0x6f40('0x34')](_0x4939d5,function(_0x4b92c9){return _0x4b92c9['id'];})},'transaction':_0x4a13bb});}})[_0x6f40('0x2e')](function(_0x58f710){var _0xd6ffc8=_[_0x6f40('0x34')](_0x4fde05[_0x6f40('0x51')],function(_0x8dfe5a){_0x8dfe5a[_0x6f40('0x5c')]=_0x4fde05['params']['id'];return _0x8dfe5a;});return db[_0x6f40('0x59')][_0x6f40('0x6f')](_0xd6ffc8,{'raw':!![],'transaction':_0x4a13bb});})['then'](function(_0x1dee37){var _0xc68774=_[_0x6f40('0x44')](_[_0x6f40('0x34')](_0x1dee37,function(_0x4c88f6){return _0x4c88f6[_0x6f40('0x53')]({'plain':!![]});}),{'includeAll':![]});if(_0xc68774){return db[_0x6f40('0x59')][_0x6f40('0x49')]({'where':{'userProfileId':_0x4fde05['params']['id'],'sectionId':_[_0x6f40('0x34')](_0xc68774,function(_0x4d23c9){return _0x4d23c9[_0x6f40('0x60')];})},'attributes':['id',_0x6f40('0x60')],'raw':!![]})[_0x6f40('0x2e')](function(_0x3c1f94){var _0x26ddc7=_[_0x6f40('0x34')](_0x4fde05[_0x6f40('0x51')],function(_0x24082d){_0x24082d[_0x6f40('0x5c')]=_0x4fde05['params']['id'];return _0x24082d;});return db['UserProfileResource'][_0x6f40('0x6f')](_0x26ddc7,{'raw':!![],'transaction':_0x4a13bb});});}})[_0x6f40('0x4f')](handleError(_0x282da3,null));});}})[_0x6f40('0x2e')](function(_0x4b66fc){var _0x43e4bf=_[_0x6f40('0x34')](_0x4b66fc,function(_0x3f025d){return _0x3f025d[_0x6f40('0x53')]({'plain':!![]});});})['then'](respondWithResult(_0x282da3,null))[_0x6f40('0x4f')](handleError(_0x282da3,null));};exports[_0x6f40('0x70')]=function(_0x3b37ad,_0x3243c3,_0x25a453){return db[_0x6f40('0x35')][_0x6f40('0x4e')]({'where':{'id':_0x3b37ad['params']['id']}})[_0x6f40('0x2e')](handleEntityNotFound(_0x3243c3,null))[_0x6f40('0x2e')](function(_0x2b6a33){if(_0x2b6a33){return _0x2b6a33[_0x6f40('0x70')](_0x3b37ad[_0x6f40('0x3a')][_0x6f40('0x64')]);}})[_0x6f40('0x2e')](respondWithStatusCode(_0x3243c3,null))[_0x6f40('0x4f')](handleError(_0x3243c3,null));};exports[_0x6f40('0x71')]=function(_0x4749f9,_0x4de4e1){var _0x15ed86={};if(!_0x4749f9[_0x6f40('0x3a')][_0x6f40('0x72')])throw new Error(_0x6f40('0x73'));if(!_0x4749f9[_0x6f40('0x3a')]['hasOwnProperty'](_0x6f40('0x74'))){_0x15ed86[_0x6f40('0x26')]=qs[_0x6f40('0x26')](_0x4749f9[_0x6f40('0x3a')][_0x6f40('0x26')]);_0x15ed86[_0x6f40('0x28')]=qs[_0x6f40('0x28')](_0x4749f9[_0x6f40('0x3a')][_0x6f40('0x28')]);}return db['UserProfile'][_0x6f40('0x4e')]({'where':{'id':_0x4749f9[_0x6f40('0x4b')]['id']}})['then'](function(_0x3fbbdc){if(!_0x3fbbdc)throw new Error('No\x20User\x20Profile\x20found\x20for\x20id\x20'+_0x4749f9['params']['id']);return db['UserProfile'][_0x6f40('0x71')](_0x4749f9);})[_0x6f40('0x2e')](respondWithFilteredResult(_0x4de4e1,_0x15ed86))[_0x6f40('0x4f')](handleError(_0x4de4e1,null));};