From 7b6aa53d68dd1d50559d85eb163e5cb2898cfb7b Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Sat, 21 Mar 2026 20:12:24 -0700 Subject: [PATCH] fix(admin-web): proxy route path mismatches + missing HTTP methods MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - maintenance: fix path /api/maintenance → /api/settings/maintenance - maintenance: replace PATCH with PUT + add DELETE (matches backend API) - ip-rules: fix path /api/ip-rules → /api/ratelimit/ip-rules - jobs: add missing PUT handler for job updates --- .../admin-web/src/app/api/ip-rules/[...path]/route.ts | 2 +- dashboards/admin-web/src/app/api/jobs/[...path]/route.ts | 3 +++ .../admin-web/src/app/api/maintenance/[...path]/route.ts | 7 +++++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/dashboards/admin-web/src/app/api/ip-rules/[...path]/route.ts b/dashboards/admin-web/src/app/api/ip-rules/[...path]/route.ts index c8c1eed0..80a89976 100644 --- a/dashboards/admin-web/src/app/api/ip-rules/[...path]/route.ts +++ b/dashboards/admin-web/src/app/api/ip-rules/[...path]/route.ts @@ -13,7 +13,7 @@ async function proxy(req: NextRequest, { params }: { params: Promise<{ path: str const caller = await getCurrentUser(req.headers.get('authorization')); if (!caller) return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }); const { path } = await params; - const targetPath = `/api/ip-rules/${path.join('/')}`; + const targetPath = `/api/ratelimit/ip-rules/${path.join('/')}`; const qs = new URL(req.url).search; const headers: Record = { 'Content-Type': 'application/json', diff --git a/dashboards/admin-web/src/app/api/jobs/[...path]/route.ts b/dashboards/admin-web/src/app/api/jobs/[...path]/route.ts index 2ad4616c..625fac01 100644 --- a/dashboards/admin-web/src/app/api/jobs/[...path]/route.ts +++ b/dashboards/admin-web/src/app/api/jobs/[...path]/route.ts @@ -38,3 +38,6 @@ export async function GET(req: NextRequest, ctx: { params: Promise<{ path: strin export async function POST(req: NextRequest, ctx: { params: Promise<{ path: string[] }> }) { return proxy(req, ctx); } +export async function PUT(req: NextRequest, ctx: { params: Promise<{ path: string[] }> }) { + return proxy(req, ctx); +} diff --git a/dashboards/admin-web/src/app/api/maintenance/[...path]/route.ts b/dashboards/admin-web/src/app/api/maintenance/[...path]/route.ts index a2960bf0..4f9d8a89 100644 --- a/dashboards/admin-web/src/app/api/maintenance/[...path]/route.ts +++ b/dashboards/admin-web/src/app/api/maintenance/[...path]/route.ts @@ -13,7 +13,7 @@ async function proxy(req: NextRequest, { params }: { params: Promise<{ path: str const caller = await getCurrentUser(req.headers.get('authorization')); if (!caller) return NextResponse.json({ error: 'Unauthorized' }, { status: 401 }); const { path } = await params; - const targetPath = `/api/maintenance/${path.join('/')}`; + const targetPath = `/api/settings/maintenance/${path.join('/')}`; const qs = new URL(req.url).search; const headers: Record = { 'Content-Type': 'application/json', @@ -38,6 +38,9 @@ export async function GET(req: NextRequest, ctx: { params: Promise<{ path: strin export async function POST(req: NextRequest, ctx: { params: Promise<{ path: string[] }> }) { return proxy(req, ctx); } -export async function PATCH(req: NextRequest, ctx: { params: Promise<{ path: string[] }> }) { +export async function PUT(req: NextRequest, ctx: { params: Promise<{ path: string[] }> }) { + return proxy(req, ctx); +} +export async function DELETE(req: NextRequest, ctx: { params: Promise<{ path: string[] }> }) { return proxy(req, ctx); }