<?php
// ============================================================
//  Team-Backend (GERUEST)  -  Nordfracht Sendungsportal (LF8)
//  Aufgabe (Stretch): Fuellt die TODO-Stellen so aus, dass der
//  API-Vertrag eingehalten wird. Testet mit eurem C#-Client.
//
//  Starten:   php -S localhost:8000 backend_geruest.php
// ============================================================

header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: X-Api-Key, Content-Type');

$API_KEY = 'nordfracht-2026';
$DATEI   = (getenv('DATA_DIR') ?: __DIR__) . '/auftraege.json';

function sende($status, $daten, $location = null) {
    http_response_code($status);
    if ($location !== null) header('Location: ' . $location);
    echo json_encode($daten, JSON_UNESCAPED_UNICODE);
    exit;
}

// 1) Authentifizierung
//    TODO: X-Api-Key aus dem Header lesen ($_SERVER['HTTP_X_API_KEY'])
//          und mit $API_KEY vergleichen. Stimmt er nicht -> sende(401, ...).

// 2) Daten laden
//    TODO: Liste aus $DATEI (JSON) laden. Existiert die Datei nicht,
//          mit einer leeren Liste (oder Startdaten) beginnen.
$liste = array();

// 3) Routing
$methode = $_SERVER['REQUEST_METHOD'];
$pfad    = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);

//    TODO: die drei Faelle des API-Vertrags umsetzen:
//      GET  /auftraege         -> 200 + Liste
//      GET  /auftraege/{id}    -> 200 + Auftrag   oder 404
//      POST /auftraege         -> 201 + neuer Auftrag (+ Location)  oder 400
//    Tipp: den Pfad mit preg_match('#^/auftraege(?:/(\d+))?/?$#', $pfad, $m) zerlegen.

sende(404, array('error' => 'Noch nicht implementiert'));
