Improve Team-indeling dashboard UI and cache invalidation
- Replace 'TEAM' label with Type attribute (Business/Enabling/Staf) in team blocks - Make Type labels larger (text-sm) and brighter colors - Make SUBTEAM label less bright (indigo-300) and smaller (text-[10px]) - Add 'FTE' suffix to bandbreedte values in header and application blocks - Add Platform and Connected Device labels to application blocks - Show Platform FTE and Workloads FTE separately in Platform blocks - Add spacing between Regiemodel letter and count value - Add cache invalidation for Team Dashboard when applications are updated - Enrich team references with Type attribute in getSubteamToTeamMapping
This commit is contained in:
@@ -15,12 +15,14 @@ router.get('/', async (req: Request, res: Response) => {
|
||||
organisations,
|
||||
hostingTypes,
|
||||
applicationFunctions,
|
||||
applicationClusters,
|
||||
applicationSubteams,
|
||||
applicationTeams,
|
||||
applicationTypes,
|
||||
businessImportance,
|
||||
businessImpactAnalyses,
|
||||
applicationManagementHosting,
|
||||
applicationManagementTAM,
|
||||
subteamToTeamMapping,
|
||||
] = await Promise.all([
|
||||
dataService.getDynamicsFactors(),
|
||||
dataService.getComplexityFactors(),
|
||||
@@ -29,12 +31,14 @@ router.get('/', async (req: Request, res: Response) => {
|
||||
dataService.getOrganisations(),
|
||||
dataService.getHostingTypes(),
|
||||
dataService.getApplicationFunctions(),
|
||||
dataService.getApplicationClusters(),
|
||||
dataService.getApplicationSubteams(),
|
||||
dataService.getApplicationTeams(),
|
||||
dataService.getApplicationTypes(),
|
||||
dataService.getBusinessImportance(),
|
||||
dataService.getBusinessImpactAnalyses(),
|
||||
dataService.getApplicationManagementHosting(),
|
||||
dataService.getApplicationManagementTAM(),
|
||||
dataService.getSubteamToTeamMapping(),
|
||||
]);
|
||||
|
||||
res.json({
|
||||
@@ -45,12 +49,14 @@ router.get('/', async (req: Request, res: Response) => {
|
||||
organisations,
|
||||
hostingTypes,
|
||||
applicationFunctions,
|
||||
applicationClusters,
|
||||
applicationSubteams,
|
||||
applicationTeams,
|
||||
applicationTypes,
|
||||
businessImportance,
|
||||
businessImpactAnalyses,
|
||||
applicationManagementHosting,
|
||||
applicationManagementTAM,
|
||||
subteamToTeamMapping,
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error('Failed to get reference data', error);
|
||||
@@ -135,14 +141,25 @@ router.get('/application-functions', async (req: Request, res: Response) => {
|
||||
}
|
||||
});
|
||||
|
||||
// Get application clusters (from Jira Assets)
|
||||
router.get('/application-clusters', async (req: Request, res: Response) => {
|
||||
// Get application subteams (from Jira Assets)
|
||||
router.get('/application-subteams', async (req: Request, res: Response) => {
|
||||
try {
|
||||
const clusters = await dataService.getApplicationClusters();
|
||||
res.json(clusters);
|
||||
const subteams = await dataService.getApplicationSubteams();
|
||||
res.json(subteams);
|
||||
} catch (error) {
|
||||
logger.error('Failed to get application clusters', error);
|
||||
res.status(500).json({ error: 'Failed to get application clusters' });
|
||||
logger.error('Failed to get application subteams', error);
|
||||
res.status(500).json({ error: 'Failed to get application subteams' });
|
||||
}
|
||||
});
|
||||
|
||||
// Get application teams (from Jira Assets)
|
||||
router.get('/application-teams', async (req: Request, res: Response) => {
|
||||
try {
|
||||
const teams = await dataService.getApplicationTeams();
|
||||
res.json(teams);
|
||||
} catch (error) {
|
||||
logger.error('Failed to get application teams', error);
|
||||
res.status(500).json({ error: 'Failed to get application teams' });
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user