From 2580c650740e9e639e35953bfa43ecf93fbb45e6 Mon Sep 17 00:00:00 2001 From: Hermes Date: Sat, 13 Jun 2026 11:12:14 -0700 Subject: [PATCH] DC-001: Fix 4 failing services.routes tests - add /services/ prefix to credential routes The 3 credential endpoints (POST/DELETE/GET /:serviceId/credentials) were missing the /services/ path segment, causing 404s when tests called /api/services//credentials. Fixed routes now match the URL pattern used by the live frontend (/api/v1/services//credentials) and the test suite. All 759 tests pass. --- dashcaddy-api/routes/services.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dashcaddy-api/routes/services.js b/dashcaddy-api/routes/services.js index bcc3856..41f18b0 100644 --- a/dashcaddy-api/routes/services.js +++ b/dashcaddy-api/routes/services.js @@ -197,7 +197,7 @@ module.exports = function({ // ===== SERVICE CREDENTIAL ENDPOINTS ===== // Store credentials for a service - router.post('/:serviceId/credentials', asyncHandler(async (req, res) => { + router.post('/services/:serviceId/credentials', asyncHandler(async (req, res) => { const { serviceId } = req.params; // Validate serviceId to prevent path traversal in credential keys @@ -221,7 +221,7 @@ module.exports = function({ }, 'store-service-creds')); // Delete credentials for a service - router.delete('/:serviceId/credentials', asyncHandler(async (req, res) => { + router.delete('/services/:serviceId/credentials', asyncHandler(async (req, res) => { const { serviceId } = req.params; // Validate serviceId to prevent path traversal in credential keys @@ -236,7 +236,7 @@ module.exports = function({ }, 'delete-service-creds')); // Check credential status for a service (what's stored) - router.get('/:serviceId/credentials', asyncHandler(async (req, res) => { + router.get('/services/:serviceId/credentials', asyncHandler(async (req, res) => { const { serviceId } = req.params; // Validate serviceId to prevent path traversal in credential keys