Built motion from commit efa66e19.|2.6.22
[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 _0xba98=['./userProfile.socket','register','sendStatus','end','status','json','offset','count','Content-Range','update','then','error','stack','name','send','index','map','UserProfile','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','pick','merge','VIRTUAL','filter','options','where','include','catch','params','includeAll','find','create','body','clone','get','omit','crudPermissions','createdAt','updatedAt','transaction','UserProfileSection','findAll','each','autoAssociation','sectionId','Resources','UserProfileResource','destroy','describe','addSections','sequelize','userProfileId','push','ids','getSections','includes','subsections','enabled','forEach','resourceId','Plugin','addResources','bulkCreate','removeResources','getResources','Missing\x20section\x20parameter','eml-format','rimraf','zip-dir','request-promise','bluebird','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','defaults','redis','localhost','socket.io-emitter'];(function(_0x48f011,_0x4f4a87){var _0x47824e=function(_0x1a6233){while(--_0x1a6233){_0x48f011['push'](_0x48f011['shift']());}};_0x47824e(++_0x4f4a87);}(_0xba98,0x129));var _0x8ba9=function(_0x4cc4b8,_0x794133){_0x4cc4b8=_0x4cc4b8-0x0;var _0x4d6852=_0xba98[_0x4cc4b8];return _0x4d6852;};'use strict';var emlformat=require(_0x8ba9('0x0'));var rimraf=require(_0x8ba9('0x1'));var zipdir=require(_0x8ba9('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8ba9('0x3'));var moment=require('moment');var BPromise=require(_0x8ba9('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0x8ba9('0x5'));var sox=require(_0x8ba9('0x6'));var csv=require(_0x8ba9('0x7'));var ejs=require(_0x8ba9('0x8'));var fs=require('fs');var fs_extra=require(_0x8ba9('0x9'));var _=require(_0x8ba9('0xa'));var squel=require('squel');var crypto=require(_0x8ba9('0xb'));var jsforce=require(_0x8ba9('0xc'));var deskjs=require(_0x8ba9('0xd'));var toCsv=require(_0x8ba9('0x7'));var querystring=require(_0x8ba9('0xe'));var Papa=require(_0x8ba9('0xf'));var Redis=require(_0x8ba9('0x10'));var authService=require(_0x8ba9('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x8ba9('0x12'));var hardwareService=require(_0x8ba9('0x13'));var logger=require(_0x8ba9('0x14'))(_0x8ba9('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x8ba9('0x16'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x8ba9('0x17')](config[_0x8ba9('0x18')],{'host':_0x8ba9('0x19'),'port':0x18eb});var socket=require(_0x8ba9('0x1a'))(new Redis(config['redis']));require(_0x8ba9('0x1b'))[_0x8ba9('0x1c')](socket);function respondWithStatusCode(_0x17932b,_0x5edec6){_0x5edec6=_0x5edec6||0xcc;return function(_0x16abb9){if(_0x16abb9){return _0x17932b[_0x8ba9('0x1d')](_0x5edec6);}return _0x17932b['status'](_0x5edec6)[_0x8ba9('0x1e')]();};}function respondWithResult(_0xf86f92,_0x332961){_0x332961=_0x332961||0xc8;return function(_0x30405a){if(_0x30405a){return _0xf86f92[_0x8ba9('0x1f')](_0x332961)[_0x8ba9('0x20')](_0x30405a);}};}function respondWithFilteredResult(_0x1bbd39,_0x47ed29){return function(_0x4df433){if(_0x4df433){var _0x56df14=typeof _0x47ed29[_0x8ba9('0x21')]==='undefined'&&typeof _0x47ed29['limit']==='undefined';var _0x1c9eb9=_0x4df433[_0x8ba9('0x22')];var _0x408ce9=_0x56df14?0x0:_0x47ed29[_0x8ba9('0x21')];var _0x40c43a=_0x56df14?_0x4df433[_0x8ba9('0x22')]:_0x47ed29[_0x8ba9('0x21')]+_0x47ed29['limit'];var _0x58e3e7;if(_0x40c43a>=_0x1c9eb9){_0x40c43a=_0x1c9eb9;_0x58e3e7=0xc8;}else{_0x58e3e7=0xce;}_0x1bbd39[_0x8ba9('0x1f')](_0x58e3e7);return _0x1bbd39['set'](_0x8ba9('0x23'),_0x408ce9+'-'+_0x40c43a+'/'+_0x1c9eb9)[_0x8ba9('0x20')](_0x4df433);}return null;};}function patchUpdates(_0x31f7ff){return function(_0x1b3f98){try{jsonpatch['apply'](_0x1b3f98,_0x31f7ff,!![]);}catch(_0x2192a9){return BPromise['reject'](_0x2192a9);}return _0x1b3f98['save']();};}function saveUpdates(_0x1c8d4c,_0x49ff87){return function(_0x201aa9){if(_0x201aa9){return _0x201aa9[_0x8ba9('0x24')](_0x1c8d4c)[_0x8ba9('0x25')](function(_0x46c638){return _0x46c638;});}return null;};}function removeEntity(_0xbfb016,_0x17ce5e){return function(_0x161456){if(_0x161456){return _0x161456['destroy']()[_0x8ba9('0x25')](function(){_0xbfb016[_0x8ba9('0x1f')](0xcc)[_0x8ba9('0x1e')]();});}};}function handleEntityNotFound(_0x2f5999,_0x3a6071){return function(_0x54a203){if(!_0x54a203){_0x2f5999['sendStatus'](0x194);}return _0x54a203;};}function handleError(_0x37a900,_0x3f58dc){_0x3f58dc=_0x3f58dc||0x1f4;return function(_0x1597b8){logger[_0x8ba9('0x26')](_0x1597b8[_0x8ba9('0x27')]);if(_0x1597b8['name']){delete _0x1597b8[_0x8ba9('0x28')];}_0x37a900[_0x8ba9('0x1f')](_0x3f58dc)[_0x8ba9('0x29')](_0x1597b8);};}exports[_0x8ba9('0x2a')]=function(_0x2e0303,_0x457be8){var _0x28c8d4={},_0x4f2545={},_0x28a56c={'count':0x0,'rows':[]};var _0x2eec7c=_[_0x8ba9('0x2b')](db[_0x8ba9('0x2c')][_0x8ba9('0x2d')],function(_0x4a7766){return{'name':_0x4a7766[_0x8ba9('0x2e')],'type':_0x4a7766[_0x8ba9('0x2f')][_0x8ba9('0x30')]};});_0x4f2545[_0x8ba9('0x31')]=_['map'](_0x2eec7c,_0x8ba9('0x28'));_0x4f2545['query']=_[_0x8ba9('0x32')](_0x2e0303[_0x8ba9('0x33')]);_0x4f2545[_0x8ba9('0x34')]=_[_0x8ba9('0x35')](_0x4f2545[_0x8ba9('0x31')],_0x4f2545[_0x8ba9('0x33')]);_0x28c8d4['attributes']=_[_0x8ba9('0x35')](_0x4f2545[_0x8ba9('0x31')],qs[_0x8ba9('0x36')](_0x2e0303[_0x8ba9('0x33')]['fields']));_0x28c8d4[_0x8ba9('0x37')]=_0x28c8d4[_0x8ba9('0x37')][_0x8ba9('0x38')]?_0x28c8d4[_0x8ba9('0x37')]:_0x4f2545['model'];if(!_0x2e0303[_0x8ba9('0x33')][_0x8ba9('0x39')](_0x8ba9('0x3a'))){_0x28c8d4[_0x8ba9('0x3b')]=qs[_0x8ba9('0x3b')](_0x2e0303[_0x8ba9('0x33')][_0x8ba9('0x3b')]);_0x28c8d4[_0x8ba9('0x21')]=qs['offset'](_0x2e0303[_0x8ba9('0x33')]['offset']);}_0x28c8d4[_0x8ba9('0x3c')]=qs['sort'](_0x2e0303[_0x8ba9('0x33')][_0x8ba9('0x3d')]);_0x28c8d4['where']=qs['filters'](_[_0x8ba9('0x3e')](_0x2e0303[_0x8ba9('0x33')],_0x4f2545['filters']),_0x2eec7c);if(_0x2e0303[_0x8ba9('0x33')]['filter']){_0x28c8d4['where']=_[_0x8ba9('0x3f')](_0x28c8d4['where'],{'$or':_[_0x8ba9('0x2b')](_0x2eec7c,function(_0x11b363){if(_0x11b363['type']!==_0x8ba9('0x40')){var _0x196efb={};_0x196efb[_0x11b363[_0x8ba9('0x28')]]={'$like':'%'+_0x2e0303[_0x8ba9('0x33')][_0x8ba9('0x41')]+'%'};return _0x196efb;}})});}_0x28c8d4=_[_0x8ba9('0x3f')]({},_0x28c8d4,_0x2e0303[_0x8ba9('0x42')]);var _0x3e1980={'where':_0x28c8d4[_0x8ba9('0x43')]};return db[_0x8ba9('0x2c')][_0x8ba9('0x22')](_0x3e1980)['then'](function(_0x3dad8e){_0x28a56c['count']=_0x3dad8e;if(_0x2e0303[_0x8ba9('0x33')]['includeAll']){_0x28c8d4[_0x8ba9('0x44')]=[{'all':!![]}];}return db['UserProfile']['findAll'](_0x28c8d4);})[_0x8ba9('0x25')](function(_0x530bab){_0x28a56c['rows']=_0x530bab;return _0x28a56c;})[_0x8ba9('0x25')](respondWithFilteredResult(_0x457be8,_0x28c8d4))[_0x8ba9('0x45')](handleError(_0x457be8,null));};exports['show']=function(_0x522b23,_0x58c7f6){var _0x2c9c9f={'raw':![],'where':{'id':_0x522b23[_0x8ba9('0x46')]['id']}},_0x46bcfb={};_0x46bcfb[_0x8ba9('0x31')]=_[_0x8ba9('0x32')](db[_0x8ba9('0x2c')][_0x8ba9('0x2d')]);_0x46bcfb[_0x8ba9('0x33')]=_[_0x8ba9('0x32')](_0x522b23[_0x8ba9('0x33')]);_0x46bcfb[_0x8ba9('0x34')]=_[_0x8ba9('0x35')](_0x46bcfb[_0x8ba9('0x31')],_0x46bcfb[_0x8ba9('0x33')]);_0x2c9c9f[_0x8ba9('0x37')]=_[_0x8ba9('0x35')](_0x46bcfb[_0x8ba9('0x31')],qs[_0x8ba9('0x36')](_0x522b23[_0x8ba9('0x33')][_0x8ba9('0x36')]));_0x2c9c9f['attributes']=_0x2c9c9f[_0x8ba9('0x37')]['length']?_0x2c9c9f[_0x8ba9('0x37')]:_0x46bcfb[_0x8ba9('0x31')];if(_0x522b23[_0x8ba9('0x33')][_0x8ba9('0x47')]){_0x2c9c9f[_0x8ba9('0x44')]=[{'all':!![]}];}_0x2c9c9f=_[_0x8ba9('0x3f')]({},_0x2c9c9f,_0x522b23['options']);return db['UserProfile'][_0x8ba9('0x48')](_0x2c9c9f)[_0x8ba9('0x25')](handleEntityNotFound(_0x58c7f6,null))[_0x8ba9('0x25')](respondWithResult(_0x58c7f6,null))[_0x8ba9('0x45')](handleError(_0x58c7f6,null));};exports[_0x8ba9('0x49')]=function(_0x2e642e,_0x264380){return db[_0x8ba9('0x2c')][_0x8ba9('0x49')](_0x2e642e[_0x8ba9('0x4a')],{})[_0x8ba9('0x25')](respondWithResult(_0x264380,0xc9))[_0x8ba9('0x45')](handleError(_0x264380,null));};exports[_0x8ba9('0x4b')]=function(_0x22a2db,_0x5b9442){var _0x3b263b={'where':{'id':_0x22a2db[_0x8ba9('0x46')]['id']}},_0x14d1da={};_0x14d1da[_0x8ba9('0x31')]=_['keys'](db['UserProfile'][_0x8ba9('0x2d')]);_0x3b263b['attributes']=_[_0x8ba9('0x35')](_0x14d1da[_0x8ba9('0x31')],qs[_0x8ba9('0x36')](_0x22a2db['query'][_0x8ba9('0x36')]));_0x3b263b['attributes']=_0x3b263b[_0x8ba9('0x37')]['length']?_0x3b263b[_0x8ba9('0x37')]:_0x14d1da[_0x8ba9('0x31')];if(_0x22a2db[_0x8ba9('0x33')]['includeAll']){_0x3b263b[_0x8ba9('0x44')]=[{'all':!![]}];}_0x3b263b=_[_0x8ba9('0x3f')]({},_0x3b263b,_0x22a2db[_0x8ba9('0x42')]);return db[_0x8ba9('0x2c')][_0x8ba9('0x48')](_0x3b263b)['then'](handleEntityNotFound(_0x5b9442,null))[_0x8ba9('0x25')](function(_0x318630){if(_0x318630){var _0x247e22=_0x318630[_0x8ba9('0x4c')]({'plain':!![]});_0x247e22=qs[_0x8ba9('0x4d')](_0x247e22,['id','createdAt','updatedAt',_0x8ba9('0x4e')]);_0x22a2db[_0x8ba9('0x4a')]=_['omit'](_0x22a2db[_0x8ba9('0x4a')],['id',_0x8ba9('0x4f'),_0x8ba9('0x50')]);return db['sequelize'][_0x8ba9('0x51')](function(_0x404619){return db['UserProfile'][_0x8ba9('0x49')](_[_0x8ba9('0x3f')](_0x247e22,_0x22a2db[_0x8ba9('0x4a')]),{'include':_0x22a2db[_0x8ba9('0x33')]['includeAll']?[{'all':!![]}]:undefined,'transaction':_0x404619})['then'](function(_0x56f251){var _0x177fc3=_0x56f251[_0x8ba9('0x4c')]({'plain':!![]});return db[_0x8ba9('0x52')][_0x8ba9('0x53')]({'where':{'userProfileId':_0x22a2db[_0x8ba9('0x46')]['id']},'raw':!![]})[_0x8ba9('0x25')](function(_0x323a16){if(_0x323a16){return BPromise[_0x8ba9('0x54')](_0x323a16,function(_0x136401){return new BPromise(function(_0x26a125,_0x13fb4f){if(_0x136401[_0x8ba9('0x55')]===null||_0x136401['autoAssociation']===0x1)_0x26a125(null);return db['UserProfileResource'][_0x8ba9('0x53')]({'where':{'sectionId':_0x136401['id']},'raw':!![]})['then'](function(_0x2d64d4){var _0x38d3de=_[_0x8ba9('0x2b')](_0x2d64d4,function(_0x4d5b1b){return qs[_0x8ba9('0x4d')](_0x4d5b1b,['id','createdAt','updatedAt',_0x8ba9('0x56')]);});_0x26a125(_0x38d3de);})[_0x8ba9('0x45')](function(_0x727a79){_0x13fb4f(_0x727a79);});})['then'](function(_0x29ab23){var _0x262ee9=qs[_0x8ba9('0x4d')](_0x136401,['id',_0x8ba9('0x4f'),_0x8ba9('0x50')]);_0x262ee9['userProfileId']=_0x177fc3['id'];if(_0x29ab23)_0x262ee9[_0x8ba9('0x57')]=_0x29ab23;return _0x262ee9;})['then'](function(_0xff538d){return db['UserProfileSection'][_0x8ba9('0x49')](_0xff538d,{'include':[{'model':db[_0x8ba9('0x58')],'as':_0x8ba9('0x57')}],'raw':!![],'transaction':_0x404619});});})[_0x8ba9('0x25')](function(){return _0x177fc3;});}});});});}})['then'](respondWithResult(_0x5b9442,0xc9))[_0x8ba9('0x45')](handleError(_0x5b9442,null));};exports[_0x8ba9('0x24')]=function(_0x109209,_0x10bcd7){if(_0x109209[_0x8ba9('0x4a')]['id']){delete _0x109209[_0x8ba9('0x4a')]['id'];}return db[_0x8ba9('0x2c')][_0x8ba9('0x48')]({'where':{'id':_0x109209[_0x8ba9('0x46')]['id']}})[_0x8ba9('0x25')](handleEntityNotFound(_0x10bcd7,null))[_0x8ba9('0x25')](saveUpdates(_0x109209[_0x8ba9('0x4a')],null))[_0x8ba9('0x25')](respondWithResult(_0x10bcd7,null))[_0x8ba9('0x45')](handleError(_0x10bcd7,null));};exports[_0x8ba9('0x59')]=function(_0x3ebad9,_0x5036d0){return db[_0x8ba9('0x2c')][_0x8ba9('0x48')]({'where':{'id':_0x3ebad9[_0x8ba9('0x46')]['id']}})[_0x8ba9('0x25')](handleEntityNotFound(_0x5036d0,null))['then'](removeEntity(_0x5036d0,null))[_0x8ba9('0x45')](handleError(_0x5036d0,null));};exports['describe']=function(_0x5e2f78,_0x496b5c){return db[_0x8ba9('0x2c')][_0x8ba9('0x5a')]()[_0x8ba9('0x25')](respondWithResult(_0x496b5c,null))['catch'](handleError(_0x496b5c,null));};exports[_0x8ba9('0x5b')]=function(_0x328c54,_0x25525c){var _0x1dc1d9=_0x328c54[_0x8ba9('0x4a')];return db[_0x8ba9('0x2c')]['find']({'where':{'id':_0x328c54[_0x8ba9('0x46')]['id']}})['then'](handleEntityNotFound(_0x25525c,null))[_0x8ba9('0x25')](function(_0x766ad5){if(_0x766ad5){return db[_0x8ba9('0x5c')][_0x8ba9('0x51')](function(_0x5da43d){return db['UserProfileSection'][_0x8ba9('0x59')]({'where':{'userProfileId':_0x328c54['params']['id'],'sectionId':_[_0x8ba9('0x2b')](_0x1dc1d9,function(_0x101412){return _0x101412[_0x8ba9('0x56')];})},'transaction':_0x5da43d})[_0x8ba9('0x25')](function(){var _0xeff73b=_['map'](_0x1dc1d9,function(_0x52caf3){_0x52caf3[_0x8ba9('0x5d')]=_0x328c54[_0x8ba9('0x46')]['id'];return _0x52caf3;});var _0x46fab1=[];return BPromise[_0x8ba9('0x54')](_0xeff73b,function(_0x2be2e6){return db[_0x8ba9('0x52')][_0x8ba9('0x49')](_0x2be2e6,{'include':[{'model':db[_0x8ba9('0x58')],'as':_0x8ba9('0x57')}],'raw':!![],'transaction':_0x5da43d})[_0x8ba9('0x25')](function(_0x5083dd){_0x46fab1[_0x8ba9('0x5e')](_0x5083dd[_0x8ba9('0x4c')]({'plain':!![]}));});})['then'](function(){return _0x46fab1;});});});}})['then'](function(_0x1a349e){return _0x1a349e;})[_0x8ba9('0x25')](respondWithResult(_0x25525c,null))[_0x8ba9('0x45')](handleError(_0x25525c,null));};exports['removeSections']=function(_0x30fc6c,_0x1fa014){var _0xd7e9d7;return db['UserProfile']['find']({'where':{'id':_0x30fc6c[_0x8ba9('0x46')]['id']},'attributes':['id',_0x8ba9('0x28')]})[_0x8ba9('0x25')](handleEntityNotFound(_0x1fa014,null))[_0x8ba9('0x25')](function(_0x372662){if(_0x372662){_0xd7e9d7=_0x372662;return db[_0x8ba9('0x52')][_0x8ba9('0x59')]({'where':{'userProfileId':_0x30fc6c['params']['id'],'sectionId':_0x30fc6c[_0x8ba9('0x33')][_0x8ba9('0x5f')]}});}})[_0x8ba9('0x25')](function(){return _0xd7e9d7;})[_0x8ba9('0x25')](respondWithStatusCode(_0x1fa014,null))[_0x8ba9('0x45')](handleError(_0x1fa014,null));};exports[_0x8ba9('0x60')]=function(_0xa72a1f,_0x3c9963){var _0x5cea00=[];var _0x196d32=[];return db['UserProfileSection'][_0x8ba9('0x53')]({'where':{'userProfileId':_0xa72a1f['params']['id']},'raw':!![]})['then'](function(_0x8fbdb1){_0x5cea00=_[_0x8ba9('0x41')](_0x8fbdb1,function(_0x1a7cbb){return _0x1a7cbb['enabled']===0x1||_[_0x8ba9('0x61')]([0x3eb,0x709],_0x1a7cbb['sectionId']);});if(!_['isEmpty'](_0x5cea00)){return _[_0x8ba9('0x2b')](_0x5cea00,function(_0x4d5a3d){return _0x4d5a3d[_0x8ba9('0x56')];});}else{return;}})[_0x8ba9('0x25')](function(_0x59fcf4){if(_0x59fcf4)_0x196d32=_0x59fcf4;if(_['includes'](_0x196d32,0x64)){var _0x320af1=_[_0x8ba9('0x48')](_0x5cea00,{'sectionId':0x64});return hasDefaultDashboard(_0x320af1)[_0x8ba9('0x25')](function(_0x487cb6){return _[_0x8ba9('0x2b')](_0x5cea00,function(_0x517df2){if(_0x517df2[_0x8ba9('0x56')]===0x64){_0x517df2[_0x8ba9('0x62')]=_0x487cb6;}return _0x517df2;});});}else{return;}})[_0x8ba9('0x25')](function(_0x17a558){if(_0x17a558)_0x5cea00=_0x17a558;if(_[_0x8ba9('0x61')](_0x196d32,0x3eb)){var _0x58f90f=_[_0x8ba9('0x48')](_0x5cea00,{'sectionId':0x3eb});return getCustomDashboards(_0x58f90f)[_0x8ba9('0x25')](function(_0xee26e8){return _[_0x8ba9('0x2b')](_0x5cea00,function(_0x4f83cf){if(_0x58f90f[_0x8ba9('0x63')]){if(_0x4f83cf['sectionId']===0x3eb){_0x4f83cf[_0x8ba9('0x62')]=_0xee26e8;}}else{if(_0x4f83cf[_0x8ba9('0x56')]===0x64){if(!_0x4f83cf['subsections']){_0x4f83cf[_0x8ba9('0x62')]=[];}_0x4f83cf[_0x8ba9('0x62')]=_0x4f83cf[_0x8ba9('0x62')]['concat'](_0xee26e8);}}return _0x4f83cf;});});}else{return;}})[_0x8ba9('0x25')](function(_0x5ad1d2){if(_0x5ad1d2)_0x5cea00=_0x5ad1d2;if(_[_0x8ba9('0x61')](_0x196d32,0x709)){var _0x2066d0=_['find'](_0x5cea00,{'sectionId':0x709});return getPlugins(_0x2066d0)[_0x8ba9('0x25')](function(_0x1ee67f){if(_0x2066d0['enabled']){return _[_0x8ba9('0x2b')](_0x5cea00,function(_0x4f5668){if(_0x4f5668['sectionId']===0x709){_0x4f5668['subsections']=_0x1ee67f;}return _0x4f5668;});}else{var _0x250043={'sectionId':0x76c,'enabled':0x1,'subsections':_0x1ee67f};var _0x4fa55e=_['map'](_0x5cea00);_0x4fa55e['push'](_0x250043);return _0x4fa55e;}});}else{return;}})[_0x8ba9('0x25')](function(_0x2ca055){if(_0x2ca055)_0x5cea00=_0x2ca055;return _['filter'](_0x5cea00,['enabled',0x1]);})[_0x8ba9('0x25')](respondWithResult(_0x3c9963,null))[_0x8ba9('0x45')](handleError(_0x3c9963,null));};function hasDefaultDashboard(_0x2cd8fd){var _0x141545=[0x65];return new BPromise(function(_0x4779b2,_0x4cde37){try{if(_0x2cd8fd[_0x8ba9('0x55')]){_0x4779b2(_0x141545);}else{return db[_0x8ba9('0x58')]['findOne']({'where':{'sectionId':_0x2cd8fd['id']},'raw':!![]})[_0x8ba9('0x25')](function(_0x49b3b7){_0x49b3b7?_0x4779b2(_0x141545):_0x4779b2();});}}catch(_0x9d344e){_0x4cde37(_0x9d344e);}});}function getCustomDashboards(_0x46706f){var _0x514b5a=[];return new BPromise(function(_0x283ff8,_0xf92a10){try{if(_0x46706f['autoAssociation']){return db['Dashboard'][_0x8ba9('0x53')]({'raw':!![]})[_0x8ba9('0x25')](function(_0xbf9d29){_0xbf9d29[_0x8ba9('0x64')](function(_0x11a2eb){_0x514b5a['push'](_0x11a2eb['id']+0x1869f);});_0x283ff8(_0x514b5a);});}else{return db[_0x8ba9('0x58')][_0x8ba9('0x53')]({'where':{'sectionId':_0x46706f['id']},'raw':!![]})['then'](function(_0x3818d3){_0x3818d3['forEach'](function(_0x5625ec){_0x514b5a['push'](_0x5625ec[_0x8ba9('0x65')]+0x1869f);});_0x283ff8(_0x514b5a);});}}catch(_0x581d7c){_0xf92a10(_0x581d7c);}});}function getPlugins(_0x5cc8c1){var _0x56c60c=[];return new BPromise(function(_0x560a0b,_0xdbd057){try{if(_0x5cc8c1[_0x8ba9('0x55')]){return db[_0x8ba9('0x66')][_0x8ba9('0x53')]({'raw':!![]})[_0x8ba9('0x25')](function(_0x5bf124){_0x5bf124['forEach'](function(_0x2e223e){_0x56c60c[_0x8ba9('0x5e')](_0x2e223e['id']+0x15b38);});_0x560a0b(_0x56c60c);});}else{return db[_0x8ba9('0x58')][_0x8ba9('0x53')]({'where':{'sectionId':_0x5cc8c1['id']},'raw':!![]})['then'](function(_0x1f9802){_0x1f9802[_0x8ba9('0x64')](function(_0x57517a){_0x56c60c['push'](_0x57517a[_0x8ba9('0x65')]+0x15b38);});_0x560a0b(_0x56c60c);});}}catch(_0x4a3c9a){_0xdbd057(_0x4a3c9a);}});}exports[_0x8ba9('0x67')]=function(_0x31174e,_0x5ad706){return db[_0x8ba9('0x2c')][_0x8ba9('0x48')]({'where':{'id':_0x31174e['params']['id']}})[_0x8ba9('0x25')](handleEntityNotFound(_0x5ad706,null))[_0x8ba9('0x25')](function(_0x270652){if(_0x270652){return db[_0x8ba9('0x5c')][_0x8ba9('0x51')](function(_0x1a6d9a){return db[_0x8ba9('0x52')][_0x8ba9('0x53')]({'where':{'userProfileId':_0x31174e['params']['id']},'attributes':['id'],'raw':!![]})[_0x8ba9('0x25')](function(_0x5529b2){if(_0x5529b2){return db[_0x8ba9('0x52')][_0x8ba9('0x59')]({'where':{'userProfileId':_0x31174e[_0x8ba9('0x46')]['id'],'id':_[_0x8ba9('0x2b')](_0x5529b2,function(_0x3691db){return _0x3691db['id'];})},'transaction':_0x1a6d9a});}})[_0x8ba9('0x25')](function(_0x2ba884){var _0x234a2d=_['map'](_0x31174e[_0x8ba9('0x4a')],function(_0x1283e3){_0x1283e3[_0x8ba9('0x5d')]=_0x31174e[_0x8ba9('0x46')]['id'];return _0x1283e3;});return db[_0x8ba9('0x52')][_0x8ba9('0x68')](_0x234a2d,{'raw':!![],'transaction':_0x1a6d9a});})[_0x8ba9('0x25')](function(_0x2b0cad){var _0x7d05b9=_[_0x8ba9('0x41')](_['map'](_0x2b0cad,function(_0x471e87){return _0x471e87['get']({'plain':!![]});}),{'includeAll':![]});if(_0x7d05b9){return db[_0x8ba9('0x52')][_0x8ba9('0x53')]({'where':{'userProfileId':_0x31174e[_0x8ba9('0x46')]['id'],'sectionId':_['map'](_0x7d05b9,function(_0x3a087d){return _0x3a087d[_0x8ba9('0x56')];})},'attributes':['id',_0x8ba9('0x56')],'raw':!![]})[_0x8ba9('0x25')](function(_0x503406){var _0x228bcc=_['map'](_0x31174e['body'],function(_0x477ab2){_0x477ab2[_0x8ba9('0x5d')]=_0x31174e[_0x8ba9('0x46')]['id'];return _0x477ab2;});return db[_0x8ba9('0x58')][_0x8ba9('0x68')](_0x228bcc,{'raw':!![],'transaction':_0x1a6d9a});});}})[_0x8ba9('0x45')](handleError(_0x5ad706,null));});}})['then'](function(_0x49d338){var _0x50fa1c=_[_0x8ba9('0x2b')](_0x49d338,function(_0x330745){return _0x330745[_0x8ba9('0x4c')]({'plain':!![]});});})[_0x8ba9('0x25')](respondWithResult(_0x5ad706,null))[_0x8ba9('0x45')](handleError(_0x5ad706,null));};exports[_0x8ba9('0x69')]=function(_0x1fdd12,_0x171f55,_0x986689){return db['UserProfile'][_0x8ba9('0x48')]({'where':{'id':_0x1fdd12[_0x8ba9('0x46')]['id']}})[_0x8ba9('0x25')](handleEntityNotFound(_0x171f55,null))[_0x8ba9('0x25')](function(_0x442b8c){if(_0x442b8c){return _0x442b8c[_0x8ba9('0x69')](_0x1fdd12[_0x8ba9('0x33')]['ids']);}})[_0x8ba9('0x25')](respondWithStatusCode(_0x171f55,null))['catch'](handleError(_0x171f55,null));};exports[_0x8ba9('0x6a')]=function(_0xfb125d,_0x3bf92b){var _0x2aa8f2={};if(!_0xfb125d[_0x8ba9('0x33')]['section'])throw new Error(_0x8ba9('0x6b'));if(!_0xfb125d[_0x8ba9('0x33')]['hasOwnProperty'](_0x8ba9('0x3a'))){_0x2aa8f2[_0x8ba9('0x3b')]=qs[_0x8ba9('0x3b')](_0xfb125d[_0x8ba9('0x33')][_0x8ba9('0x3b')]);_0x2aa8f2['offset']=qs['offset'](_0xfb125d[_0x8ba9('0x33')][_0x8ba9('0x21')]);}return db['UserProfile'][_0x8ba9('0x48')]({'where':{'id':_0xfb125d[_0x8ba9('0x46')]['id']}})[_0x8ba9('0x25')](function(_0x54085f){if(!_0x54085f)throw new Error('No\x20User\x20Profile\x20found\x20for\x20id\x20'+_0xfb125d[_0x8ba9('0x46')]['id']);return db[_0x8ba9('0x2c')]['getResources'](_0xfb125d);})[_0x8ba9('0x25')](respondWithFilteredResult(_0x3bf92b,_0x2aa8f2))[_0x8ba9('0x45')](handleError(_0x3bf92b,null));};