58 lines
1.4 KiB
TypeScript
Raw Permalink Normal View History

2025-04-12 12:33:37 +02:00
import { NextResponse, NextRequest } from "next/server";
2025-04-13 21:10:17 +02:00
import { prisma } from "@/lib/prisma";
2025-04-12 12:33:37 +02:00
interface AddRequest {
host: boolean;
hostServer: number;
2025-04-12 12:33:37 +02:00
name: string;
icon: string;
2025-04-12 12:33:37 +02:00
os: string;
ip: string;
url: string;
2025-04-12 21:00:18 +02:00
cpu: string;
gpu: string;
ram: string;
disk: string;
monitoring: boolean;
monitoringURL: string;
m_cpu: boolean;
m_gpu: boolean;
m_ram: boolean;
m_disk: boolean;
m_temp: boolean;
2025-04-12 12:33:37 +02:00
}
export async function POST(request: NextRequest) {
try {
const body: AddRequest = await request.json();
const { host, hostServer, name, icon, os, ip, url, cpu, gpu, ram, disk, monitoring, monitoringURL, m_cpu, m_gpu, m_ram, m_disk, m_temp } = body;
2025-04-12 12:33:37 +02:00
const server = await prisma.server.create({
data: {
host,
hostServer,
2025-04-12 12:33:37 +02:00
name,
icon,
2025-04-12 12:33:37 +02:00
os,
ip,
url,
2025-04-12 21:00:18 +02:00
cpu,
gpu,
ram,
disk,
monitoring,
monitoringURL,
m_cpu,
m_gpu,
m_ram,
m_disk,
m_temp
2025-04-12 12:33:37 +02:00
}
});
return NextResponse.json({ message: "Success", server });
} catch (error: any) {
return NextResponse.json({ error: error.message }, { status: 500 });
}
}