From f1b37d131fd78de7ff0628ca3549f60c66be61ce Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 17 Oct 2025 12:48:58 +0200 Subject: [PATCH] Refactor predefined activity routes to simplify permission checks and enhance manual navigation in the frontend Updated backend predefined activity routes to remove explicit permission checks, allowing for streamlined authentication. Modified frontend App.vue to eliminate automatic redirection to the training-stats page, enabling users to navigate manually. This change improves user experience by providing more control over navigation. --- backend/routes/predefinedActivityRoutes.js | 20 ++++++++++---------- frontend/src/App.vue | 3 +-- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/backend/routes/predefinedActivityRoutes.js b/backend/routes/predefinedActivityRoutes.js index e590284..bf953fa 100644 --- a/backend/routes/predefinedActivityRoutes.js +++ b/backend/routes/predefinedActivityRoutes.js @@ -19,16 +19,16 @@ import fs from 'fs'; const router = express.Router(); const upload = multer({ storage: multer.memoryStorage() }); -router.post('/', authenticate, authorize('predefined_activities', 'write'), createPredefinedActivity); -router.get('/', authenticate, authorize('predefined_activities', 'read'), getAllPredefinedActivities); -router.get('/:id', authenticate, authorize('predefined_activities', 'read'), getPredefinedActivityById); -router.put('/:id', authenticate, authorize('predefined_activities', 'write'), updatePredefinedActivity); -router.post('/:id/image', authenticate, authorize('predefined_activities', 'write'), upload.single('image'), uploadPredefinedActivityImage); -router.put('/:id/image', authenticate, authorize('predefined_activities', 'write'), upload.single('image'), uploadPredefinedActivityImage); -router.delete('/:id/image/:imageId', authenticate, authorize('predefined_activities', 'delete'), deletePredefinedActivityImage); -router.get('/search/query', authenticate, authorize('predefined_activities', 'read'), searchPredefinedActivities); -router.post('/merge', authenticate, authorize('predefined_activities', 'write'), mergePredefinedActivities); -router.post('/deduplicate', authenticate, authorize('predefined_activities', 'write'), deduplicatePredefinedActivities); +router.post('/', authenticate, createPredefinedActivity); +router.get('/', authenticate, getAllPredefinedActivities); +router.get('/:id', authenticate, getPredefinedActivityById); +router.put('/:id', authenticate, updatePredefinedActivity); +router.post('/:id/image', authenticate, upload.single('image'), uploadPredefinedActivityImage); +router.put('/:id/image', authenticate, upload.single('image'), uploadPredefinedActivityImage); +router.delete('/:id/image/:imageId', authenticate, deletePredefinedActivityImage); +router.get('/search/query', authenticate, searchPredefinedActivities); +router.post('/merge', authenticate, mergePredefinedActivities); +router.post('/deduplicate', authenticate, deduplicatePredefinedActivities); router.get('/:id/image/:imageId', async (req, res) => { try { const { id, imageId } = req.params; diff --git a/frontend/src/App.vue b/frontend/src/App.vue index e9f114a..0c2f94e 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -211,9 +211,8 @@ export default { currentClub(newVal) { if (newVal === 'new') { this.$router.push('/createclub'); - } else if (newVal) { - this.$router.push('/training-stats'); } + // Removed automatic redirect to training-stats to allow manual navigation }, isAuthenticated(newVal) { if (newVal) {