d61449f0b7d5b33da926fc25d937da9faedb4557
[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 _0xb2f3=['removeSections','ids','getSections','enabled','includes','isEmpty','subsections','push','findOne','Dashboard','forEach','resourceId','Plugin','addResources','sequelize','bulkCreate','removeResources','section','Missing\x20section\x20parameter','nolimit','getResources','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','status','offset','undefined','limit','count','set','Content-Range','save','then','destroy','sendStatus','stack','name','send','index','map','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','order','sort','where','merge','VIRTUAL','filter','options','UserProfile','includeAll','rows','catch','show','params','rawAttributes','include','find','create','clone','omit','createdAt','crudPermissions','body','updatedAt','get','findAll','autoAssociation','sectionId','userProfileId','Resources','UserProfileSection','UserProfileResource','update','describe','addSections','transaction','each'];(function(_0x41e75c,_0x58592e){var _0xd75e28=function(_0x1fbf1c){while(--_0x1fbf1c){_0x41e75c['push'](_0x41e75c['shift']());}};_0xd75e28(++_0x58592e);}(_0xb2f3,0xfd));var _0x3b2f=function(_0x29d915,_0x54a040){_0x29d915=_0x29d915-0x0;var _0x160f86=_0xb2f3[_0x29d915];return _0x160f86;};'use strict';var emlformat=require(_0x3b2f('0x0'));var rimraf=require(_0x3b2f('0x1'));var zipdir=require(_0x3b2f('0x2'));var jsonpatch=require(_0x3b2f('0x3'));var rp=require(_0x3b2f('0x4'));var moment=require(_0x3b2f('0x5'));var BPromise=require(_0x3b2f('0x6'));var Mustache=require('mustache');var util=require(_0x3b2f('0x7'));var path=require(_0x3b2f('0x8'));var sox=require(_0x3b2f('0x9'));var csv=require(_0x3b2f('0xa'));var ejs=require(_0x3b2f('0xb'));var fs=require('fs');var fs_extra=require(_0x3b2f('0xc'));var _=require(_0x3b2f('0xd'));var squel=require('squel');var crypto=require(_0x3b2f('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x3b2f('0xf'));var toCsv=require(_0x3b2f('0xa'));var querystring=require(_0x3b2f('0x10'));var Papa=require(_0x3b2f('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x3b2f('0x12'));var as=require(_0x3b2f('0x13'));var hardwareService=require(_0x3b2f('0x14'));var logger=require(_0x3b2f('0x15'))(_0x3b2f('0x16'));var utils=require(_0x3b2f('0x17'));var config=require(_0x3b2f('0x18'));var licenseUtil=require(_0x3b2f('0x19'));var db=require(_0x3b2f('0x1a'))['db'];config[_0x3b2f('0x1b')]=_[_0x3b2f('0x1c')](config[_0x3b2f('0x1b')],{'host':_0x3b2f('0x1d'),'port':0x18eb});var socket=require(_0x3b2f('0x1e'))(new Redis(config[_0x3b2f('0x1b')]));require('./userProfile.socket')[_0x3b2f('0x1f')](socket);function respondWithStatusCode(_0x4da3bd,_0x2ef8ca){_0x2ef8ca=_0x2ef8ca||0xcc;return function(_0x42477c){if(_0x42477c){return _0x4da3bd['sendStatus'](_0x2ef8ca);}return _0x4da3bd[_0x3b2f('0x20')](_0x2ef8ca)['end']();};}function respondWithResult(_0x3c0b3f,_0x3aa3d6){_0x3aa3d6=_0x3aa3d6||0xc8;return function(_0xd5a583){if(_0xd5a583){return _0x3c0b3f[_0x3b2f('0x20')](_0x3aa3d6)['json'](_0xd5a583);}};}function respondWithFilteredResult(_0x52e91d,_0x4756f0){return function(_0x6d8948){if(_0x6d8948){var _0x3ff190=typeof _0x4756f0[_0x3b2f('0x21')]===_0x3b2f('0x22')&&typeof _0x4756f0[_0x3b2f('0x23')]===_0x3b2f('0x22');var _0x3d94c0=_0x6d8948[_0x3b2f('0x24')];var _0x22db91=_0x3ff190?0x0:_0x4756f0[_0x3b2f('0x21')];var _0x2116aa=_0x3ff190?_0x6d8948[_0x3b2f('0x24')]:_0x4756f0[_0x3b2f('0x21')]+_0x4756f0['limit'];var _0x6fdf3f;if(_0x2116aa>=_0x3d94c0){_0x2116aa=_0x3d94c0;_0x6fdf3f=0xc8;}else{_0x6fdf3f=0xce;}_0x52e91d[_0x3b2f('0x20')](_0x6fdf3f);return _0x52e91d[_0x3b2f('0x25')](_0x3b2f('0x26'),_0x22db91+'-'+_0x2116aa+'/'+_0x3d94c0)['json'](_0x6d8948);}return null;};}function patchUpdates(_0x1476a0){return function(_0x3d270b){try{jsonpatch['apply'](_0x3d270b,_0x1476a0,!![]);}catch(_0x429649){return BPromise['reject'](_0x429649);}return _0x3d270b[_0x3b2f('0x27')]();};}function saveUpdates(_0x94aced,_0x267fa5){return function(_0x409401){if(_0x409401){return _0x409401['update'](_0x94aced)[_0x3b2f('0x28')](function(_0x2ee755){return _0x2ee755;});}return null;};}function removeEntity(_0x48592c,_0x4db72f){return function(_0x11e9e7){if(_0x11e9e7){return _0x11e9e7[_0x3b2f('0x29')]()[_0x3b2f('0x28')](function(){_0x48592c[_0x3b2f('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x511360,_0x14fac0){return function(_0x5a39f0){if(!_0x5a39f0){_0x511360[_0x3b2f('0x2a')](0x194);}return _0x5a39f0;};}function handleError(_0x2a9afe,_0x536323){_0x536323=_0x536323||0x1f4;return function(_0x39f342){logger['error'](_0x39f342[_0x3b2f('0x2b')]);if(_0x39f342[_0x3b2f('0x2c')]){delete _0x39f342[_0x3b2f('0x2c')];}_0x2a9afe[_0x3b2f('0x20')](_0x536323)[_0x3b2f('0x2d')](_0x39f342);};}exports[_0x3b2f('0x2e')]=function(_0x593f3d,_0x1fbcb6){var _0x335e75={},_0x5d247c={},_0x500e82={'count':0x0,'rows':[]};var _0x450080=_[_0x3b2f('0x2f')](db['UserProfile']['rawAttributes'],function(_0x158628){return{'name':_0x158628[_0x3b2f('0x30')],'type':_0x158628[_0x3b2f('0x31')][_0x3b2f('0x32')]};});_0x5d247c[_0x3b2f('0x33')]=_[_0x3b2f('0x2f')](_0x450080,'name');_0x5d247c[_0x3b2f('0x34')]=_[_0x3b2f('0x35')](_0x593f3d['query']);_0x5d247c[_0x3b2f('0x36')]=_[_0x3b2f('0x37')](_0x5d247c[_0x3b2f('0x33')],_0x5d247c[_0x3b2f('0x34')]);_0x335e75['attributes']=_[_0x3b2f('0x37')](_0x5d247c[_0x3b2f('0x33')],qs[_0x3b2f('0x38')](_0x593f3d[_0x3b2f('0x34')]['fields']));_0x335e75['attributes']=_0x335e75[_0x3b2f('0x39')][_0x3b2f('0x3a')]?_0x335e75[_0x3b2f('0x39')]:_0x5d247c[_0x3b2f('0x33')];if(!_0x593f3d[_0x3b2f('0x34')]['hasOwnProperty']('nolimit')){_0x335e75[_0x3b2f('0x23')]=qs[_0x3b2f('0x23')](_0x593f3d[_0x3b2f('0x34')]['limit']);_0x335e75[_0x3b2f('0x21')]=qs[_0x3b2f('0x21')](_0x593f3d[_0x3b2f('0x34')]['offset']);}_0x335e75[_0x3b2f('0x3b')]=qs[_0x3b2f('0x3c')](_0x593f3d[_0x3b2f('0x34')]['sort']);_0x335e75['where']=qs[_0x3b2f('0x36')](_['pick'](_0x593f3d['query'],_0x5d247c[_0x3b2f('0x36')]),_0x450080);if(_0x593f3d[_0x3b2f('0x34')]['filter']){_0x335e75[_0x3b2f('0x3d')]=_[_0x3b2f('0x3e')](_0x335e75[_0x3b2f('0x3d')],{'$or':_[_0x3b2f('0x2f')](_0x450080,function(_0x2b4a2b){if(_0x2b4a2b[_0x3b2f('0x31')]!==_0x3b2f('0x3f')){var _0x1b0e8e={};_0x1b0e8e[_0x2b4a2b['name']]={'$like':'%'+_0x593f3d[_0x3b2f('0x34')][_0x3b2f('0x40')]+'%'};return _0x1b0e8e;}})});}_0x335e75=_[_0x3b2f('0x3e')]({},_0x335e75,_0x593f3d[_0x3b2f('0x41')]);var _0x2f3691={'where':_0x335e75[_0x3b2f('0x3d')]};return db[_0x3b2f('0x42')][_0x3b2f('0x24')](_0x2f3691)[_0x3b2f('0x28')](function(_0x507813){_0x500e82[_0x3b2f('0x24')]=_0x507813;if(_0x593f3d[_0x3b2f('0x34')][_0x3b2f('0x43')]){_0x335e75['include']=[{'all':!![]}];}return db[_0x3b2f('0x42')]['findAll'](_0x335e75);})[_0x3b2f('0x28')](function(_0x23b747){_0x500e82[_0x3b2f('0x44')]=_0x23b747;return _0x500e82;})[_0x3b2f('0x28')](respondWithFilteredResult(_0x1fbcb6,_0x335e75))[_0x3b2f('0x45')](handleError(_0x1fbcb6,null));};exports[_0x3b2f('0x46')]=function(_0x4bc44c,_0x3417bc){var _0x4c6a74={'raw':![],'where':{'id':_0x4bc44c[_0x3b2f('0x47')]['id']}},_0x1e3fd4={};_0x1e3fd4['model']=_[_0x3b2f('0x35')](db[_0x3b2f('0x42')][_0x3b2f('0x48')]);_0x1e3fd4[_0x3b2f('0x34')]=_[_0x3b2f('0x35')](_0x4bc44c['query']);_0x1e3fd4['filters']=_[_0x3b2f('0x37')](_0x1e3fd4['model'],_0x1e3fd4[_0x3b2f('0x34')]);_0x4c6a74['attributes']=_[_0x3b2f('0x37')](_0x1e3fd4[_0x3b2f('0x33')],qs[_0x3b2f('0x38')](_0x4bc44c[_0x3b2f('0x34')]['fields']));_0x4c6a74[_0x3b2f('0x39')]=_0x4c6a74[_0x3b2f('0x39')][_0x3b2f('0x3a')]?_0x4c6a74['attributes']:_0x1e3fd4[_0x3b2f('0x33')];if(_0x4bc44c[_0x3b2f('0x34')][_0x3b2f('0x43')]){_0x4c6a74[_0x3b2f('0x49')]=[{'all':!![]}];}_0x4c6a74=_['merge']({},_0x4c6a74,_0x4bc44c[_0x3b2f('0x41')]);return db[_0x3b2f('0x42')][_0x3b2f('0x4a')](_0x4c6a74)[_0x3b2f('0x28')](handleEntityNotFound(_0x3417bc,null))[_0x3b2f('0x28')](respondWithResult(_0x3417bc,null))[_0x3b2f('0x45')](handleError(_0x3417bc,null));};exports[_0x3b2f('0x4b')]=function(_0x2e182e,_0x56be24){return db[_0x3b2f('0x42')][_0x3b2f('0x4b')](_0x2e182e['body'],{})['then'](respondWithResult(_0x56be24,0xc9))['catch'](handleError(_0x56be24,null));};exports[_0x3b2f('0x4c')]=function(_0x2ff96e,_0x38f615){var _0x2eabc2={'where':{'id':_0x2ff96e[_0x3b2f('0x47')]['id']}},_0x5cd3c0={};_0x5cd3c0[_0x3b2f('0x33')]=_['keys'](db['UserProfile']['rawAttributes']);_0x2eabc2[_0x3b2f('0x39')]=_[_0x3b2f('0x37')](_0x5cd3c0['model'],qs['fields'](_0x2ff96e['query']['fields']));_0x2eabc2[_0x3b2f('0x39')]=_0x2eabc2[_0x3b2f('0x39')][_0x3b2f('0x3a')]?_0x2eabc2[_0x3b2f('0x39')]:_0x5cd3c0['model'];if(_0x2ff96e[_0x3b2f('0x34')]['includeAll']){_0x2eabc2[_0x3b2f('0x49')]=[{'all':!![]}];}_0x2eabc2=_[_0x3b2f('0x3e')]({},_0x2eabc2,_0x2ff96e[_0x3b2f('0x41')]);return db[_0x3b2f('0x42')]['find'](_0x2eabc2)['then'](handleEntityNotFound(_0x38f615,null))['then'](function(_0x500f77){if(_0x500f77){var _0xa5f372=_0x500f77['get']({'plain':!![]});_0xa5f372=qs[_0x3b2f('0x4d')](_0xa5f372,['id',_0x3b2f('0x4e'),'updatedAt',_0x3b2f('0x4f')]);_0x2ff96e[_0x3b2f('0x50')]=_[_0x3b2f('0x4d')](_0x2ff96e['body'],['id',_0x3b2f('0x4e'),_0x3b2f('0x51')]);return db['sequelize']['transaction'](function(_0x2f83d6){return db[_0x3b2f('0x42')][_0x3b2f('0x4b')](_[_0x3b2f('0x3e')](_0xa5f372,_0x2ff96e['body']),{'include':_0x2ff96e[_0x3b2f('0x34')]['includeAll']?[{'all':!![]}]:undefined,'transaction':_0x2f83d6})[_0x3b2f('0x28')](function(_0x47951d){var _0x3daf82=_0x47951d[_0x3b2f('0x52')]({'plain':!![]});return db['UserProfileSection'][_0x3b2f('0x53')]({'where':{'userProfileId':_0x2ff96e[_0x3b2f('0x47')]['id']},'raw':!![]})[_0x3b2f('0x28')](function(_0x5710a3){if(_0x5710a3){return BPromise['each'](_0x5710a3,function(_0x27fcc4){return new BPromise(function(_0x145de5,_0x228534){if(_0x27fcc4[_0x3b2f('0x54')]===null||_0x27fcc4[_0x3b2f('0x54')]===0x1)_0x145de5(null);return db['UserProfileResource'][_0x3b2f('0x53')]({'where':{'sectionId':_0x27fcc4['id']},'raw':!![]})[_0x3b2f('0x28')](function(_0x300975){var _0x1ec965=_[_0x3b2f('0x2f')](_0x300975,function(_0x1871cc){return qs['omit'](_0x1871cc,['id',_0x3b2f('0x4e'),'updatedAt',_0x3b2f('0x55')]);});_0x145de5(_0x1ec965);})['catch'](function(_0x5e8b55){_0x228534(_0x5e8b55);});})['then'](function(_0x57d08b){var _0x2a183a=qs[_0x3b2f('0x4d')](_0x27fcc4,['id','createdAt',_0x3b2f('0x51')]);_0x2a183a[_0x3b2f('0x56')]=_0x3daf82['id'];if(_0x57d08b)_0x2a183a[_0x3b2f('0x57')]=_0x57d08b;return _0x2a183a;})['then'](function(_0x5c7f9c){return db[_0x3b2f('0x58')][_0x3b2f('0x4b')](_0x5c7f9c,{'include':[{'model':db[_0x3b2f('0x59')],'as':_0x3b2f('0x57')}],'raw':!![],'transaction':_0x2f83d6});});})[_0x3b2f('0x28')](function(){return _0x3daf82;});}});});});}})['then'](respondWithResult(_0x38f615,0xc9))[_0x3b2f('0x45')](handleError(_0x38f615,null));};exports[_0x3b2f('0x5a')]=function(_0x39538f,_0x1325fa){if(_0x39538f[_0x3b2f('0x50')]['id']){delete _0x39538f[_0x3b2f('0x50')]['id'];}return db[_0x3b2f('0x42')][_0x3b2f('0x4a')]({'where':{'id':_0x39538f[_0x3b2f('0x47')]['id']}})[_0x3b2f('0x28')](handleEntityNotFound(_0x1325fa,null))[_0x3b2f('0x28')](saveUpdates(_0x39538f[_0x3b2f('0x50')],null))[_0x3b2f('0x28')](respondWithResult(_0x1325fa,null))[_0x3b2f('0x45')](handleError(_0x1325fa,null));};exports['destroy']=function(_0x55bc41,_0xfd3e77){return db[_0x3b2f('0x42')]['find']({'where':{'id':_0x55bc41[_0x3b2f('0x47')]['id']}})[_0x3b2f('0x28')](handleEntityNotFound(_0xfd3e77,null))[_0x3b2f('0x28')](removeEntity(_0xfd3e77,null))[_0x3b2f('0x45')](handleError(_0xfd3e77,null));};exports[_0x3b2f('0x5b')]=function(_0x1ded44,_0x42e512){return db[_0x3b2f('0x42')][_0x3b2f('0x5b')]()['then'](respondWithResult(_0x42e512,null))[_0x3b2f('0x45')](handleError(_0x42e512,null));};exports[_0x3b2f('0x5c')]=function(_0x574e48,_0x37648b){var _0x3399e7=_0x574e48[_0x3b2f('0x50')];return db[_0x3b2f('0x42')][_0x3b2f('0x4a')]({'where':{'id':_0x574e48['params']['id']}})['then'](handleEntityNotFound(_0x37648b,null))[_0x3b2f('0x28')](function(_0x1efdb7){if(_0x1efdb7){return db['sequelize'][_0x3b2f('0x5d')](function(_0x16785b){return db[_0x3b2f('0x58')][_0x3b2f('0x29')]({'where':{'userProfileId':_0x574e48['params']['id'],'sectionId':_[_0x3b2f('0x2f')](_0x3399e7,function(_0x23087d){return _0x23087d[_0x3b2f('0x55')];})},'transaction':_0x16785b})[_0x3b2f('0x28')](function(){var _0xa932e8=_['map'](_0x3399e7,function(_0x4ef0be){_0x4ef0be[_0x3b2f('0x56')]=_0x574e48[_0x3b2f('0x47')]['id'];return _0x4ef0be;});var _0x11bbed=[];return BPromise[_0x3b2f('0x5e')](_0xa932e8,function(_0x171ba4){return db[_0x3b2f('0x58')]['create'](_0x171ba4,{'include':[{'model':db[_0x3b2f('0x59')],'as':_0x3b2f('0x57')}],'raw':!![],'transaction':_0x16785b})['then'](function(_0x4d433c){_0x11bbed['push'](_0x4d433c[_0x3b2f('0x52')]({'plain':!![]}));});})['then'](function(){return _0x11bbed;});});});}})['then'](function(_0x46ef22){return _0x46ef22;})[_0x3b2f('0x28')](respondWithResult(_0x37648b,null))[_0x3b2f('0x45')](handleError(_0x37648b,null));};exports[_0x3b2f('0x5f')]=function(_0xf1a384,_0x3c9de5){var _0x242389;return db['UserProfile'][_0x3b2f('0x4a')]({'where':{'id':_0xf1a384[_0x3b2f('0x47')]['id']},'attributes':['id','name']})[_0x3b2f('0x28')](handleEntityNotFound(_0x3c9de5,null))['then'](function(_0x50ddca){if(_0x50ddca){_0x242389=_0x50ddca;return db['UserProfileSection']['destroy']({'where':{'userProfileId':_0xf1a384[_0x3b2f('0x47')]['id'],'sectionId':_0xf1a384['query'][_0x3b2f('0x60')]}});}})[_0x3b2f('0x28')](function(){return _0x242389;})['then'](respondWithStatusCode(_0x3c9de5,null))[_0x3b2f('0x45')](handleError(_0x3c9de5,null));};exports[_0x3b2f('0x61')]=function(_0x1c25b2,_0x1f8c03){var _0x11199f=[];var _0x11f280=[];return db[_0x3b2f('0x58')]['findAll']({'where':{'userProfileId':_0x1c25b2['params']['id']},'raw':!![]})[_0x3b2f('0x28')](function(_0xde8946){_0x11199f=_['filter'](_0xde8946,function(_0x5b5b91){return _0x5b5b91[_0x3b2f('0x62')]===0x1||_[_0x3b2f('0x63')]([0x3eb,0x709],_0x5b5b91[_0x3b2f('0x55')]);});if(!_[_0x3b2f('0x64')](_0x11199f)){return _[_0x3b2f('0x2f')](_0x11199f,function(_0x6732d7){return _0x6732d7[_0x3b2f('0x55')];});}else{return;}})[_0x3b2f('0x28')](function(_0x88576b){if(_0x88576b)_0x11f280=_0x88576b;if(_[_0x3b2f('0x63')](_0x11f280,0x64)){var _0x2b24b5=_[_0x3b2f('0x4a')](_0x11199f,{'sectionId':0x64});return hasDefaultDashboard(_0x2b24b5)['then'](function(_0x7b0ed3){return _['map'](_0x11199f,function(_0x500dcd){if(_0x500dcd[_0x3b2f('0x55')]===0x64){_0x500dcd['subsections']=_0x7b0ed3;}return _0x500dcd;});});}else{return;}})[_0x3b2f('0x28')](function(_0x4abe6a){if(_0x4abe6a)_0x11199f=_0x4abe6a;if(_[_0x3b2f('0x63')](_0x11f280,0x3eb)){var _0x1dd448=_[_0x3b2f('0x4a')](_0x11199f,{'sectionId':0x3eb});return getCustomDashboards(_0x1dd448)['then'](function(_0x54ecee){return _['map'](_0x11199f,function(_0x42b3b8){if(_0x1dd448['enabled']){if(_0x42b3b8[_0x3b2f('0x55')]===0x3eb){_0x42b3b8[_0x3b2f('0x65')]=_0x54ecee;}}else{if(_0x42b3b8[_0x3b2f('0x55')]===0x64){_0x42b3b8[_0x3b2f('0x65')]=_0x54ecee;}}return _0x42b3b8;});});}else{return;}})[_0x3b2f('0x28')](function(_0x16bcb8){if(_0x16bcb8)_0x11199f=_0x16bcb8;if(_[_0x3b2f('0x63')](_0x11f280,0x709)){var _0x57b5ae=_[_0x3b2f('0x4a')](_0x11199f,{'sectionId':0x709});return getPlugins(_0x57b5ae)['then'](function(_0x361d79){if(_0x57b5ae['enabled']){return _['map'](_0x11199f,function(_0x35232d){if(_0x35232d[_0x3b2f('0x55')]===0x709){_0x35232d[_0x3b2f('0x65')]=_0x361d79;}return _0x35232d;});}else{var _0x4d5dae={'sectionId':0x76c,'enabled':0x1,'subsections':_0x361d79};var _0x55746a=_['map'](_0x11199f);_0x55746a[_0x3b2f('0x66')](_0x4d5dae);return _0x55746a;}});}else{return;}})[_0x3b2f('0x28')](function(_0x1c2136){if(_0x1c2136)_0x11199f=_0x1c2136;return _[_0x3b2f('0x40')](_0x11199f,[_0x3b2f('0x62'),0x1]);})[_0x3b2f('0x28')](respondWithResult(_0x1f8c03,null))['catch'](handleError(_0x1f8c03,null));};function hasDefaultDashboard(_0x484d07){var _0x460d1f=[0x65];return new BPromise(function(_0x4dd272,_0x4496fe){try{if(_0x484d07[_0x3b2f('0x54')]){_0x4dd272(_0x460d1f);}else{return db['UserProfileResource'][_0x3b2f('0x67')]({'where':{'sectionId':_0x484d07['id']},'raw':!![]})[_0x3b2f('0x28')](function(_0x5c991b){_0x5c991b?_0x4dd272(_0x460d1f):_0x4dd272();});}}catch(_0xf5d8a9){_0x4496fe(_0xf5d8a9);}});}function getCustomDashboards(_0x35c056){var _0x172a09=[];return new BPromise(function(_0x5abc09,_0x3e5d8c){try{if(_0x35c056[_0x3b2f('0x54')]){return db[_0x3b2f('0x68')][_0x3b2f('0x53')]({'raw':!![]})[_0x3b2f('0x28')](function(_0x32f0d8){_0x32f0d8[_0x3b2f('0x69')](function(_0x20fd6a){_0x172a09[_0x3b2f('0x66')](_0x20fd6a['id']+0x1869f);});_0x5abc09(_0x172a09);});}else{return db['UserProfileResource'][_0x3b2f('0x53')]({'where':{'sectionId':_0x35c056['id']},'raw':!![]})[_0x3b2f('0x28')](function(_0x5adafe){_0x5adafe['forEach'](function(_0x2e3bf5){_0x172a09[_0x3b2f('0x66')](_0x2e3bf5[_0x3b2f('0x6a')]+0x1869f);});_0x5abc09(_0x172a09);});}}catch(_0x135dd1){_0x3e5d8c(_0x135dd1);}});}function getPlugins(_0x54873f){var _0x292991=[];return new BPromise(function(_0x484294,_0x450f1a){try{if(_0x54873f['autoAssociation']){return db[_0x3b2f('0x6b')][_0x3b2f('0x53')]({'raw':!![]})[_0x3b2f('0x28')](function(_0xc4839f){_0xc4839f['forEach'](function(_0x52f091){_0x292991[_0x3b2f('0x66')](_0x52f091['id']+0x15b38);});_0x484294(_0x292991);});}else{return db[_0x3b2f('0x59')]['findAll']({'where':{'sectionId':_0x54873f['id']},'raw':!![]})[_0x3b2f('0x28')](function(_0x295b7b){_0x295b7b[_0x3b2f('0x69')](function(_0x47557d){_0x292991[_0x3b2f('0x66')](_0x47557d['resourceId']+0x15b38);});_0x484294(_0x292991);});}}catch(_0x473b01){_0x450f1a(_0x473b01);}});}exports[_0x3b2f('0x6c')]=function(_0x3db90f,_0x431942){return db['UserProfile']['find']({'where':{'id':_0x3db90f[_0x3b2f('0x47')]['id']}})[_0x3b2f('0x28')](handleEntityNotFound(_0x431942,null))[_0x3b2f('0x28')](function(_0x3fb0f8){if(_0x3fb0f8){return db[_0x3b2f('0x6d')][_0x3b2f('0x5d')](function(_0x151a21){return db['UserProfileSection'][_0x3b2f('0x53')]({'where':{'userProfileId':_0x3db90f['params']['id']},'attributes':['id'],'raw':!![]})[_0x3b2f('0x28')](function(_0x464c15){if(_0x464c15){return db[_0x3b2f('0x58')][_0x3b2f('0x29')]({'where':{'userProfileId':_0x3db90f[_0x3b2f('0x47')]['id'],'id':_[_0x3b2f('0x2f')](_0x464c15,function(_0x338d00){return _0x338d00['id'];})},'transaction':_0x151a21});}})[_0x3b2f('0x28')](function(_0x5f1be9){var _0x2eeb26=_['map'](_0x3db90f[_0x3b2f('0x50')],function(_0x3b6d14){_0x3b6d14[_0x3b2f('0x56')]=_0x3db90f[_0x3b2f('0x47')]['id'];return _0x3b6d14;});return db['UserProfileSection'][_0x3b2f('0x6e')](_0x2eeb26,{'raw':!![],'transaction':_0x151a21});})['then'](function(_0x77e415){var _0x4e85ec=_[_0x3b2f('0x40')](_[_0x3b2f('0x2f')](_0x77e415,function(_0x459e3b){return _0x459e3b[_0x3b2f('0x52')]({'plain':!![]});}),{'includeAll':![]});if(_0x4e85ec){return db[_0x3b2f('0x58')][_0x3b2f('0x53')]({'where':{'userProfileId':_0x3db90f['params']['id'],'sectionId':_[_0x3b2f('0x2f')](_0x4e85ec,function(_0x1a1978){return _0x1a1978['sectionId'];})},'attributes':['id',_0x3b2f('0x55')],'raw':!![]})[_0x3b2f('0x28')](function(_0x5a9ef5){var _0x26860b=_['map'](_0x3db90f[_0x3b2f('0x50')],function(_0x4908c4){_0x4908c4[_0x3b2f('0x56')]=_0x3db90f[_0x3b2f('0x47')]['id'];return _0x4908c4;});return db[_0x3b2f('0x59')][_0x3b2f('0x6e')](_0x26860b,{'raw':!![],'transaction':_0x151a21});});}})[_0x3b2f('0x45')](handleError(_0x431942,null));});}})['then'](function(_0x4415ff){var _0x2403f3=_[_0x3b2f('0x2f')](_0x4415ff,function(_0x3d6d78){return _0x3d6d78[_0x3b2f('0x52')]({'plain':!![]});});})[_0x3b2f('0x28')](respondWithResult(_0x431942,null))[_0x3b2f('0x45')](handleError(_0x431942,null));};exports[_0x3b2f('0x6f')]=function(_0xf2a343,_0x36cbb0,_0x5f2643){return db[_0x3b2f('0x42')][_0x3b2f('0x4a')]({'where':{'id':_0xf2a343[_0x3b2f('0x47')]['id']}})['then'](handleEntityNotFound(_0x36cbb0,null))[_0x3b2f('0x28')](function(_0x55dd1f){if(_0x55dd1f){return _0x55dd1f[_0x3b2f('0x6f')](_0xf2a343[_0x3b2f('0x34')][_0x3b2f('0x60')]);}})['then'](respondWithStatusCode(_0x36cbb0,null))['catch'](handleError(_0x36cbb0,null));};exports['getResources']=function(_0x5abd58,_0x99c604){var _0x4189ec={};if(!_0x5abd58[_0x3b2f('0x34')][_0x3b2f('0x70')])throw new Error(_0x3b2f('0x71'));if(!_0x5abd58[_0x3b2f('0x34')]['hasOwnProperty'](_0x3b2f('0x72'))){_0x4189ec[_0x3b2f('0x23')]=qs[_0x3b2f('0x23')](_0x5abd58[_0x3b2f('0x34')][_0x3b2f('0x23')]);_0x4189ec[_0x3b2f('0x21')]=qs[_0x3b2f('0x21')](_0x5abd58['query'][_0x3b2f('0x21')]);}return db[_0x3b2f('0x42')][_0x3b2f('0x4a')]({'where':{'id':_0x5abd58[_0x3b2f('0x47')]['id']}})[_0x3b2f('0x28')](function(_0x402db6){if(!_0x402db6)throw new Error('No\x20User\x20Profile\x20found\x20for\x20id\x20'+_0x5abd58[_0x3b2f('0x47')]['id']);return db[_0x3b2f('0x42')][_0x3b2f('0x73')](_0x5abd58);})[_0x3b2f('0x28')](respondWithFilteredResult(_0x99c604,_0x4189ec))['catch'](handleError(_0x99c604,null));};