From 255ec6fd259f7b5d3e51c04471a35e5c3193d01b Mon Sep 17 00:00:00 2001 From: kertenkerem Date: Thu, 8 Jan 2026 02:09:34 +0300 Subject: [PATCH] refactor: improve branch update logic with explicit field selection and robust hallCount parsing, and enhance error handling in branch API endpoints --- prisma/dev.db | Bin 86016 -> 86016 bytes src/app/api/branches/[id]/route.ts | 13 +++++++++---- src/app/api/branches/route.ts | 4 ++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/prisma/dev.db b/prisma/dev.db index 5b73134e226e328b92d4969f73e54c7fe4d483e9..a97ca338844baa18c7e21fc7244ca34c6970ae2c 100644 GIT binary patch delta 97 zcmZozz}m2Yb%Hdb@I)DBM&XSK%k?HT9m cS6Zy#oS4Emd)A`DUl6i+qy6@c_Kf}l07(lNegFUf diff --git a/src/app/api/branches/[id]/route.ts b/src/app/api/branches/[id]/route.ts index 5682546..264b54c 100644 --- a/src/app/api/branches/[id]/route.ts +++ b/src/app/api/branches/[id]/route.ts @@ -23,15 +23,20 @@ export async function PUT( try { const { id } = await params; const json = await request.json(); + + // Explicitly selecting fields to update to avoid spreading unwanted fields (like id) const branch = await prisma.branch.update({ where: { id }, data: { - ...json, - hallCount: json.hallCount ? parseInt(json.hallCount) : undefined + name: json.name, + address: json.address, + phone: json.phone, + hallCount: (json.hallCount !== undefined && json.hallCount !== '') ? parseInt(json.hallCount.toString()) : undefined }, }); return NextResponse.json(branch); - } catch (error) { - return NextResponse.json({ error: 'Failed' }, { status: 500 }); + } catch (error: any) { + console.error('Branch update error:', error); + return NextResponse.json({ error: 'Failed to update branch', details: error.message }, { status: 500 }); } } diff --git a/src/app/api/branches/route.ts b/src/app/api/branches/route.ts index 6de689d..6baac78 100644 --- a/src/app/api/branches/route.ts +++ b/src/app/api/branches/route.ts @@ -21,7 +21,7 @@ export async function POST(request: Request) { } }); return NextResponse.json(branch); - } catch (error) { - return NextResponse.json({ error: 'Failed to create branch' }, { status: 500 }); + } catch (error: any) { + return NextResponse.json({ error: 'Failed to create branch', details: error.message }, { status: 500 }); } }