import { NextResponse } from 'next/server'; import { SensorConfig } from '@/types/sensor'; // Sensor configuration that matches the API route const SENSOR_CONFIG: SensorConfig[] = [ // Head area - Higher thresholds due to critical nature, faster escalation { id: "head-1", x: 45, y: 15, zone: "head", label: "Head Left", pin: 2, warningThreshold: 3000, alarmThreshold: 3500, warningDelayMs: 30000, // 30 seconds - fast escalation for head baseNoise: 200 }, { id: "head-2", x: 55, y: 15, zone: "head", label: "Head Right", pin: 3, warningThreshold: 3000, alarmThreshold: 3500, warningDelayMs: 30000, // 30 seconds baseNoise: 150 }, // Shoulder area - Moderate thresholds, medium escalation time { id: "shoulder-1", x: 35, y: 25, zone: "shoulders", label: "Left Shoulder", pin: 4, warningThreshold: 2800, alarmThreshold: 3200, warningDelayMs: 45000, // 45 seconds baseNoise: 250 }, { id: "shoulder-2", x: 65, y: 25, zone: "shoulders", label: "Right Shoulder", pin: 5, warningThreshold: 2800, alarmThreshold: 3200, warningDelayMs: 45000, // 45 seconds baseNoise: 220 }, // Upper back - Moderate thresholds, 1 minute escalation { id: "back-1", x: 40, y: 35, zone: "back", label: "Upper Back Left", pin: 6, warningThreshold: 2500, alarmThreshold: 3000, warningDelayMs: 60000, // 1 minute baseNoise: 300 }, { id: "back-2", x: 50, y: 35, zone: "back", label: "Upper Back Center", pin: 7, warningThreshold: 2500, alarmThreshold: 3000, warningDelayMs: 60000, // 1 minute baseNoise: 350 }, { id: "back-3", x: 60, y: 35, zone: "back", label: "Upper Back Right", pin: 8, warningThreshold: 2500, alarmThreshold: 3000, warningDelayMs: 60000, // 1 minute baseNoise: 280 }, // Lower back/Hip area - Lower thresholds, 90 second escalation { id: "hip-1", x: 35, y: 50, zone: "hips", label: "Left Hip", pin: 9, warningThreshold: 2200, alarmThreshold: 2800, warningDelayMs: 90000, // 90 seconds baseNoise: 400 }, { id: "hip-2", x: 50, y: 50, zone: "hips", label: "Lower Back", pin: 10, warningThreshold: 2200, alarmThreshold: 2800, warningDelayMs: 90000, // 90 seconds baseNoise: 450 }, { id: "hip-3", x: 65, y: 50, zone: "hips", label: "Right Hip", pin: 11, warningThreshold: 2200, alarmThreshold: 2800, warningDelayMs: 90000, // 90 seconds baseNoise: 380 }, // Thigh area - Lower thresholds, 2 minute escalation { id: "thigh-1", x: 40, y: 65, zone: "legs", label: "Left Thigh", pin: 12, warningThreshold: 2000, alarmThreshold: 2500, warningDelayMs: 120000, // 2 minutes baseNoise: 320 }, { id: "thigh-2", x: 60, y: 65, zone: "legs", label: "Right Thigh", pin: 13, warningThreshold: 2000, alarmThreshold: 2500, warningDelayMs: 120000, // 2 minutes baseNoise: 300 }, // Calf area (mock data) - Lower thresholds, 2.5 minute escalation { id: "calf-1", x: 40, y: 75, zone: "legs", label: "Left Calf", warningThreshold: 1800, alarmThreshold: 2200, warningDelayMs: 150000, // 2.5 minutes baseNoise: 200 }, { id: "calf-2", x: 60, y: 75, zone: "legs", label: "Right Calf", warningThreshold: 1800, alarmThreshold: 2200, warningDelayMs: 150000, // 2.5 minutes baseNoise: 220 }, // Feet (mock data) - Lowest thresholds, 3 minute escalation { id: "feet-1", x: 45, y: 85, zone: "feet", label: "Left Foot", warningThreshold: 1500, alarmThreshold: 1800, warningDelayMs: 180000, // 3 minutes baseNoise: 150 }, { id: "feet-2", x: 55, y: 85, zone: "feet", label: "Right Foot", warningThreshold: 1500, alarmThreshold: 1800, warningDelayMs: 180000, // 3 minutes baseNoise: 160 }, ]; export async function GET() { try { return NextResponse.json({ success: true, sensors: SENSOR_CONFIG, timestamp: new Date().toISOString() }); } catch (error) { console.error('Sensor config API error:', error); return NextResponse.json({ success: false, error: 'Failed to get sensor configuration', sensors: [], timestamp: new Date().toISOString() }, { status: 500 }); } }