route.js 791 B

1234567891011121314151617181920212223242526272829303132333435
  1. // app/api/health/route.js
  2. import { NextResponse } from "next/server";
  3. import { getDb } from "@/lib/db";
  4. import fs from "fs/promises";
  5. export async function GET() {
  6. const result = {
  7. db: null,
  8. nas: null,
  9. };
  10. // DB-Check
  11. try {
  12. const db = await getDb();
  13. await db.command({ ping: 1 });
  14. result.db = "ok";
  15. } catch (error) {
  16. result.db = `error: ${error.message}`;
  17. }
  18. // NAS-Check
  19. const nasPath = process.env.NAS_ROOT_PATH || "/mnt/niederlassungen";
  20. try {
  21. const entries = await fs.readdir(nasPath);
  22. result.nas = {
  23. path: nasPath,
  24. entriesSample: entries.slice(0, 5),
  25. };
  26. } catch (error) {
  27. // Lokal auf dem Mac ist der Pfad wahrscheinlich leer oder existiert nicht → Fehler ist ok
  28. result.nas = `error: ${error.message}`;
  29. }
  30. return NextResponse.json(result);
  31. }