refactor: Move API-Endpoint-Functions to /api/talas_v5_DB/ folder for better organization

This commit is contained in:
ISA
2024-06-14 14:06:32 +02:00
parent c8ac4ebdb7
commit d220d0baae
18 changed files with 117 additions and 96 deletions

View File

@@ -3,11 +3,9 @@
import React, { useState, useEffect } from "react";
import { useRecoilValue } from "recoil";
import { selectedPoiState } from "../store/atoms/poiState";
import { currentPoiState } from '../store/atoms/currentPoiState';
import { currentPoiState } from "../store/atoms/currentPoiState";
const PoiUpdateModal = ({ onClose, poiData }) => {
const currentPoi = useRecoilValue(currentPoiState);
const selectedPoi = useRecoilValue(selectedPoiState);
const [poiId, setPoiId] = useState(poiData ? poiData.idPoi : "");
@@ -18,8 +16,6 @@ const PoiUpdateModal = ({ onClose, poiData }) => {
const [deviceName, setDeviceName] = useState("");
const [idLD, setIdLD] = useState(poiData ? poiData.idLD : "");
const [idLocationDevice, setIdLocationDevice] = useState("");
const [description, setDescription] = useState(
poiData ? poiData.description : ""
@@ -44,7 +40,7 @@ const PoiUpdateModal = ({ onClose, poiData }) => {
}
}, [poiData]);
/* const fetchDeviceNameById = async (idLD) => {
/* const fetchDeviceNameById = async (idLD) => {
try {
const response = await fetch(`/api/getDeviceNameById?idLD=${idLD}`);
const data = await response.json();
@@ -54,9 +50,9 @@ const PoiUpdateModal = ({ onClose, poiData }) => {
}
}; */
/* const fetchDeviceNameById = async (idLD) => {
/* const fetchDeviceNameById = async (idLD) => {
try {
const response = await fetch(`/api/locationDeviceNameById?idLD=${idLD}`);
const response = await fetch(`/api/talas_v5_DB/locationDevice/locationDeviceNameById?idLD=${idLD}`);
const data = await response.json();
setDeviceName(data.deviceName);
} catch (error) {
@@ -70,7 +66,7 @@ const PoiUpdateModal = ({ onClose, poiData }) => {
if (poiData && poiData.idLD) {
try {
const response = await fetch(
`/api/getDeviceIdById?idLD=${poiData.idLD}`
`/api/talas_v5_DB/locationDevice/getDeviceIdById?idLD=${poiData.idLD}`
);
const data = await response.json();
if (data) setDeviceName(data.name);
@@ -87,9 +83,12 @@ const PoiUpdateModal = ({ onClose, poiData }) => {
const handleDeletePoi = async () => {
if (confirm("Sind Sie sicher, dass Sie diesen POI löschen möchten?")) {
try {
const response = await fetch(`/api/deletePoi?id=${poiId}`, {
method: "DELETE",
});
const response = await fetch(
`/api/talas_v5_DB/pois/deletePoi?id=${poiId}`,
{
method: "DELETE",
}
);
if (response.ok) {
alert("POI wurde erfolgreich gelöscht.");
onClose(); // Close the modal
@@ -109,11 +108,11 @@ const PoiUpdateModal = ({ onClose, poiData }) => {
useEffect(() => {
const fetchPoiTypData = async () => {
try {
const response = await fetch("/api/readPoiTyp");
const response = await fetch("/api/talas_v5_DB/poiTyp/readPoiTyp");
const data = await response.json();
setPoiTypData(data);
if (selectedPoi && data) {
const matchingType = data.find(pt => pt.name === selectedPoi.typ);
const matchingType = data.find((pt) => pt.name === selectedPoi.typ);
if (matchingType) {
setPoiTypeId(matchingType.idPoiTyp);
}
@@ -151,43 +150,44 @@ const PoiUpdateModal = ({ onClose, poiData }) => {
};
fetchData();
}, []);
//--------------------------------------------------------------------------------------------
// Fetch device name basierend auf der Geräte-ID
//--------------------------------------------------------------------------------------------
// Fetch device name basierend auf der Geräte-ID
useEffect(() => {
console.log("currentPoi von PoiUpdateModal.js : ", currentPoi.idLD);
fetch('/api/locationDevices')
.then(response => response.json())
.then(data => {
setLocationDeviceData(data);
console.log("Standort- und Gerätedaten 3:", data);
console.log("Standort- und Gerätedaten 3 poiData:", poiData);
// Findet das Gerät, das der aktuellen IDLD entspricht
const currentDevice = data.find(device => device.idLD === currentPoi.idLD);
if (currentDevice) {
setDeviceName(currentDevice.name);
}
})
.catch(error => {
console.error('Fehler beim Abrufen der Gerätedaten:', error);
setLocationDeviceData([]);
});
}, [poiData?.idLD,currentPoi]);
useEffect(() => {
console.log("currentPoi von PoiUpdateModal.js : ", currentPoi.idLD);
fetch("/api/talas_v5_DB/locationDevice/locationDevices")
.then((response) => response.json())
.then((data) => {
setLocationDeviceData(data);
console.log("Standort- und Gerätedaten 3:", data);
console.log("Standort- und Gerätedaten 3 poiData:", poiData);
// Findet das Gerät, das der aktuellen IDLD entspricht
const currentDevice = data.find(
(device) => device.idLD === currentPoi.idLD
);
if (currentDevice) {
setDeviceName(currentDevice.name);
}
})
.catch((error) => {
console.error("Fehler beim Abrufen der Gerätedaten:", error);
setLocationDeviceData([]);
});
}, [poiData?.idLD, currentPoi]);
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
// Angenommen, deviceName enthält die Geräte-ID
//const idLD = deviceName; // Stellen Sie sicher, dass dies eine ID ist und kein Name
const handleSubmit = async (event) => {
event.preventDefault();
const idLDResponse = await fetch(
`/api/getDeviceId?deviceName=${encodeURIComponent(deviceName)}`
`/api/talas_v5_DB/locationDevice/getDeviceId?deviceName=${encodeURIComponent(deviceName)}`
);
const idLDData = await idLDResponse.json();
const idLD = idLDData.idLD;
try {
const response = await fetch("/api/updatePoi", {
const response = await fetch("/api/talas_v5_DB/pois/updatePoi", {
method: "POST",
headers: {
"Content-Type": "application/json",
@@ -220,9 +220,15 @@ useEffect(() => {
//ausgewählte poi Informationen in Console anzeigen
console.log("Selected POI:", selectedPoi);
console.log("Selected POI Gerät id in poiUpdateModal.js:", selectedPoi.id);
console.log("Selected POI Typ name in poiUpdateModal.js:", selectedPoi.typ);//als Typ in dropdown menu
console.log("Selected POI Beschreibung in poiUpdateModal.js:", selectedPoi.description);
console.log("Selected POI Gerät deviceId in poiUpdateModal.js:", selectedPoi.deviceId);
console.log("Selected POI Typ name in poiUpdateModal.js:", selectedPoi.typ); //als Typ in dropdown menu
console.log(
"Selected POI Beschreibung in poiUpdateModal.js:",
selectedPoi.description
);
console.log(
"Selected POI Gerät deviceId in poiUpdateModal.js:",
selectedPoi.deviceId
);
return (
<form onSubmit={handleSubmit} className="m-0 p-2 w-full">
@@ -252,12 +258,16 @@ useEffect(() => {
onChange={(e) => setDeviceName(e.target.value)}
className="block p-2 w-full border-2 border-gray-200 rounded-md text-sm"
>
{locationDeviceData.map((device, index) => (
console.log("device.id und name:", device),
<option key={index} value={device.id}>
{device.name}
</option>
))}
{locationDeviceData.map(
(device, index) => (
console.log("device.id und name:", device),
(
<option key={index} value={device.id}>
{device.name}
</option>
)
)
)}
</select>
</div>