From 74f100acf00bd318ffd910fcb93d75cfc44ef47b Mon Sep 17 00:00:00 2001 From: makearmy Date: Mon, 29 Sep 2025 20:56:46 -0400 Subject: [PATCH] dxGet fix for rigs --- app/api/rigs/route.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/api/rigs/route.ts b/app/api/rigs/route.ts index 1543d8bc..e8c5c431 100644 --- a/app/api/rigs/route.ts +++ b/app/api/rigs/route.ts @@ -37,14 +37,14 @@ export async function GET(req: Request) { "date_updated", ].join(","); + // ✅ filter on the relation's id const path = - `/items/user_rigs?filter[owner][_eq]=${encodeURIComponent(me.id)}` + + `/items/user_rigs?filter[owner][id][_eq]=${encodeURIComponent(me.id)}` + `&fields=${encodeURIComponent(fields)}` + `&sort=-date_updated` + `&limit=${limit}`; - // dxGET already returns the unwrapped `data` array - const rows = await dxGET(path, bearer); + const rows = await dxGET(path, bearer); // dxGET returns unwrapped `data` return NextResponse.json(rows ?? []); } catch (e: any) { return bad(e?.message || "Failed to load rigs", e?.status || 500); @@ -101,13 +101,13 @@ export async function DELETE(req: Request) { const id = url.searchParams.get("id"); if (!id) return bad("Missing: id"); - // ensure the rig belongs to the current user + // ✅ fetch owner.id for a precise comparison const me = await dxGET<{ id: string }>("/users/me?fields=id", bearer); - const rig = await dxGET( - `/items/user_rigs/${encodeURIComponent(id)}?fields=id,owner`, - bearer + const rig = await dxGET<{ id: string; owner?: { id?: string } }>( + `/items/user_rigs/${encodeURIComponent(id)}?fields=id,owner.id`, + bearer ); - if (!rig || String(rig.owner) !== String(me.id)) { + if (!rig || String(rig.owner?.id) !== String(me.id)) { return bad("Not your rig", 403); }