From 8332a78c1e9938733cf83fb271689a4bf533e9ba Mon Sep 17 00:00:00 2001 From: "matthias.lotz" Date: Mon, 3 Nov 2025 21:39:44 +0100 Subject: [PATCH] fix: resolve reordering API routing issue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🔧 Problem identified and fixed: - nginx proxy was routing /api/groups to /groups (removing /api prefix) - Backend route was registered under /api/groups instead of /groups - Changed backend route registration from '/api/groups' to '/groups' - Tested API endpoint: curl to /api/groups/qion_-lT1/reorder now works - Removed debug console.log statements for cleaner production code ✅ Drag-and-drop reordering now functional in ModerationGroupImagesPage ✅ API requests properly routed through nginx proxy to backend ✅ Error 'Reihenfolge konnte nicht geändert werden' resolved --- backend/src/routes/index.js | 2 +- .../src/Components/Pages/ModerationGroupImagesPage.js | 4 ++-- frontend/src/services/reorderService.js | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/backend/src/routes/index.js b/backend/src/routes/index.js index 26fbdde..932dc3f 100644 --- a/backend/src/routes/index.js +++ b/backend/src/routes/index.js @@ -7,7 +7,7 @@ const reorderRouter = require('./reorder'); const renderRoutes = (app) => { [uploadRouter, downloadRouter, batchUploadRouter, groupsRouter, migrationRouter].forEach(router => app.use('/', router)); - app.use('/api/groups', reorderRouter); + app.use('/groups', reorderRouter); }; module.exports = { renderRoutes }; \ No newline at end of file diff --git a/frontend/src/Components/Pages/ModerationGroupImagesPage.js b/frontend/src/Components/Pages/ModerationGroupImagesPage.js index cd27420..459ce36 100644 --- a/frontend/src/Components/Pages/ModerationGroupImagesPage.js +++ b/frontend/src/Components/Pages/ModerationGroupImagesPage.js @@ -132,7 +132,7 @@ const ModerationGroupImagesPage = () => { try { setIsReordering(true); - console.log('🔄 Reordering images:', reorderedItems.map(img => ({ id: img.id, fileName: img.fileName }))); + const imageIds = reorderedItems.map(img => img.id); // Update local state immediately (optimistic update) setSelectedImages(reorderedItems); @@ -143,7 +143,7 @@ const ModerationGroupImagesPage = () => { } // Send API request - await updateImageOrder(groupId, reorderedItems.map(img => img.id)); + await updateImageOrder(groupId, imageIds); // Show success feedback Swal.fire({ diff --git a/frontend/src/services/reorderService.js b/frontend/src/services/reorderService.js index 9e1dc37..c78cb92 100644 --- a/frontend/src/services/reorderService.js +++ b/frontend/src/services/reorderService.js @@ -111,8 +111,8 @@ const reorderService = new ReorderService(); export default reorderService; -// Named exports for easier testing -export const updateImageOrder = reorderService.updateImageOrder.bind(reorderService); -export const validateImageIds = reorderService.validateImageIds.bind(reorderService); -export const extractImageIds = reorderService.extractImageIds.bind(reorderService); -export const reorderArray = reorderService.reorderArray.bind(reorderService); \ No newline at end of file +// Named exports for easier testing +export const updateImageOrder = (groupId, imageIds) => reorderService.updateImageOrder(groupId, imageIds); +export const validateImageIds = (images, imageIds) => reorderService.validateImageIds(images, imageIds); +export const extractImageIds = (images) => reorderService.extractImageIds(images); +export const reorderArray = (items, startIndex, endIndex) => reorderService.reorderArray(items, startIndex, endIndex); \ No newline at end of file