feat: garden care reminder bodies, task sync, upload cleanup

- care reminders now fire with plant-specific body ("Time to water Pothos")
  via title/body columns on the reminders table (migration 0016)
- bi-directional task sync: checking off a garden-linked task list item
  creates a care log; logging care from garden marks the linked task done
  (list_items.metadata stores gardenPlantId + gardenCareType linkage)
- upload error response no longer leaks debug detail; error message
  corrected from "5 MB" to "100 MB"
This commit is contained in:
ginnoir
2026-06-01 23:58:00 -05:00
parent dd980c6932
commit 7f2c5a44dd
12 changed files with 205 additions and 28 deletions
+2 -9
View File
@@ -37,7 +37,7 @@ export async function POST(request: Request) {
}
if (file.size > MAX_FILE_SIZE) {
return NextResponse.json({ error: "File exceeds 5 MB limit" }, { status: 413 });
return NextResponse.json({ error: "File exceeds 100 MB limit" }, { status: 413 });
}
const rawExt = file.name.split(".").pop() ?? "bin";
@@ -54,15 +54,8 @@ export async function POST(request: Request) {
"Content-Type": file.type,
});
} catch (err) {
const msg = err instanceof Error ? err.message : String(err);
console.error("Upload failed", err);
return NextResponse.json(
{
error: "Upload service unavailable",
detail: process.env.NODE_ENV !== "production" ? msg : undefined,
},
{ status: 503 },
);
return NextResponse.json({ error: "Upload service unavailable" }, { status: 503 });
}
return NextResponse.json({ url: `/api/uploads/${key}` });