AirFryerRecipes/api.php
Christopher Meinhold dd7bdc06f4 Erster Commit
2025-01-19 18:38:13 +01:00

80 lines
2.8 KiB
PHP

<?php
header("Content-Type: application/json");
include('config.php');
include('modules/GetRecipes.php');
// Holen des Endpunkts und der Methode
$request_method = $_SERVER['REQUEST_METHOD'];
$uri = explode('/', trim($_SERVER['REQUEST_URI'], '/'));
$endpoint = isset($uri[0]) ? $uri[0] : null;
$id = isset($uri[1]) ? $uri[1] : null;
// Wenn kein Endpunkt angegeben ist, Fehler zurückgeben
if (!$endpoint) {
echo json_encode(["error" => "Ungültiger Endpunkt"]);
exit;
}
switch ($request_method) {
case 'GET':
if ($endpoint === 'GetRecipes') {
if ($id) {
// Einzelnes Gerät abrufen
$recipe = get_recipes_by_id($id);
if ($recipe) {
echo json_encode($recipe);
} else {
echo json_encode(["error" => "Rezept nicht gefunden"]);
}
} else {
// Alle Geräte abrufen
$recipes = get_all_recipes();
echo json_encode($recipes);
}
} else {
echo json_encode(["error" => "Ungültiger Endpunkt"]);
}
break;
/* case 'POST':
if ($endpoint === 'AddDevice' && $_SERVER['CONTENT_TYPE'] === 'application/json') {
$input = json_decode(file_get_contents('php://input'), true);
if (isset($input['imei'], $input['phone_number'], $input['gps_position'], $input['battery_level'])) {
$id = add_device($input['imei'], $input['phone_number'], $input['gps_position'], $input['battery_level']);
echo json_encode(["message" => "Gerät hinzugefügt", "id" => $id]);
} else {
echo json_encode(["error" => "Ungültige Eingabedaten"]);
}
} else {
echo json_encode(["error" => "Ungültiger Endpunkt"]);
}
break;
case 'PUT':
if ($endpoint === 'UpdateDevice' && $id && $_SERVER['CONTENT_TYPE'] === 'application/json') {
$input = json_decode(file_get_contents('php://input'), true);
if (isset($input['gps_position'], $input['battery_level'])) {
update_device($id, $input['gps_position'], $input['battery_level']);
echo json_encode(["message" => "Gerät aktualisiert"]);
} else {
echo json_encode(["error" => "Ungültige Eingabedaten"]);
}
} else {
echo json_encode(["error" => "Ungültiger Endpunkt"]);
}
break;
case 'DELETE':
if ($endpoint === 'DeleteDevice' && $id) {
delete_device($id);
echo json_encode(["message" => "Gerät gelöscht"]);
} else {
echo json_encode(["error" => "Ungültiger Endpunkt"]);
}
break; */
default:
echo json_encode(["error" => "Ungültige HTTP-Methode"]);
break;
}