Skip to content

Commit 747c76c

Browse files
authored
delete datapoints, use body (#943)
1 parent fc64968 commit 747c76c

File tree

2 files changed

+9
-3
lines changed
  • frontend
    • app/api/projects/[projectId]/datasets/[datasetId]/datapoints
    • components/dataset

2 files changed

+9
-3
lines changed

frontend/app/api/projects/[projectId]/datasets/[datasetId]/datapoints/route.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,18 @@ export async function POST(
6666
}
6767
}
6868

69+
// Note: this endpoint allows a body in a DELETE request, which is not standard
70+
// but fits our purposes: (1) this is an internal API, (2) passing many
71+
// datapoint IDs in the URL may break
6972
export async function DELETE(
7073
req: NextRequest,
7174
props: { params: Promise<{ projectId: string; datasetId: string }> }
7275
): Promise<Response> {
7376
const params = await props.params;
7477

7578
try {
76-
const searchParams = req.nextUrl.searchParams;
77-
const datapointIds = searchParams.get("datapointIds")?.split(",");
79+
const body = await req.json();
80+
const datapointIds = body.datapointIds;
7881

7982
if (!datapointIds) {
8083
return new Response("At least one Datapoint ID is required", { status: 400 });

frontend/components/dataset/dataset.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,15 @@ export default function Dataset({ dataset, enableDownloadParquet, publicApiBaseU
121121
async (datapointIds: string[]) => {
122122
try {
123123
const response = await fetch(
124-
`/api/projects/${projectId}/datasets/${dataset.id}/datapoints` + `?datapointIds=${datapointIds.join(",")}`,
124+
`/api/projects/${projectId}/datasets/${dataset.id}/datapoints`,
125125
{
126126
method: "DELETE",
127127
headers: {
128128
"Content-Type": "application/json",
129129
},
130+
body: JSON.stringify({
131+
datapointIds,
132+
}),
130133
}
131134
);
132135
if (!response.ok) {

0 commit comments

Comments
 (0)