Fixed authentication redirect upon signin using states

Finally fixed dashboard defaults for new user signups
This commit is contained in:
Muhammad Ibrahim
2025-09-24 07:42:15 +01:00
parent 73761d8927
commit 99aa79a6a4
4 changed files with 31 additions and 23 deletions

View File

@@ -57,30 +57,33 @@ async function createDefaultDashboardPreferences(userId, userRole = 'user') {
const permissions = await getUserPermissions(userRole);
// Define all possible dashboard cards with their required permissions
// Order aligned with preferred layout
const allCards = [
// Host-related cards
{ cardId: 'totalHosts', requiredPermission: 'can_view_hosts', order: 0 },
{ cardId: 'hostsNeedingUpdates', requiredPermission: 'can_view_hosts', order: 1 },
{ cardId: 'upToDateHosts', requiredPermission: 'can_view_hosts', order: 2 },
{ cardId: 'totalHostGroups', requiredPermission: 'can_view_hosts', order: 3 },
// Package-related cards
{ cardId: 'totalOutdatedPackages', requiredPermission: 'can_view_packages', order: 4 },
{ cardId: 'securityUpdates', requiredPermission: 'can_view_packages', order: 5 },
{ cardId: 'packagePriority', requiredPermission: 'can_view_packages', order: 6 },
{ cardId: 'totalOutdatedPackages', requiredPermission: 'can_view_packages', order: 2 },
{ cardId: 'securityUpdates', requiredPermission: 'can_view_packages', order: 3 },
// Host-related cards (continued)
{ cardId: 'totalHostGroups', requiredPermission: 'can_view_hosts', order: 4 },
{ cardId: 'upToDateHosts', requiredPermission: 'can_view_hosts', order: 5 },
// Repository-related cards
{ cardId: 'totalRepos', requiredPermission: 'can_view_hosts', order: 7 }, // Repos are host-related
{ cardId: 'totalRepos', requiredPermission: 'can_view_hosts', order: 6 },
// User management cards (admin only)
{ cardId: 'totalUsers', requiredPermission: 'can_view_users', order: 8 },
{ cardId: 'recentUsers', requiredPermission: 'can_view_users', order: 9 },
{ cardId: 'totalUsers', requiredPermission: 'can_view_users', order: 7 },
// System/Report cards
{ cardId: 'osDistribution', requiredPermission: 'can_view_reports', order: 10 },
{ cardId: 'osDistributionBar', requiredPermission: 'can_view_reports', order: 11 },
{ cardId: 'updateStatus', requiredPermission: 'can_view_reports', order: 12 },
{ cardId: 'recentCollection', requiredPermission: 'can_view_hosts', order: 13 }, // Collection is host-related
{ cardId: 'osDistribution', requiredPermission: 'can_view_reports', order: 8 },
{ cardId: 'osDistributionBar', requiredPermission: 'can_view_reports', order: 9 },
{ cardId: 'recentCollection', requiredPermission: 'can_view_hosts', order: 10 },
{ cardId: 'updateStatus', requiredPermission: 'can_view_reports', order: 11 },
{ cardId: 'packagePriority', requiredPermission: 'can_view_packages', order: 12 },
{ cardId: 'recentUsers', requiredPermission: 'can_view_users', order: 13 },
{ cardId: 'quickStats', requiredPermission: 'can_view_dashboard', order: 14 }
];
@@ -174,7 +177,6 @@ router.put('/', authenticateToken, [
// Get default dashboard card configuration
router.get('/defaults', authenticateToken, async (req, res) => {
try {
// Default configuration based on iby's (Muhammad Ibrahim) preferred layout
// This provides a comprehensive dashboard view for all new users
const defaultCards = [
{ cardId: 'totalHosts', title: 'Total Hosts', icon: 'Server', enabled: true, order: 0 },
@@ -182,7 +184,7 @@ router.get('/defaults', authenticateToken, async (req, res) => {
{ cardId: 'totalOutdatedPackages', title: 'Outdated Packages', icon: 'Package', enabled: true, order: 2 },
{ cardId: 'securityUpdates', title: 'Security Updates', icon: 'Shield', enabled: true, order: 3 },
{ cardId: 'totalHostGroups', title: 'Host Groups', icon: 'Folder', enabled: true, order: 4 },
{ cardId: 'upToDateHosts', title: 'Up to date', icon: 'CheckCircle', enabled: true, order: 5 },
{ cardId: 'hostsNeedingUpdates', title: 'Up to date', icon: 'CheckCircle', enabled: true, order: 5 },
{ cardId: 'totalRepos', title: 'Repositories', icon: 'GitBranch', enabled: true, order: 6 },
{ cardId: 'totalUsers', title: 'Users', icon: 'Users', enabled: true, order: 7 },
{ cardId: 'osDistribution', title: 'OS Distribution', icon: 'BarChart3', enabled: true, order: 8 },