sprintId can now be updated on Issue

This commit is contained in:
Oliver Bryan
2026-01-12 02:43:26 +00:00
parent 30720c0e24
commit ae83e1e424
3 changed files with 23 additions and 3 deletions

View File

@@ -45,7 +45,13 @@ export async function deleteIssue(id: number) {
export async function updateIssue(
id: number,
updates: { title?: string; description?: string; assigneeId?: number | null; status?: string },
updates: {
title?: string;
description?: string;
sprintId?: number | null;
assigneeId?: number | null;
status?: string;
},
) {
return await db.update(Issue).set(updates).where(eq(Issue.id, id)).returning();
}

View File

@@ -12,10 +12,18 @@ export default async function issueUpdate(req: BunRequest) {
const title = url.searchParams.get("title") || undefined;
const description = url.searchParams.get("description") || undefined;
const sprintIdParam = url.searchParams.get("sprintId");
const assigneeIdParam = url.searchParams.get("assigneeId");
const status = url.searchParams.get("status") || undefined;
// Parse assigneeId: "null" means unassign, number means assign, undefined means no change
// parse sprintId: "null" means unassign, number means assign, undefined means no change
let sprintId: number | null | undefined;
if (sprintIdParam === "null") {
sprintId = null;
} else if (sprintIdParam) {
sprintId = Number(sprintIdParam);
}
// same for assigneeId
let assigneeId: number | null | undefined;
if (assigneeIdParam === "null") {
assigneeId = null;
@@ -23,13 +31,14 @@ export default async function issueUpdate(req: BunRequest) {
assigneeId = Number(assigneeIdParam);
}
if (!title && !description && assigneeId === undefined && !status) {
if (!title && !description && sprintId === undefined && assigneeId === undefined && !status) {
return new Response("no updates provided", { status: 400 });
}
const issue = await updateIssue(Number(id), {
title,
description,
sprintId,
assigneeId,
status,
});