46 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-04-12 20:18:40 +02:00
import { NextResponse, NextRequest } from "next/server";
import { PrismaClient } from '@/lib/generated/prisma'
interface EditRequest {
id: number;
name: string;
os: string;
ip: string;
url: string;
2025-04-12 21:00:18 +02:00
cpu: string;
gpu: string;
ram: string;
disk: string;
2025-04-12 20:18:40 +02:00
}
const prisma = new PrismaClient();
export async function PUT(request: NextRequest) {
try {
const body: EditRequest = await request.json();
2025-04-12 21:00:18 +02:00
const { id, name, os, ip, url, cpu, gpu, ram, disk } = body;
2025-04-12 20:18:40 +02:00
const existingServer = await prisma.server.findUnique({ where: { id } });
if (!existingServer) {
return NextResponse.json({ error: "Server not found" }, { status: 404 });
}
const updatedServer = await prisma.server.update({
where: { id },
2025-04-12 21:00:18 +02:00
data: {
name,
os,
ip,
url,
cpu,
gpu,
ram,
disk
}
2025-04-12 20:18:40 +02:00
});
return NextResponse.json({ message: "Server updated", server: updatedServer });
} catch (error: any) {
return NextResponse.json({ error: error.message }, { status: 500 });
}
}