fix(01): align image upload field name and wrap category delete in transaction

This commit is contained in:
2026-03-14 22:58:41 +01:00
parent 950bf2c287
commit 55d47d4e33
2 changed files with 9 additions and 8 deletions

View File

@@ -52,7 +52,7 @@ export async function apiDelete<T>(url: string): Promise<T> {
export async function apiUpload<T>(url: string, file: File): Promise<T> {
const formData = new FormData();
formData.append("file", file);
formData.append("image", file);
const res = await fetch(url, {
method: "POST",
body: formData,

View File

@@ -63,14 +63,15 @@ export function deleteCategory(
return { success: false, error: "Category not found" };
}
// Reassign items to Uncategorized (id=1), then delete
// Use a transaction for atomicity
db.update(items)
.set({ categoryId: 1 })
.where(eq(items.categoryId, id))
.run();
// Reassign items to Uncategorized (id=1), then delete atomically
db.transaction(() => {
db.update(items)
.set({ categoryId: 1 })
.where(eq(items.categoryId, id))
.run();
db.delete(categories).where(eq(categories.id, id)).run();
db.delete(categories).where(eq(categories.id, id)).run();
});
return { success: true };
}