Built motion from commit da24aabd.|2.6.20
[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 _0xcc5f=['No\x20User\x20Profile\x20found\x20for\x20id\x20','rimraf','zip-dir','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','defaults','redis','localhost','socket.io-emitter','./userProfile.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','update','then','destroy','error','stack','name','send','index','map','rawAttributes','fieldName','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','type','UserProfile','includeAll','include','rows','catch','show','params','options','find','create','clone','get','omit','createdAt','updatedAt','crudPermissions','body','transaction','UserProfileSection','findAll','each','autoAssociation','UserProfileResource','sectionId','userProfileId','Resources','describe','sequelize','push','ids','getSections','enabled','isEmpty','includes','subsections','concat','findOne','Dashboard','forEach','resourceId','Plugin','addResources','bulkCreate','removeResources','getResources','section','Missing\x20section\x20parameter','hasOwnProperty'];(function(_0x1f1e31,_0x27b5c3){var _0x229b56=function(_0x16db77){while(--_0x16db77){_0x1f1e31['push'](_0x1f1e31['shift']());}};_0x229b56(++_0x27b5c3);}(_0xcc5f,0x157));var _0xfcc5=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xcc5f[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xfcc5('0x0'));var zipdir=require(_0xfcc5('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xfcc5('0x2'));var Mustache=require(_0xfcc5('0x3'));var util=require('util');var path=require(_0xfcc5('0x4'));var sox=require(_0xfcc5('0x5'));var csv=require(_0xfcc5('0x6'));var ejs=require(_0xfcc5('0x7'));var fs=require('fs');var fs_extra=require(_0xfcc5('0x8'));var _=require(_0xfcc5('0x9'));var squel=require(_0xfcc5('0xa'));var crypto=require(_0xfcc5('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xfcc5('0xc'));var toCsv=require(_0xfcc5('0x6'));var querystring=require('querystring');var Papa=require(_0xfcc5('0xd'));var Redis=require(_0xfcc5('0xe'));var authService=require(_0xfcc5('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xfcc5('0x10'));var hardwareService=require(_0xfcc5('0x11'));var logger=require(_0xfcc5('0x12'))(_0xfcc5('0x13'));var utils=require('../../config/utils');var config=require(_0xfcc5('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config['redis']=_[_0xfcc5('0x15')](config[_0xfcc5('0x16')],{'host':_0xfcc5('0x17'),'port':0x18eb});var socket=require(_0xfcc5('0x18'))(new Redis(config[_0xfcc5('0x16')]));require(_0xfcc5('0x19'))[_0xfcc5('0x1a')](socket);function respondWithStatusCode(_0x3995f3,_0x34756f){_0x34756f=_0x34756f||0xcc;return function(_0x249053){if(_0x249053){return _0x3995f3[_0xfcc5('0x1b')](_0x34756f);}return _0x3995f3[_0xfcc5('0x1c')](_0x34756f)[_0xfcc5('0x1d')]();};}function respondWithResult(_0x36d7d5,_0x3181fd){_0x3181fd=_0x3181fd||0xc8;return function(_0x379329){if(_0x379329){return _0x36d7d5['status'](_0x3181fd)[_0xfcc5('0x1e')](_0x379329);}};}function respondWithFilteredResult(_0x262cac,_0x4ac8e2){return function(_0x587f2f){if(_0x587f2f){var _0x2c6000=typeof _0x4ac8e2[_0xfcc5('0x1f')]===_0xfcc5('0x20')&&typeof _0x4ac8e2[_0xfcc5('0x21')]===_0xfcc5('0x20');var _0x1d2166=_0x587f2f['count'];var _0x373be7=_0x2c6000?0x0:_0x4ac8e2[_0xfcc5('0x1f')];var _0x38e016=_0x2c6000?_0x587f2f[_0xfcc5('0x22')]:_0x4ac8e2[_0xfcc5('0x1f')]+_0x4ac8e2[_0xfcc5('0x21')];var _0x188b9f;if(_0x38e016>=_0x1d2166){_0x38e016=_0x1d2166;_0x188b9f=0xc8;}else{_0x188b9f=0xce;}_0x262cac['status'](_0x188b9f);return _0x262cac['set'](_0xfcc5('0x23'),_0x373be7+'-'+_0x38e016+'/'+_0x1d2166)[_0xfcc5('0x1e')](_0x587f2f);}return null;};}function patchUpdates(_0x3681e1){return function(_0x1e9442){try{jsonpatch[_0xfcc5('0x24')](_0x1e9442,_0x3681e1,!![]);}catch(_0x25f9b8){return BPromise[_0xfcc5('0x25')](_0x25f9b8);}return _0x1e9442['save']();};}function saveUpdates(_0xf5ade,_0x439dbd){return function(_0x52c2d2){if(_0x52c2d2){return _0x52c2d2[_0xfcc5('0x26')](_0xf5ade)[_0xfcc5('0x27')](function(_0x125370){return _0x125370;});}return null;};}function removeEntity(_0x4358a9,_0x3eac25){return function(_0x4f1d1d){if(_0x4f1d1d){return _0x4f1d1d[_0xfcc5('0x28')]()[_0xfcc5('0x27')](function(){_0x4358a9[_0xfcc5('0x1c')](0xcc)[_0xfcc5('0x1d')]();});}};}function handleEntityNotFound(_0x54d662,_0x275ebf){return function(_0x50dbc7){if(!_0x50dbc7){_0x54d662['sendStatus'](0x194);}return _0x50dbc7;};}function handleError(_0x359970,_0x39586b){_0x39586b=_0x39586b||0x1f4;return function(_0x4de8a6){logger[_0xfcc5('0x29')](_0x4de8a6[_0xfcc5('0x2a')]);if(_0x4de8a6[_0xfcc5('0x2b')]){delete _0x4de8a6['name'];}_0x359970['status'](_0x39586b)[_0xfcc5('0x2c')](_0x4de8a6);};}exports[_0xfcc5('0x2d')]=function(_0x96ad60,_0x1911aa){var _0x5b20f4={},_0x377134={},_0xc31737={'count':0x0,'rows':[]};var _0xeec8ee=_[_0xfcc5('0x2e')](db['UserProfile'][_0xfcc5('0x2f')],function(_0x326763){return{'name':_0x326763[_0xfcc5('0x30')],'type':_0x326763['type']['key']};});_0x377134['model']=_['map'](_0xeec8ee,_0xfcc5('0x2b'));_0x377134[_0xfcc5('0x31')]=_[_0xfcc5('0x32')](_0x96ad60['query']);_0x377134[_0xfcc5('0x33')]=_[_0xfcc5('0x34')](_0x377134[_0xfcc5('0x35')],_0x377134[_0xfcc5('0x31')]);_0x5b20f4[_0xfcc5('0x36')]=_[_0xfcc5('0x34')](_0x377134['model'],qs[_0xfcc5('0x37')](_0x96ad60[_0xfcc5('0x31')][_0xfcc5('0x37')]));_0x5b20f4['attributes']=_0x5b20f4[_0xfcc5('0x36')][_0xfcc5('0x38')]?_0x5b20f4[_0xfcc5('0x36')]:_0x377134['model'];if(!_0x96ad60[_0xfcc5('0x31')]['hasOwnProperty'](_0xfcc5('0x39'))){_0x5b20f4[_0xfcc5('0x21')]=qs[_0xfcc5('0x21')](_0x96ad60['query'][_0xfcc5('0x21')]);_0x5b20f4[_0xfcc5('0x1f')]=qs[_0xfcc5('0x1f')](_0x96ad60[_0xfcc5('0x31')]['offset']);}_0x5b20f4[_0xfcc5('0x3a')]=qs['sort'](_0x96ad60[_0xfcc5('0x31')][_0xfcc5('0x3b')]);_0x5b20f4[_0xfcc5('0x3c')]=qs[_0xfcc5('0x33')](_[_0xfcc5('0x3d')](_0x96ad60['query'],_0x377134[_0xfcc5('0x33')]),_0xeec8ee);if(_0x96ad60[_0xfcc5('0x31')][_0xfcc5('0x3e')]){_0x5b20f4[_0xfcc5('0x3c')]=_[_0xfcc5('0x3f')](_0x5b20f4[_0xfcc5('0x3c')],{'$or':_[_0xfcc5('0x2e')](_0xeec8ee,function(_0x483464){if(_0x483464[_0xfcc5('0x40')]!=='VIRTUAL'){var _0x59299f={};_0x59299f[_0x483464[_0xfcc5('0x2b')]]={'$like':'%'+_0x96ad60[_0xfcc5('0x31')][_0xfcc5('0x3e')]+'%'};return _0x59299f;}})});}_0x5b20f4=_[_0xfcc5('0x3f')]({},_0x5b20f4,_0x96ad60['options']);var _0x3a79bb={'where':_0x5b20f4[_0xfcc5('0x3c')]};return db[_0xfcc5('0x41')][_0xfcc5('0x22')](_0x3a79bb)[_0xfcc5('0x27')](function(_0x44a286){_0xc31737[_0xfcc5('0x22')]=_0x44a286;if(_0x96ad60[_0xfcc5('0x31')][_0xfcc5('0x42')]){_0x5b20f4[_0xfcc5('0x43')]=[{'all':!![]}];}return db['UserProfile']['findAll'](_0x5b20f4);})[_0xfcc5('0x27')](function(_0x509bdd){_0xc31737[_0xfcc5('0x44')]=_0x509bdd;return _0xc31737;})[_0xfcc5('0x27')](respondWithFilteredResult(_0x1911aa,_0x5b20f4))[_0xfcc5('0x45')](handleError(_0x1911aa,null));};exports[_0xfcc5('0x46')]=function(_0x45dbc6,_0x50fb63){var _0x29cc67={'raw':![],'where':{'id':_0x45dbc6[_0xfcc5('0x47')]['id']}},_0x129a58={};_0x129a58[_0xfcc5('0x35')]=_[_0xfcc5('0x32')](db['UserProfile'][_0xfcc5('0x2f')]);_0x129a58[_0xfcc5('0x31')]=_[_0xfcc5('0x32')](_0x45dbc6[_0xfcc5('0x31')]);_0x129a58[_0xfcc5('0x33')]=_[_0xfcc5('0x34')](_0x129a58['model'],_0x129a58['query']);_0x29cc67[_0xfcc5('0x36')]=_['intersection'](_0x129a58[_0xfcc5('0x35')],qs[_0xfcc5('0x37')](_0x45dbc6[_0xfcc5('0x31')][_0xfcc5('0x37')]));_0x29cc67[_0xfcc5('0x36')]=_0x29cc67[_0xfcc5('0x36')]['length']?_0x29cc67[_0xfcc5('0x36')]:_0x129a58[_0xfcc5('0x35')];if(_0x45dbc6[_0xfcc5('0x31')][_0xfcc5('0x42')]){_0x29cc67[_0xfcc5('0x43')]=[{'all':!![]}];}_0x29cc67=_[_0xfcc5('0x3f')]({},_0x29cc67,_0x45dbc6[_0xfcc5('0x48')]);return db[_0xfcc5('0x41')][_0xfcc5('0x49')](_0x29cc67)[_0xfcc5('0x27')](handleEntityNotFound(_0x50fb63,null))[_0xfcc5('0x27')](respondWithResult(_0x50fb63,null))[_0xfcc5('0x45')](handleError(_0x50fb63,null));};exports['create']=function(_0x5927a1,_0x3643e2){return db[_0xfcc5('0x41')][_0xfcc5('0x4a')](_0x5927a1['body'],{})[_0xfcc5('0x27')](respondWithResult(_0x3643e2,0xc9))['catch'](handleError(_0x3643e2,null));};exports[_0xfcc5('0x4b')]=function(_0x5c9a9b,_0x16efaf){var _0x2d6216={'where':{'id':_0x5c9a9b['params']['id']}},_0x4538f8={};_0x4538f8['model']=_['keys'](db['UserProfile'][_0xfcc5('0x2f')]);_0x2d6216[_0xfcc5('0x36')]=_[_0xfcc5('0x34')](_0x4538f8[_0xfcc5('0x35')],qs[_0xfcc5('0x37')](_0x5c9a9b[_0xfcc5('0x31')]['fields']));_0x2d6216['attributes']=_0x2d6216[_0xfcc5('0x36')][_0xfcc5('0x38')]?_0x2d6216[_0xfcc5('0x36')]:_0x4538f8[_0xfcc5('0x35')];if(_0x5c9a9b['query'][_0xfcc5('0x42')]){_0x2d6216['include']=[{'all':!![]}];}_0x2d6216=_[_0xfcc5('0x3f')]({},_0x2d6216,_0x5c9a9b[_0xfcc5('0x48')]);return db['UserProfile'][_0xfcc5('0x49')](_0x2d6216)[_0xfcc5('0x27')](handleEntityNotFound(_0x16efaf,null))[_0xfcc5('0x27')](function(_0x373e12){if(_0x373e12){var _0x5048f3=_0x373e12[_0xfcc5('0x4c')]({'plain':!![]});_0x5048f3=qs[_0xfcc5('0x4d')](_0x5048f3,['id',_0xfcc5('0x4e'),_0xfcc5('0x4f'),_0xfcc5('0x50')]);_0x5c9a9b[_0xfcc5('0x51')]=_[_0xfcc5('0x4d')](_0x5c9a9b[_0xfcc5('0x51')],['id',_0xfcc5('0x4e'),'updatedAt']);return db['sequelize'][_0xfcc5('0x52')](function(_0x32e8c9){return db[_0xfcc5('0x41')][_0xfcc5('0x4a')](_[_0xfcc5('0x3f')](_0x5048f3,_0x5c9a9b[_0xfcc5('0x51')]),{'include':_0x5c9a9b['query'][_0xfcc5('0x42')]?[{'all':!![]}]:undefined,'transaction':_0x32e8c9})[_0xfcc5('0x27')](function(_0x5b98b2){var _0xe71ce2=_0x5b98b2[_0xfcc5('0x4c')]({'plain':!![]});return db[_0xfcc5('0x53')][_0xfcc5('0x54')]({'where':{'userProfileId':_0x5c9a9b[_0xfcc5('0x47')]['id']},'raw':!![]})[_0xfcc5('0x27')](function(_0x1ee504){if(_0x1ee504){return BPromise[_0xfcc5('0x55')](_0x1ee504,function(_0x33a757){return new BPromise(function(_0x4b8d93,_0x4bd749){if(_0x33a757['autoAssociation']===null||_0x33a757[_0xfcc5('0x56')]===0x1)_0x4b8d93(null);return db[_0xfcc5('0x57')]['findAll']({'where':{'sectionId':_0x33a757['id']},'raw':!![]})[_0xfcc5('0x27')](function(_0x526495){var _0x4e289a=_['map'](_0x526495,function(_0x7dc798){return qs[_0xfcc5('0x4d')](_0x7dc798,['id',_0xfcc5('0x4e'),_0xfcc5('0x4f'),_0xfcc5('0x58')]);});_0x4b8d93(_0x4e289a);})[_0xfcc5('0x45')](function(_0x572612){_0x4bd749(_0x572612);});})['then'](function(_0x39ef87){var _0x10c422=qs[_0xfcc5('0x4d')](_0x33a757,['id',_0xfcc5('0x4e'),_0xfcc5('0x4f')]);_0x10c422[_0xfcc5('0x59')]=_0xe71ce2['id'];if(_0x39ef87)_0x10c422[_0xfcc5('0x5a')]=_0x39ef87;return _0x10c422;})[_0xfcc5('0x27')](function(_0x3017cd){return db[_0xfcc5('0x53')][_0xfcc5('0x4a')](_0x3017cd,{'include':[{'model':db[_0xfcc5('0x57')],'as':_0xfcc5('0x5a')}],'raw':!![],'transaction':_0x32e8c9});});})[_0xfcc5('0x27')](function(){return _0xe71ce2;});}});});});}})[_0xfcc5('0x27')](respondWithResult(_0x16efaf,0xc9))[_0xfcc5('0x45')](handleError(_0x16efaf,null));};exports[_0xfcc5('0x26')]=function(_0x57ea56,_0x469032){if(_0x57ea56[_0xfcc5('0x51')]['id']){delete _0x57ea56[_0xfcc5('0x51')]['id'];}return db[_0xfcc5('0x41')][_0xfcc5('0x49')]({'where':{'id':_0x57ea56[_0xfcc5('0x47')]['id']}})['then'](handleEntityNotFound(_0x469032,null))['then'](saveUpdates(_0x57ea56['body'],null))[_0xfcc5('0x27')](respondWithResult(_0x469032,null))['catch'](handleError(_0x469032,null));};exports[_0xfcc5('0x28')]=function(_0x11ac5b,_0x2a7e4b){return db[_0xfcc5('0x41')][_0xfcc5('0x49')]({'where':{'id':_0x11ac5b['params']['id']}})[_0xfcc5('0x27')](handleEntityNotFound(_0x2a7e4b,null))['then'](removeEntity(_0x2a7e4b,null))[_0xfcc5('0x45')](handleError(_0x2a7e4b,null));};exports[_0xfcc5('0x5b')]=function(_0x133c42,_0x83e313){return db[_0xfcc5('0x41')]['describe']()['then'](respondWithResult(_0x83e313,null))['catch'](handleError(_0x83e313,null));};exports['addSections']=function(_0x3c9662,_0xc7b19){var _0x28c86a=_0x3c9662[_0xfcc5('0x51')];return db['UserProfile'][_0xfcc5('0x49')]({'where':{'id':_0x3c9662[_0xfcc5('0x47')]['id']}})[_0xfcc5('0x27')](handleEntityNotFound(_0xc7b19,null))[_0xfcc5('0x27')](function(_0x4bc1a0){if(_0x4bc1a0){return db[_0xfcc5('0x5c')]['transaction'](function(_0x17ea5f){return db[_0xfcc5('0x53')][_0xfcc5('0x28')]({'where':{'userProfileId':_0x3c9662[_0xfcc5('0x47')]['id'],'sectionId':_[_0xfcc5('0x2e')](_0x28c86a,function(_0x2c82f0){return _0x2c82f0[_0xfcc5('0x58')];})},'transaction':_0x17ea5f})[_0xfcc5('0x27')](function(){var _0x37ecb2=_[_0xfcc5('0x2e')](_0x28c86a,function(_0x3d8046){_0x3d8046[_0xfcc5('0x59')]=_0x3c9662[_0xfcc5('0x47')]['id'];return _0x3d8046;});var _0x4e1f9d=[];return BPromise[_0xfcc5('0x55')](_0x37ecb2,function(_0x5aae9c){return db[_0xfcc5('0x53')][_0xfcc5('0x4a')](_0x5aae9c,{'include':[{'model':db[_0xfcc5('0x57')],'as':_0xfcc5('0x5a')}],'raw':!![],'transaction':_0x17ea5f})['then'](function(_0x576d16){_0x4e1f9d[_0xfcc5('0x5d')](_0x576d16[_0xfcc5('0x4c')]({'plain':!![]}));});})['then'](function(){return _0x4e1f9d;});});});}})[_0xfcc5('0x27')](function(_0x38a506){return _0x38a506;})[_0xfcc5('0x27')](respondWithResult(_0xc7b19,null))['catch'](handleError(_0xc7b19,null));};exports['removeSections']=function(_0x24926d,_0x24d701){var _0x1a25c9;return db[_0xfcc5('0x41')]['find']({'where':{'id':_0x24926d['params']['id']},'attributes':['id',_0xfcc5('0x2b')]})[_0xfcc5('0x27')](handleEntityNotFound(_0x24d701,null))[_0xfcc5('0x27')](function(_0x3810da){if(_0x3810da){_0x1a25c9=_0x3810da;return db['UserProfileSection'][_0xfcc5('0x28')]({'where':{'userProfileId':_0x24926d['params']['id'],'sectionId':_0x24926d[_0xfcc5('0x31')][_0xfcc5('0x5e')]}});}})[_0xfcc5('0x27')](function(){return _0x1a25c9;})['then'](respondWithStatusCode(_0x24d701,null))[_0xfcc5('0x45')](handleError(_0x24d701,null));};exports[_0xfcc5('0x5f')]=function(_0x22445a,_0x11f6c0){var _0x7fc3b5=[];var _0x37e8e8=[];return db[_0xfcc5('0x53')][_0xfcc5('0x54')]({'where':{'userProfileId':_0x22445a[_0xfcc5('0x47')]['id']},'raw':!![]})[_0xfcc5('0x27')](function(_0x21db50){_0x7fc3b5=_['filter'](_0x21db50,function(_0x380f09){return _0x380f09[_0xfcc5('0x60')]===0x1||_['includes']([0x3eb,0x709],_0x380f09[_0xfcc5('0x58')]);});if(!_[_0xfcc5('0x61')](_0x7fc3b5)){return _[_0xfcc5('0x2e')](_0x7fc3b5,function(_0x1e9e26){return _0x1e9e26[_0xfcc5('0x58')];});}else{return;}})[_0xfcc5('0x27')](function(_0x41ff6d){if(_0x41ff6d)_0x37e8e8=_0x41ff6d;if(_[_0xfcc5('0x62')](_0x37e8e8,0x64)){var _0x37f495=_[_0xfcc5('0x49')](_0x7fc3b5,{'sectionId':0x64});return hasDefaultDashboard(_0x37f495)[_0xfcc5('0x27')](function(_0x50ccf1){return _[_0xfcc5('0x2e')](_0x7fc3b5,function(_0x38da42){if(_0x38da42[_0xfcc5('0x58')]===0x64){_0x38da42[_0xfcc5('0x63')]=_0x50ccf1;}return _0x38da42;});});}else{return;}})[_0xfcc5('0x27')](function(_0x130869){if(_0x130869)_0x7fc3b5=_0x130869;if(_[_0xfcc5('0x62')](_0x37e8e8,0x3eb)){var _0xbd9835=_[_0xfcc5('0x49')](_0x7fc3b5,{'sectionId':0x3eb});return getCustomDashboards(_0xbd9835)['then'](function(_0x2ab5a9){return _['map'](_0x7fc3b5,function(_0x2daa41){if(_0xbd9835[_0xfcc5('0x60')]){if(_0x2daa41[_0xfcc5('0x58')]===0x3eb){_0x2daa41['subsections']=_0x2ab5a9;}}else{if(_0x2daa41[_0xfcc5('0x58')]===0x64){if(!_0x2daa41[_0xfcc5('0x63')]){_0x2daa41[_0xfcc5('0x63')]=[];}_0x2daa41[_0xfcc5('0x63')]=_0x2daa41[_0xfcc5('0x63')][_0xfcc5('0x64')](_0x2ab5a9);}}return _0x2daa41;});});}else{return;}})[_0xfcc5('0x27')](function(_0x596a3f){if(_0x596a3f)_0x7fc3b5=_0x596a3f;if(_['includes'](_0x37e8e8,0x709)){var _0x1772d6=_[_0xfcc5('0x49')](_0x7fc3b5,{'sectionId':0x709});return getPlugins(_0x1772d6)['then'](function(_0x21ed46){if(_0x1772d6['enabled']){return _[_0xfcc5('0x2e')](_0x7fc3b5,function(_0x3a95c3){if(_0x3a95c3[_0xfcc5('0x58')]===0x709){_0x3a95c3[_0xfcc5('0x63')]=_0x21ed46;}return _0x3a95c3;});}else{var _0x2e7ca9={'sectionId':0x76c,'enabled':0x1,'subsections':_0x21ed46};var _0x19b0d9=_[_0xfcc5('0x2e')](_0x7fc3b5);_0x19b0d9[_0xfcc5('0x5d')](_0x2e7ca9);return _0x19b0d9;}});}else{return;}})[_0xfcc5('0x27')](function(_0x53b511){if(_0x53b511)_0x7fc3b5=_0x53b511;return _[_0xfcc5('0x3e')](_0x7fc3b5,[_0xfcc5('0x60'),0x1]);})['then'](respondWithResult(_0x11f6c0,null))[_0xfcc5('0x45')](handleError(_0x11f6c0,null));};function hasDefaultDashboard(_0x500c89){var _0x2a2fd7=[0x65];return new BPromise(function(_0x5186c2,_0x29dd01){try{if(_0x500c89['autoAssociation']){_0x5186c2(_0x2a2fd7);}else{return db[_0xfcc5('0x57')][_0xfcc5('0x65')]({'where':{'sectionId':_0x500c89['id']},'raw':!![]})[_0xfcc5('0x27')](function(_0x34126c){_0x34126c?_0x5186c2(_0x2a2fd7):_0x5186c2();});}}catch(_0x38e2b6){_0x29dd01(_0x38e2b6);}});}function getCustomDashboards(_0x210c7d){var _0x447db7=[];return new BPromise(function(_0x5eeb98,_0x1be62e){try{if(_0x210c7d[_0xfcc5('0x56')]){return db[_0xfcc5('0x66')][_0xfcc5('0x54')]({'raw':!![]})[_0xfcc5('0x27')](function(_0x33ca9a){_0x33ca9a[_0xfcc5('0x67')](function(_0x567893){_0x447db7[_0xfcc5('0x5d')](_0x567893['id']+0x1869f);});_0x5eeb98(_0x447db7);});}else{return db[_0xfcc5('0x57')][_0xfcc5('0x54')]({'where':{'sectionId':_0x210c7d['id']},'raw':!![]})[_0xfcc5('0x27')](function(_0x570b49){_0x570b49['forEach'](function(_0x4dee22){_0x447db7[_0xfcc5('0x5d')](_0x4dee22[_0xfcc5('0x68')]+0x1869f);});_0x5eeb98(_0x447db7);});}}catch(_0x33cf61){_0x1be62e(_0x33cf61);}});}function getPlugins(_0x1907bd){var _0x1f525d=[];return new BPromise(function(_0x3fddc3,_0x4a1750){try{if(_0x1907bd['autoAssociation']){return db[_0xfcc5('0x69')][_0xfcc5('0x54')]({'raw':!![]})[_0xfcc5('0x27')](function(_0xfeea97){_0xfeea97['forEach'](function(_0x54dcf1){_0x1f525d[_0xfcc5('0x5d')](_0x54dcf1['id']+0x15b38);});_0x3fddc3(_0x1f525d);});}else{return db['UserProfileResource'][_0xfcc5('0x54')]({'where':{'sectionId':_0x1907bd['id']},'raw':!![]})[_0xfcc5('0x27')](function(_0x350ed8){_0x350ed8[_0xfcc5('0x67')](function(_0xfafbf1){_0x1f525d['push'](_0xfafbf1[_0xfcc5('0x68')]+0x15b38);});_0x3fddc3(_0x1f525d);});}}catch(_0x53feff){_0x4a1750(_0x53feff);}});}exports[_0xfcc5('0x6a')]=function(_0x501f3f,_0x41311d){return db[_0xfcc5('0x41')][_0xfcc5('0x49')]({'where':{'id':_0x501f3f[_0xfcc5('0x47')]['id']}})[_0xfcc5('0x27')](handleEntityNotFound(_0x41311d,null))['then'](function(_0x333902){if(_0x333902){return db[_0xfcc5('0x5c')][_0xfcc5('0x52')](function(_0x5de4e9){return db[_0xfcc5('0x53')]['findAll']({'where':{'userProfileId':_0x501f3f[_0xfcc5('0x47')]['id']},'attributes':['id'],'raw':!![]})[_0xfcc5('0x27')](function(_0x109056){if(_0x109056){return db[_0xfcc5('0x53')]['destroy']({'where':{'userProfileId':_0x501f3f['params']['id'],'id':_['map'](_0x109056,function(_0x1fe6ab){return _0x1fe6ab['id'];})},'transaction':_0x5de4e9});}})[_0xfcc5('0x27')](function(_0x246818){var _0x33924c=_[_0xfcc5('0x2e')](_0x501f3f[_0xfcc5('0x51')],function(_0xe21b10){_0xe21b10['userProfileId']=_0x501f3f[_0xfcc5('0x47')]['id'];return _0xe21b10;});return db[_0xfcc5('0x53')][_0xfcc5('0x6b')](_0x33924c,{'raw':!![],'transaction':_0x5de4e9});})['then'](function(_0x44ca91){var _0x2275f0=_[_0xfcc5('0x3e')](_[_0xfcc5('0x2e')](_0x44ca91,function(_0x13e8b9){return _0x13e8b9[_0xfcc5('0x4c')]({'plain':!![]});}),{'includeAll':![]});if(_0x2275f0){return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x501f3f[_0xfcc5('0x47')]['id'],'sectionId':_[_0xfcc5('0x2e')](_0x2275f0,function(_0x1382f3){return _0x1382f3['sectionId'];})},'attributes':['id',_0xfcc5('0x58')],'raw':!![]})[_0xfcc5('0x27')](function(_0xe92ac7){var _0x20dd4c=_[_0xfcc5('0x2e')](_0x501f3f[_0xfcc5('0x51')],function(_0x5ecf5f){_0x5ecf5f[_0xfcc5('0x59')]=_0x501f3f[_0xfcc5('0x47')]['id'];return _0x5ecf5f;});return db['UserProfileResource'][_0xfcc5('0x6b')](_0x20dd4c,{'raw':!![],'transaction':_0x5de4e9});});}})['catch'](handleError(_0x41311d,null));});}})[_0xfcc5('0x27')](function(_0x1ed9f7){var _0x40ad78=_[_0xfcc5('0x2e')](_0x1ed9f7,function(_0x2abd2a){return _0x2abd2a[_0xfcc5('0x4c')]({'plain':!![]});});})[_0xfcc5('0x27')](respondWithResult(_0x41311d,null))['catch'](handleError(_0x41311d,null));};exports[_0xfcc5('0x6c')]=function(_0x507285,_0x2091e1,_0x411f6f){return db[_0xfcc5('0x41')]['find']({'where':{'id':_0x507285[_0xfcc5('0x47')]['id']}})[_0xfcc5('0x27')](handleEntityNotFound(_0x2091e1,null))['then'](function(_0x40c35f){if(_0x40c35f){return _0x40c35f[_0xfcc5('0x6c')](_0x507285['query'][_0xfcc5('0x5e')]);}})['then'](respondWithStatusCode(_0x2091e1,null))[_0xfcc5('0x45')](handleError(_0x2091e1,null));};exports[_0xfcc5('0x6d')]=function(_0x1b3ba7,_0x590e36){var _0x34c326={};if(!_0x1b3ba7[_0xfcc5('0x31')][_0xfcc5('0x6e')])throw new Error(_0xfcc5('0x6f'));if(!_0x1b3ba7[_0xfcc5('0x31')][_0xfcc5('0x70')](_0xfcc5('0x39'))){_0x34c326['limit']=qs['limit'](_0x1b3ba7['query'][_0xfcc5('0x21')]);_0x34c326[_0xfcc5('0x1f')]=qs[_0xfcc5('0x1f')](_0x1b3ba7[_0xfcc5('0x31')][_0xfcc5('0x1f')]);}return db[_0xfcc5('0x41')][_0xfcc5('0x49')]({'where':{'id':_0x1b3ba7[_0xfcc5('0x47')]['id']}})[_0xfcc5('0x27')](function(_0x748aa9){if(!_0x748aa9)throw new Error(_0xfcc5('0x71')+_0x1b3ba7[_0xfcc5('0x47')]['id']);return db[_0xfcc5('0x41')][_0xfcc5('0x6d')](_0x1b3ba7);})[_0xfcc5('0x27')](respondWithFilteredResult(_0x590e36,_0x34c326))['catch'](handleError(_0x590e36,null));};