Built motion from commit 3c2ce842.|2.6.31
[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 _0xea30=['userProfileId','Resources','UserProfileSection','destroy','describe','addSections','transaction','each','get','removeSections','getSections','includes','enabled','subsections','push','Dashboard','forEach','resourceId','Plugin','addResources','bulkCreate','removeResources','getResources','section','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','defaults','localhost','socket.io-emitter','./userProfile.socket','sendStatus','status','end','json','offset','undefined','limit','count','set','reject','save','update','then','name','send','map','UserProfile','rawAttributes','fieldName','model','keys','filters','intersection','query','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','length','merge','options','find','create','clone','omit','createdAt','updatedAt','body','sequelize','autoAssociation','UserProfileResource','sectionId'];(function(_0x4b470a,_0x38d229){var _0x52ba0d=function(_0x55caa5){while(--_0x55caa5){_0x4b470a['push'](_0x4b470a['shift']());}};_0x52ba0d(++_0x38d229);}(_0xea30,0x1c4));var _0x0ea3=function(_0x502b99,_0x376daf){_0x502b99=_0x502b99-0x0;var _0x45563e=_0xea30[_0x502b99];return _0x45563e;};'use strict';var emlformat=require(_0x0ea3('0x0'));var rimraf=require(_0x0ea3('0x1'));var zipdir=require(_0x0ea3('0x2'));var jsonpatch=require(_0x0ea3('0x3'));var rp=require(_0x0ea3('0x4'));var moment=require(_0x0ea3('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x0ea3('0x6'));var path=require(_0x0ea3('0x7'));var sox=require('sox');var csv=require(_0x0ea3('0x8'));var ejs=require(_0x0ea3('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x0ea3('0xa'));var crypto=require(_0x0ea3('0xb'));var jsforce=require(_0x0ea3('0xc'));var deskjs=require(_0x0ea3('0xd'));var toCsv=require('to-csv');var querystring=require(_0x0ea3('0xe'));var Papa=require('papaparse');var Redis=require(_0x0ea3('0xf'));var authService=require(_0x0ea3('0x10'));var qs=require(_0x0ea3('0x11'));var as=require(_0x0ea3('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0ea3('0x13'))(_0x0ea3('0x14'));var utils=require(_0x0ea3('0x15'));var config=require(_0x0ea3('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x0ea3('0x17'))['db'];config['redis']=_[_0x0ea3('0x18')](config['redis'],{'host':_0x0ea3('0x19'),'port':0x18eb});var socket=require(_0x0ea3('0x1a'))(new Redis(config['redis']));require(_0x0ea3('0x1b'))['register'](socket);function respondWithStatusCode(_0x47e1eb,_0x38d74f){_0x38d74f=_0x38d74f||0xcc;return function(_0x36df14){if(_0x36df14){return _0x47e1eb[_0x0ea3('0x1c')](_0x38d74f);}return _0x47e1eb[_0x0ea3('0x1d')](_0x38d74f)[_0x0ea3('0x1e')]();};}function respondWithResult(_0x522342,_0x29f4cd){_0x29f4cd=_0x29f4cd||0xc8;return function(_0x486eeb){if(_0x486eeb){return _0x522342[_0x0ea3('0x1d')](_0x29f4cd)[_0x0ea3('0x1f')](_0x486eeb);}};}function respondWithFilteredResult(_0xdbb5ce,_0x3d301a){return function(_0x4647dd){if(_0x4647dd){var _0x2ec3c7=typeof _0x3d301a[_0x0ea3('0x20')]===_0x0ea3('0x21')&&typeof _0x3d301a[_0x0ea3('0x22')]===_0x0ea3('0x21');var _0x172154=_0x4647dd[_0x0ea3('0x23')];var _0x47fd26=_0x2ec3c7?0x0:_0x3d301a[_0x0ea3('0x20')];var _0x30e73d=_0x2ec3c7?_0x4647dd['count']:_0x3d301a['offset']+_0x3d301a['limit'];var _0x174796;if(_0x30e73d>=_0x172154){_0x30e73d=_0x172154;_0x174796=0xc8;}else{_0x174796=0xce;}_0xdbb5ce[_0x0ea3('0x1d')](_0x174796);return _0xdbb5ce[_0x0ea3('0x24')]('Content-Range',_0x47fd26+'-'+_0x30e73d+'/'+_0x172154)['json'](_0x4647dd);}return null;};}function patchUpdates(_0x2da113){return function(_0x19ac27){try{jsonpatch['apply'](_0x19ac27,_0x2da113,!![]);}catch(_0x5cd201){return BPromise[_0x0ea3('0x25')](_0x5cd201);}return _0x19ac27[_0x0ea3('0x26')]();};}function saveUpdates(_0x85b34c,_0x17707f){return function(_0xdc8254){if(_0xdc8254){return _0xdc8254[_0x0ea3('0x27')](_0x85b34c)['then'](function(_0x2c32b4){return _0x2c32b4;});}return null;};}function removeEntity(_0x58298e,_0x226817){return function(_0x3cf65e){if(_0x3cf65e){return _0x3cf65e['destroy']()[_0x0ea3('0x28')](function(){_0x58298e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x59a0c6,_0x4f2eee){return function(_0x349f11){if(!_0x349f11){_0x59a0c6[_0x0ea3('0x1c')](0x194);}return _0x349f11;};}function handleError(_0xb4d8fb,_0x1ea474){_0x1ea474=_0x1ea474||0x1f4;return function(_0x14f10f){logger['error'](_0x14f10f['stack']);if(_0x14f10f[_0x0ea3('0x29')]){delete _0x14f10f[_0x0ea3('0x29')];}_0xb4d8fb[_0x0ea3('0x1d')](_0x1ea474)[_0x0ea3('0x2a')](_0x14f10f);};}exports['index']=function(_0x174d3e,_0xd247d1){var _0x40d359={},_0x440f9d={},_0x34e5c2={'count':0x0,'rows':[]};var _0x31d407=_[_0x0ea3('0x2b')](db[_0x0ea3('0x2c')][_0x0ea3('0x2d')],function(_0x1a4346){return{'name':_0x1a4346[_0x0ea3('0x2e')],'type':_0x1a4346['type']['key']};});_0x440f9d[_0x0ea3('0x2f')]=_[_0x0ea3('0x2b')](_0x31d407,_0x0ea3('0x29'));_0x440f9d['query']=_[_0x0ea3('0x30')](_0x174d3e['query']);_0x440f9d[_0x0ea3('0x31')]=_[_0x0ea3('0x32')](_0x440f9d[_0x0ea3('0x2f')],_0x440f9d[_0x0ea3('0x33')]);_0x40d359[_0x0ea3('0x34')]=_[_0x0ea3('0x32')](_0x440f9d[_0x0ea3('0x2f')],qs['fields'](_0x174d3e[_0x0ea3('0x33')][_0x0ea3('0x35')]));_0x40d359[_0x0ea3('0x34')]=_0x40d359[_0x0ea3('0x34')]['length']?_0x40d359[_0x0ea3('0x34')]:_0x440f9d['model'];if(!_0x174d3e[_0x0ea3('0x33')][_0x0ea3('0x36')](_0x0ea3('0x37'))){_0x40d359[_0x0ea3('0x22')]=qs[_0x0ea3('0x22')](_0x174d3e[_0x0ea3('0x33')]['limit']);_0x40d359[_0x0ea3('0x20')]=qs[_0x0ea3('0x20')](_0x174d3e[_0x0ea3('0x33')][_0x0ea3('0x20')]);}_0x40d359[_0x0ea3('0x38')]=qs[_0x0ea3('0x39')](_0x174d3e[_0x0ea3('0x33')][_0x0ea3('0x39')]);_0x40d359[_0x0ea3('0x3a')]=qs['filters'](_[_0x0ea3('0x3b')](_0x174d3e[_0x0ea3('0x33')],_0x440f9d[_0x0ea3('0x31')]),_0x31d407);if(_0x174d3e[_0x0ea3('0x33')][_0x0ea3('0x3c')]){_0x40d359[_0x0ea3('0x3a')]=_['merge'](_0x40d359['where'],{'$or':_[_0x0ea3('0x2b')](_0x31d407,function(_0x4bf3bf){if(_0x4bf3bf['type']!==_0x0ea3('0x3d')){var _0x3204b1={};_0x3204b1[_0x4bf3bf[_0x0ea3('0x29')]]={'$like':'%'+_0x174d3e[_0x0ea3('0x33')][_0x0ea3('0x3c')]+'%'};return _0x3204b1;}})});}_0x40d359=_['merge']({},_0x40d359,_0x174d3e['options']);var _0x5c9ea2={'where':_0x40d359[_0x0ea3('0x3a')]};return db[_0x0ea3('0x2c')][_0x0ea3('0x23')](_0x5c9ea2)[_0x0ea3('0x28')](function(_0xa7768e){_0x34e5c2[_0x0ea3('0x23')]=_0xa7768e;if(_0x174d3e[_0x0ea3('0x33')][_0x0ea3('0x3e')]){_0x40d359[_0x0ea3('0x3f')]=[{'all':!![]}];}return db[_0x0ea3('0x2c')][_0x0ea3('0x40')](_0x40d359);})[_0x0ea3('0x28')](function(_0x32de70){_0x34e5c2[_0x0ea3('0x41')]=_0x32de70;return _0x34e5c2;})[_0x0ea3('0x28')](respondWithFilteredResult(_0xd247d1,_0x40d359))[_0x0ea3('0x42')](handleError(_0xd247d1,null));};exports[_0x0ea3('0x43')]=function(_0x1d55d6,_0x5a4e12){var _0x59f3de={'raw':![],'where':{'id':_0x1d55d6[_0x0ea3('0x44')]['id']}},_0x3d0f58={};_0x3d0f58[_0x0ea3('0x2f')]=_[_0x0ea3('0x30')](db['UserProfile'][_0x0ea3('0x2d')]);_0x3d0f58['query']=_['keys'](_0x1d55d6[_0x0ea3('0x33')]);_0x3d0f58[_0x0ea3('0x31')]=_[_0x0ea3('0x32')](_0x3d0f58[_0x0ea3('0x2f')],_0x3d0f58['query']);_0x59f3de['attributes']=_[_0x0ea3('0x32')](_0x3d0f58[_0x0ea3('0x2f')],qs['fields'](_0x1d55d6[_0x0ea3('0x33')][_0x0ea3('0x35')]));_0x59f3de[_0x0ea3('0x34')]=_0x59f3de[_0x0ea3('0x34')][_0x0ea3('0x45')]?_0x59f3de[_0x0ea3('0x34')]:_0x3d0f58['model'];if(_0x1d55d6[_0x0ea3('0x33')][_0x0ea3('0x3e')]){_0x59f3de[_0x0ea3('0x3f')]=[{'all':!![]}];}_0x59f3de=_[_0x0ea3('0x46')]({},_0x59f3de,_0x1d55d6[_0x0ea3('0x47')]);return db['UserProfile'][_0x0ea3('0x48')](_0x59f3de)[_0x0ea3('0x28')](handleEntityNotFound(_0x5a4e12,null))[_0x0ea3('0x28')](respondWithResult(_0x5a4e12,null))[_0x0ea3('0x42')](handleError(_0x5a4e12,null));};exports[_0x0ea3('0x49')]=function(_0x3b7fd8,_0x3fe905){return db[_0x0ea3('0x2c')]['create'](_0x3b7fd8['body'],{})['then'](respondWithResult(_0x3fe905,0xc9))[_0x0ea3('0x42')](handleError(_0x3fe905,null));};exports[_0x0ea3('0x4a')]=function(_0x32d02a,_0x482a89){var _0x3d5569={'where':{'id':_0x32d02a[_0x0ea3('0x44')]['id']}},_0x5d0540={};_0x5d0540[_0x0ea3('0x2f')]=_[_0x0ea3('0x30')](db[_0x0ea3('0x2c')][_0x0ea3('0x2d')]);_0x3d5569['attributes']=_[_0x0ea3('0x32')](_0x5d0540['model'],qs['fields'](_0x32d02a[_0x0ea3('0x33')][_0x0ea3('0x35')]));_0x3d5569['attributes']=_0x3d5569['attributes'][_0x0ea3('0x45')]?_0x3d5569[_0x0ea3('0x34')]:_0x5d0540[_0x0ea3('0x2f')];if(_0x32d02a[_0x0ea3('0x33')][_0x0ea3('0x3e')]){_0x3d5569[_0x0ea3('0x3f')]=[{'all':!![]}];}_0x3d5569=_[_0x0ea3('0x46')]({},_0x3d5569,_0x32d02a['options']);return db[_0x0ea3('0x2c')][_0x0ea3('0x48')](_0x3d5569)[_0x0ea3('0x28')](handleEntityNotFound(_0x482a89,null))[_0x0ea3('0x28')](function(_0x2f2dc1){if(_0x2f2dc1){var _0x2de679=_0x2f2dc1['get']({'plain':!![]});_0x2de679=qs[_0x0ea3('0x4b')](_0x2de679,['id',_0x0ea3('0x4c'),_0x0ea3('0x4d'),'crudPermissions']);_0x32d02a[_0x0ea3('0x4e')]=_[_0x0ea3('0x4b')](_0x32d02a[_0x0ea3('0x4e')],['id',_0x0ea3('0x4c'),'updatedAt']);return db[_0x0ea3('0x4f')]['transaction'](function(_0x39fe9f){return db[_0x0ea3('0x2c')][_0x0ea3('0x49')](_[_0x0ea3('0x46')](_0x2de679,_0x32d02a[_0x0ea3('0x4e')]),{'include':_0x32d02a[_0x0ea3('0x33')][_0x0ea3('0x3e')]?[{'all':!![]}]:undefined,'transaction':_0x39fe9f})[_0x0ea3('0x28')](function(_0xa32e49){var _0x5d0064=_0xa32e49['get']({'plain':!![]});return db['UserProfileSection'][_0x0ea3('0x40')]({'where':{'userProfileId':_0x32d02a['params']['id']},'raw':!![]})[_0x0ea3('0x28')](function(_0x321691){if(_0x321691){return BPromise['each'](_0x321691,function(_0x396a97){return new BPromise(function(_0x38931c,_0x22139c){if(_0x396a97[_0x0ea3('0x50')]===null||_0x396a97[_0x0ea3('0x50')]===0x1)_0x38931c(null);return db[_0x0ea3('0x51')]['findAll']({'where':{'sectionId':_0x396a97['id']},'raw':!![]})[_0x0ea3('0x28')](function(_0x22c64d){var _0x431412=_[_0x0ea3('0x2b')](_0x22c64d,function(_0x422ff2){return qs[_0x0ea3('0x4b')](_0x422ff2,['id',_0x0ea3('0x4c'),_0x0ea3('0x4d'),_0x0ea3('0x52')]);});_0x38931c(_0x431412);})[_0x0ea3('0x42')](function(_0x52778e){_0x22139c(_0x52778e);});})[_0x0ea3('0x28')](function(_0x249525){var _0x1c5d36=qs[_0x0ea3('0x4b')](_0x396a97,['id','createdAt',_0x0ea3('0x4d')]);_0x1c5d36[_0x0ea3('0x53')]=_0x5d0064['id'];if(_0x249525)_0x1c5d36[_0x0ea3('0x54')]=_0x249525;return _0x1c5d36;})['then'](function(_0x9e413d){return db[_0x0ea3('0x55')]['create'](_0x9e413d,{'include':[{'model':db['UserProfileResource'],'as':_0x0ea3('0x54')}],'raw':!![],'transaction':_0x39fe9f});});})[_0x0ea3('0x28')](function(){return _0x5d0064;});}});});});}})['then'](respondWithResult(_0x482a89,0xc9))['catch'](handleError(_0x482a89,null));};exports[_0x0ea3('0x27')]=function(_0x128649,_0x30b30c){if(_0x128649[_0x0ea3('0x4e')]['id']){delete _0x128649['body']['id'];}return db[_0x0ea3('0x2c')]['find']({'where':{'id':_0x128649[_0x0ea3('0x44')]['id']}})[_0x0ea3('0x28')](handleEntityNotFound(_0x30b30c,null))['then'](saveUpdates(_0x128649[_0x0ea3('0x4e')],null))[_0x0ea3('0x28')](respondWithResult(_0x30b30c,null))[_0x0ea3('0x42')](handleError(_0x30b30c,null));};exports[_0x0ea3('0x56')]=function(_0x17abc9,_0x21977c){return db[_0x0ea3('0x2c')][_0x0ea3('0x48')]({'where':{'id':_0x17abc9[_0x0ea3('0x44')]['id']}})[_0x0ea3('0x28')](handleEntityNotFound(_0x21977c,null))[_0x0ea3('0x28')](removeEntity(_0x21977c,null))[_0x0ea3('0x42')](handleError(_0x21977c,null));};exports[_0x0ea3('0x57')]=function(_0x3efedb,_0x5e4b44){return db['UserProfile'][_0x0ea3('0x57')]()[_0x0ea3('0x28')](respondWithResult(_0x5e4b44,null))[_0x0ea3('0x42')](handleError(_0x5e4b44,null));};exports[_0x0ea3('0x58')]=function(_0x25556e,_0x2d1dc0){var _0x30e1c1=_0x25556e[_0x0ea3('0x4e')];return db[_0x0ea3('0x2c')][_0x0ea3('0x48')]({'where':{'id':_0x25556e['params']['id']}})[_0x0ea3('0x28')](handleEntityNotFound(_0x2d1dc0,null))[_0x0ea3('0x28')](function(_0x5b2e2a){if(_0x5b2e2a){return db[_0x0ea3('0x4f')][_0x0ea3('0x59')](function(_0x29c0c2){return db[_0x0ea3('0x55')][_0x0ea3('0x56')]({'where':{'userProfileId':_0x25556e['params']['id'],'sectionId':_[_0x0ea3('0x2b')](_0x30e1c1,function(_0x58d99e){return _0x58d99e[_0x0ea3('0x52')];})},'transaction':_0x29c0c2})[_0x0ea3('0x28')](function(){var _0x5680c9=_[_0x0ea3('0x2b')](_0x30e1c1,function(_0x2926fc){_0x2926fc['userProfileId']=_0x25556e[_0x0ea3('0x44')]['id'];return _0x2926fc;});var _0x192f2c=[];return BPromise[_0x0ea3('0x5a')](_0x5680c9,function(_0x3be6e5){return db[_0x0ea3('0x55')][_0x0ea3('0x49')](_0x3be6e5,{'include':[{'model':db['UserProfileResource'],'as':'Resources'}],'raw':!![],'transaction':_0x29c0c2})['then'](function(_0x2c7b52){_0x192f2c['push'](_0x2c7b52[_0x0ea3('0x5b')]({'plain':!![]}));});})[_0x0ea3('0x28')](function(){return _0x192f2c;});});});}})[_0x0ea3('0x28')](function(_0x262bad){return _0x262bad;})[_0x0ea3('0x28')](respondWithResult(_0x2d1dc0,null))[_0x0ea3('0x42')](handleError(_0x2d1dc0,null));};exports[_0x0ea3('0x5c')]=function(_0x23143c,_0x555e6b){var _0x2a3620;return db['UserProfile']['find']({'where':{'id':_0x23143c[_0x0ea3('0x44')]['id']},'attributes':['id',_0x0ea3('0x29')]})['then'](handleEntityNotFound(_0x555e6b,null))[_0x0ea3('0x28')](function(_0x19fc81){if(_0x19fc81){_0x2a3620=_0x19fc81;return db['UserProfileSection'][_0x0ea3('0x56')]({'where':{'userProfileId':_0x23143c[_0x0ea3('0x44')]['id'],'sectionId':_0x23143c[_0x0ea3('0x33')]['ids']}});}})[_0x0ea3('0x28')](function(){return _0x2a3620;})[_0x0ea3('0x28')](respondWithStatusCode(_0x555e6b,null))['catch'](handleError(_0x555e6b,null));};exports[_0x0ea3('0x5d')]=function(_0x115738,_0x59ddc1){var _0x1b99ec=[];var _0x364da7=[];return db[_0x0ea3('0x55')][_0x0ea3('0x40')]({'where':{'userProfileId':_0x115738[_0x0ea3('0x44')]['id']},'raw':!![]})[_0x0ea3('0x28')](function(_0x1f3013){_0x1b99ec=_[_0x0ea3('0x3c')](_0x1f3013,function(_0x5b23f6){return _0x5b23f6['enabled']===0x1||_[_0x0ea3('0x5e')]([0x3eb,0x709],_0x5b23f6[_0x0ea3('0x52')]);});if(!_['isEmpty'](_0x1b99ec)){return _[_0x0ea3('0x2b')](_0x1b99ec,function(_0x448f34){return _0x448f34[_0x0ea3('0x52')];});}else{return;}})['then'](function(_0x8a33c9){if(_0x8a33c9)_0x364da7=_0x8a33c9;if(_[_0x0ea3('0x5e')](_0x364da7,0x64)){var _0x38f6ec=_[_0x0ea3('0x48')](_0x1b99ec,{'sectionId':0x64});return hasDefaultDashboard(_0x38f6ec)[_0x0ea3('0x28')](function(_0x10b443){return _['map'](_0x1b99ec,function(_0x5e7fdd){if(_0x5e7fdd['sectionId']===0x64){_0x5e7fdd['subsections']=_0x10b443;}return _0x5e7fdd;});});}else{return;}})['then'](function(_0x50c2e9){if(_0x50c2e9)_0x1b99ec=_0x50c2e9;if(_['includes'](_0x364da7,0x3eb)){var _0x14ec74=_[_0x0ea3('0x48')](_0x1b99ec,{'sectionId':0x3eb});return getCustomDashboards(_0x14ec74)[_0x0ea3('0x28')](function(_0xdc4133){return _[_0x0ea3('0x2b')](_0x1b99ec,function(_0x388791){if(_0x14ec74[_0x0ea3('0x5f')]){if(_0x388791['sectionId']===0x3eb){_0x388791[_0x0ea3('0x60')]=_0xdc4133;}}else{if(_0x388791[_0x0ea3('0x52')]===0x64){if(!_0x388791['subsections']){_0x388791[_0x0ea3('0x60')]=[];}_0x388791[_0x0ea3('0x60')]=_0x388791['subsections']['concat'](_0xdc4133);}}return _0x388791;});});}else{return;}})[_0x0ea3('0x28')](function(_0x5bb9d0){if(_0x5bb9d0)_0x1b99ec=_0x5bb9d0;if(_[_0x0ea3('0x5e')](_0x364da7,0x709)){var _0x56b819=_[_0x0ea3('0x48')](_0x1b99ec,{'sectionId':0x709});return getPlugins(_0x56b819)[_0x0ea3('0x28')](function(_0x1d487e){if(_0x56b819['enabled']){return _[_0x0ea3('0x2b')](_0x1b99ec,function(_0x1b943e){if(_0x1b943e[_0x0ea3('0x52')]===0x709){_0x1b943e[_0x0ea3('0x60')]=_0x1d487e;}return _0x1b943e;});}else{var _0x42a911={'sectionId':0x76c,'enabled':0x1,'subsections':_0x1d487e};var _0x49d329=_[_0x0ea3('0x2b')](_0x1b99ec);_0x49d329[_0x0ea3('0x61')](_0x42a911);return _0x49d329;}});}else{return;}})[_0x0ea3('0x28')](function(_0x3566b1){if(_0x3566b1)_0x1b99ec=_0x3566b1;return _['filter'](_0x1b99ec,[_0x0ea3('0x5f'),0x1]);})[_0x0ea3('0x28')](respondWithResult(_0x59ddc1,null))['catch'](handleError(_0x59ddc1,null));};function hasDefaultDashboard(_0x34fe79){var _0x1b3ff9=[0x65];return new BPromise(function(_0x31e288,_0x2323b3){try{if(_0x34fe79[_0x0ea3('0x50')]){_0x31e288(_0x1b3ff9);}else{return db[_0x0ea3('0x51')]['findOne']({'where':{'sectionId':_0x34fe79['id']},'raw':!![]})['then'](function(_0xb1d5b2){_0xb1d5b2?_0x31e288(_0x1b3ff9):_0x31e288();});}}catch(_0x4bdadb){_0x2323b3(_0x4bdadb);}});}function getCustomDashboards(_0x37ad8a){var _0x28895e=[];return new BPromise(function(_0x5bc04b,_0x133408){try{if(_0x37ad8a[_0x0ea3('0x50')]){return db[_0x0ea3('0x62')][_0x0ea3('0x40')]({'raw':!![]})[_0x0ea3('0x28')](function(_0xcdb51b){_0xcdb51b[_0x0ea3('0x63')](function(_0x19a37b){_0x28895e[_0x0ea3('0x61')](_0x19a37b['id']+0x1869f);});_0x5bc04b(_0x28895e);});}else{return db[_0x0ea3('0x51')][_0x0ea3('0x40')]({'where':{'sectionId':_0x37ad8a['id']},'raw':!![]})[_0x0ea3('0x28')](function(_0x560de4){_0x560de4[_0x0ea3('0x63')](function(_0x3e2b4c){_0x28895e[_0x0ea3('0x61')](_0x3e2b4c[_0x0ea3('0x64')]+0x1869f);});_0x5bc04b(_0x28895e);});}}catch(_0x36da6f){_0x133408(_0x36da6f);}});}function getPlugins(_0x21a731){var _0x2bf711=[];return new BPromise(function(_0x4e4ca3,_0x133f99){try{if(_0x21a731['autoAssociation']){return db[_0x0ea3('0x65')][_0x0ea3('0x40')]({'raw':!![]})[_0x0ea3('0x28')](function(_0x517394){_0x517394['forEach'](function(_0x3ca080){_0x2bf711[_0x0ea3('0x61')](_0x3ca080['id']+0x15b38);});_0x4e4ca3(_0x2bf711);});}else{return db[_0x0ea3('0x51')][_0x0ea3('0x40')]({'where':{'sectionId':_0x21a731['id']},'raw':!![]})['then'](function(_0x3bb9ed){_0x3bb9ed['forEach'](function(_0x4c3478){_0x2bf711[_0x0ea3('0x61')](_0x4c3478[_0x0ea3('0x64')]+0x15b38);});_0x4e4ca3(_0x2bf711);});}}catch(_0x3292e0){_0x133f99(_0x3292e0);}});}exports[_0x0ea3('0x66')]=function(_0x4e8c05,_0x5d8385){return db['UserProfile'][_0x0ea3('0x48')]({'where':{'id':_0x4e8c05[_0x0ea3('0x44')]['id']}})[_0x0ea3('0x28')](handleEntityNotFound(_0x5d8385,null))[_0x0ea3('0x28')](function(_0x51ac4e){if(_0x51ac4e){return db[_0x0ea3('0x4f')][_0x0ea3('0x59')](function(_0x194315){return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x4e8c05['params']['id']},'attributes':['id'],'raw':!![]})['then'](function(_0x134b70){if(_0x134b70){return db[_0x0ea3('0x55')][_0x0ea3('0x56')]({'where':{'userProfileId':_0x4e8c05[_0x0ea3('0x44')]['id'],'id':_[_0x0ea3('0x2b')](_0x134b70,function(_0x3324e2){return _0x3324e2['id'];})},'transaction':_0x194315});}})[_0x0ea3('0x28')](function(_0x3abb74){var _0x19486f=_['map'](_0x4e8c05[_0x0ea3('0x4e')],function(_0x430494){_0x430494[_0x0ea3('0x53')]=_0x4e8c05[_0x0ea3('0x44')]['id'];return _0x430494;});return db[_0x0ea3('0x55')][_0x0ea3('0x67')](_0x19486f,{'raw':!![],'transaction':_0x194315});})[_0x0ea3('0x28')](function(_0xecdf2d){var _0x1b996b=_[_0x0ea3('0x3c')](_[_0x0ea3('0x2b')](_0xecdf2d,function(_0x149496){return _0x149496[_0x0ea3('0x5b')]({'plain':!![]});}),{'includeAll':![]});if(_0x1b996b){return db['UserProfileSection'][_0x0ea3('0x40')]({'where':{'userProfileId':_0x4e8c05[_0x0ea3('0x44')]['id'],'sectionId':_['map'](_0x1b996b,function(_0x4eca37){return _0x4eca37[_0x0ea3('0x52')];})},'attributes':['id','sectionId'],'raw':!![]})[_0x0ea3('0x28')](function(_0x225b4f){var _0x222895=_['map'](_0x4e8c05[_0x0ea3('0x4e')],function(_0x121c79){_0x121c79[_0x0ea3('0x53')]=_0x4e8c05['params']['id'];return _0x121c79;});return db[_0x0ea3('0x51')][_0x0ea3('0x67')](_0x222895,{'raw':!![],'transaction':_0x194315});});}})[_0x0ea3('0x42')](handleError(_0x5d8385,null));});}})[_0x0ea3('0x28')](function(_0x159869){var _0xcf7931=_['map'](_0x159869,function(_0x78a4f){return _0x78a4f[_0x0ea3('0x5b')]({'plain':!![]});});})[_0x0ea3('0x28')](respondWithResult(_0x5d8385,null))[_0x0ea3('0x42')](handleError(_0x5d8385,null));};exports['removeResources']=function(_0x2fd624,_0x29b4c3,_0x27a138){return db[_0x0ea3('0x2c')][_0x0ea3('0x48')]({'where':{'id':_0x2fd624[_0x0ea3('0x44')]['id']}})[_0x0ea3('0x28')](handleEntityNotFound(_0x29b4c3,null))[_0x0ea3('0x28')](function(_0x2c455b){if(_0x2c455b){return _0x2c455b[_0x0ea3('0x68')](_0x2fd624[_0x0ea3('0x33')]['ids']);}})[_0x0ea3('0x28')](respondWithStatusCode(_0x29b4c3,null))[_0x0ea3('0x42')](handleError(_0x29b4c3,null));};exports[_0x0ea3('0x69')]=function(_0x3c9bc0,_0xe2a35d){var _0x50a194={};if(!_0x3c9bc0[_0x0ea3('0x33')][_0x0ea3('0x6a')])throw new Error('Missing\x20section\x20parameter');if(!_0x3c9bc0[_0x0ea3('0x33')][_0x0ea3('0x36')](_0x0ea3('0x37'))){_0x50a194['limit']=qs[_0x0ea3('0x22')](_0x3c9bc0[_0x0ea3('0x33')]['limit']);_0x50a194[_0x0ea3('0x20')]=qs['offset'](_0x3c9bc0[_0x0ea3('0x33')][_0x0ea3('0x20')]);}return db[_0x0ea3('0x2c')]['find']({'where':{'id':_0x3c9bc0[_0x0ea3('0x44')]['id']}})[_0x0ea3('0x28')](function(_0x2eefd4){if(!_0x2eefd4)throw new Error('No\x20User\x20Profile\x20found\x20for\x20id\x20'+_0x3c9bc0[_0x0ea3('0x44')]['id']);return db[_0x0ea3('0x2c')]['getResources'](_0x3c9bc0);})['then'](respondWithFilteredResult(_0xe2a35d,_0x50a194))[_0x0ea3('0x42')](handleError(_0xe2a35d,null));};