From 115ff3e2f8b3c5d52801d857f3385ea911dfd2ba Mon Sep 17 00:00:00 2001 From: Sonny Date: Thu, 21 Dec 2023 13:49:15 +0100 Subject: [PATCH] fix: edit category not working when updating name --- src/pages/api/category/[cid].ts | 15 +++++++++++++-- src/pages/category/edit/[cid].tsx | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/pages/api/category/[cid].ts b/src/pages/api/category/[cid].ts index afcb25a..3400e4f 100644 --- a/src/pages/api/category/[cid].ts +++ b/src/pages/api/category/[cid].ts @@ -25,10 +25,9 @@ async function editCategory({ req, res, user }) { } const isCategoryNameAlreadyUsed = await getUserCategoryByName(user, name); - if (isCategoryNameAlreadyUsed.id !== cid) { + if (isCategoryNameAlreadyUsed && isCategoryNameAlreadyUsed?.id !== cid) { throw new Error('Category name already used'); } - if (category.id === nextId) { throw new Error('Category nextId cannot be equal to current category ID'); } @@ -81,6 +80,7 @@ async function editCategory({ req, res, user }) { id: category.id, }, data: { + name, nextId, }, }), @@ -96,6 +96,17 @@ async function editCategory({ req, res, user }) { }), ].filter((a) => a !== null && a !== undefined), ); + } else { + await prisma.category.update({ + where: { + authorId: userId, + id: category.id, + }, + data: { + name, + nextId: category.nextId, + }, + }); } return res.send({ diff --git a/src/pages/category/edit/[cid].tsx b/src/pages/category/edit/[cid].tsx index 64031ee..c9fa75e 100644 --- a/src/pages/category/edit/[cid].tsx +++ b/src/pages/category/edit/[cid].tsx @@ -40,7 +40,7 @@ export default function PageEditCategory({ makeRequest({ url: `${PATHS.API.CATEGORY}/${category.id}`, method: 'PUT', - body: { name }, + body: { name, nextId: category.nextId }, }) .then((data) => router.push(`${PATHS.HOME}?categoryId=${data?.categoryId}`),