geraete/app/api/devices/route.ts
2025-11-14 20:16:24 +01:00

40 lines
1.1 KiB
TypeScript

// app/api/devices/route.ts
import { NextResponse } from 'next/server';
import { prisma } from '@/lib/prisma';
export async function GET() {
try {
const devices = await prisma.device.findMany({
include: {
group: true,
location: true,
},
orderBy: {
updatedAt: 'desc',
},
});
const rows = devices.map((device) => ({
inventoryNumber: device.inventoryNumber,
name: device.name,
manufacturer: device.manufacturer,
model: device.model,
serialNumber: device.serialNumber,
productNumber: device.productNumber,
comment: device.comment,
ipv4Address: device.ipv4Address,
ipv6Address: device.ipv6Address,
macAddress: device.macAddress,
username: device.username,
group: device.group?.name ?? null,
location: device.location?.name ?? null,
updatedAt: device.updatedAt.toISOString(),
}));
return NextResponse.json(rows);
} catch (err) {
console.error('[GET /api/devices]', err);
return NextResponse.json({ error: 'INTERNAL_ERROR' }, { status: 500 });
}
}