Files
Benjamin Boenisch 5a31f52310 Initial commit: breakpilot-lehrer - Lehrer KI Platform
Services: Admin-Lehrer, Backend-Lehrer, Studio v2, Website,
Klausur-Service, School-Service, Voice-Service, Geo-Service,
BreakPilot Drive, Agent-Core

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:47:26 +01:00

78 lines
1.9 KiB
TypeScript

/**
* Night Mode API Route
*
* Proxy für den night-scheduler Service (Port 8096)
* GET - Status abrufen
* POST - Konfiguration speichern
*/
import { NextRequest, NextResponse } from 'next/server'
const NIGHT_SCHEDULER_URL = process.env.NIGHT_SCHEDULER_URL || 'http://night-scheduler:8096'
export async function GET() {
try {
const response = await fetch(`${NIGHT_SCHEDULER_URL}/api/night-mode`, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
},
cache: 'no-store',
})
if (!response.ok) {
const error = await response.text()
return NextResponse.json(
{ error: `Night-Scheduler Fehler: ${error}` },
{ status: response.status }
)
}
const data = await response.json()
return NextResponse.json(data)
} catch (error) {
console.error('Night-Mode API Error:', error)
return NextResponse.json(
{
error: 'Night-Scheduler nicht erreichbar',
details: error instanceof Error ? error.message : 'Unbekannter Fehler',
},
{ status: 503 }
)
}
}
export async function POST(request: NextRequest) {
try {
const body = await request.json()
const response = await fetch(`${NIGHT_SCHEDULER_URL}/api/night-mode`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(body),
})
if (!response.ok) {
const error = await response.text()
return NextResponse.json(
{ error: `Night-Scheduler Fehler: ${error}` },
{ status: response.status }
)
}
const data = await response.json()
return NextResponse.json(data)
} catch (error) {
console.error('Night-Mode API Error:', error)
return NextResponse.json(
{
error: 'Night-Scheduler nicht erreichbar',
details: error instanceof Error ? error.message : 'Unbekannter Fehler',
},
{ status: 503 }
)
}
}