This commit is contained in:
ISA
2025-05-28 08:04:34 +02:00
parent 97fbb6fdc1
commit 5f0133d638
107 changed files with 1446 additions and 454 deletions

View File

@@ -0,0 +1,37 @@
<!-- /docs/services/database/area/updateAreaService.md -->
# 🗺️ updateAreaService.js
Service zur Aktualisierung der Koordinaten eines Bereichs (Area) in der Datenbank.
## Verwendung
```js
await updateAreaService({
idLocation: 4,
idMap: 1,
newCoords: { x: 53.219, y: 8.435 }
});
```
## API-Route
```
PUT /api/talas_v5_DB/area/updateArea
```
## Payload
```json
{
"idLocation": 4,
"idMap": 1,
"x": 53.219,
"y": 8.435
}
```
## Rückgabe
- Erfolgreich: JSON mit Erfolgsmeldung
- Fehler: `throw new Error(...)` bei nicht OK

View File

@@ -1,5 +1,22 @@
# fetchDeviceNameByIdService
<!-- /docs/services/database/fetchDeviceNameByIdService.md -->
Liest Gerätenamen über die eigene Next.js-API.
# 🆔 fetchDeviceNameByIdService.js
**Route:** `/api/talas_v5_DB/locationDevice/locationDeviceNameById?idLD={idLD}`
Lädt den Gerätenamen (`name`) anhand der ID (`idLD`) von der API.
## Verwendung
```js
const name = await fetchDeviceNameById(idLD);
```
## API-Route
```
/api/talas_v5_DB/locationDevice/locationDeviceNameById?idLD=...
```
## Rückgabe
- Erfolgreich: Gerätebezeichnung als `string`
- Fehler: `"Unbekannt"`

View File

@@ -1,65 +0,0 @@
# fetchGisLinesService
Lädt Linien-Geometriedaten über die interne Datenbank-API.
---
## 📁 URL-Aufbau
```
/api/talas_v5_DB/gisLines/readGisLines
```
- Die Daten werden nicht über einen WebService geladen, sondern über einen internen Datenbank-Endpunkt im Backend (API Route).
- Es handelt sich um Polyline-Daten (z.B. Kabelverbindungen).
---
## ✅ Rückgabe
```json
[
{
"idLD": 12345,
"idModul": 6,
"points": [
{ "x": 8.123, "y": 53.456 },
{ "x": 8.124, "y": 53.457 }
]
},
...
]
```
- `points[]` enthält die Koordinaten der Liniensegmente
- Die Struktur ist geeignet für Leaflet-Polyline-Rendering
---
## ❗ Unterschied zu `gisLinesStatusSlice` (WebService)
| Eigenschaft | `gisLines` (Datenbank) | `gisLinesStatus` (WebService) |
| ----------- | -------------------------------- | ----------------------------------- |
| Quelle | `/api/talas_v5_DB/gisLines` | `WebServiceMap.asmx/GisLinesStatus` |
| Daten | Liniengeometrien (`points`) | Status, Meldungen, Farben, Werte |
| Typ | Polyline-Rendering | Statusanzeige für Linien |
| Nutzung | Anzeige der Linien auf der Karte | Visualisierung von Fehlern/Farben |
---
## 🧠 Verwendung im Frontend
- Daten werden über `fetchGisLinesThunk` geladen.
- Sie landen im Redux Slice `gisLinesSlice`.
- Zugriff über: `selectGisLines(state)`
---
## 📁 Zugehörige Dateien
| Datei | Zweck |
| ------------------------- | --------------------------- |
| `fetchGisLinesService.js` | Datenbank-Aufruf für Linien |
| `fetchGisLinesThunk.js` | Redux Thunk |
| `gisLinesSlice.js` | Redux Slice |
| `store.js` | Integration des Slices |

View File

@@ -0,0 +1,21 @@
<!-- /docs/services/database/fetchLocationDevicesService.md -->
# 🧰 fetchLocationDevicesService.js
Service zum Abrufen aller Einträge aus der `location_device` Tabelle.
## Verwendung
```js
const result = await fetchLocationDevicesService();
```
## API-Route
```
/api/talas_v5_DB/locationDevice/locationDevices
```
## Rückgabe
- JSON-Array aller Geräte

View File

@@ -1,5 +0,0 @@
# fetchPoiDataService
Lädt POI-Daten über API `/api/talas_v5_DB/pois/getPoiById?idPoi={idPoi}`
- Rückgabe: Objekt mit POI-Infos (id, name, description, idLD)

View File

@@ -0,0 +1,17 @@
<!-- /docs/services/database/fetchPriorityConfigService.md -->
# 🎯 fetchPriorityConfigService.js
Service zum Abrufen der Prioritätskonfiguration für POIs oder Marker.
## Verwendung
```js
const result = await fetchPriorityConfigService();
```
## API-Route
```
/api/talas_v5_DB/priorityConfig
```

View File

@@ -0,0 +1,22 @@
<!-- /docs/services/database/getDeviceIdByNameService.md -->
# 🆔 getDeviceIdByNameService.js
Service zur Ermittlung der Geräte-ID (`idLD`) anhand eines Gerätenamens.
## Verwendung
```js
const id = await getDeviceIdByNameService("CPL-V4");
```
## API-Route
```
/api/talas_v5_DB/locationDevice/getDeviceId?deviceName=...
```
## Rückgabe
- Erfolgreich: `idLD` (number)
- Fehler: Exception

View File

@@ -0,0 +1,21 @@
<!-- /docs/services/database/fetchLocationDevicesService.md -->
# 🧰 fetchLocationDevicesService.js
Service zum Abrufen aller Einträge aus der `location_device` Tabelle.
## Verwendung
```js
const result = await fetchLocationDevicesService();
```
## API-Route
```
/api/talas_v5_DB/locationDevice/locationDevices
```
## Rückgabe
- JSON-Array aller Geräte

View File

@@ -0,0 +1,22 @@
<!-- /docs/services/database/pois/addPoiService.md -->
# addPoiService.js
Service zum Hinzufügen eines neuen POIs in der Datenbank.
## Verwendung
```js
await addPoiService({
name: "Beispiel",
poiTypeId: 1,
idLD: 12,
latitude: 53.21,
longitude: 8.43
});
```
## API
- Endpoint: `POST /api/talas_v5_DB/pois/addPoi`
- Headers: `"Content-Type": "application/json"`

View File

@@ -0,0 +1,15 @@
<!-- /docs/services/database/pois/deletePoiService.md -->
# ❌ deletePoiService.js
Service zum Löschen eines POIs aus der Datenbank per ID.
## Verwendung
```js
await deletePoiService(id);
```
## API
- Endpoint: `DELETE /api/talas_v5_DB/pois/deletePoi?id=ID`

View File

@@ -0,0 +1,15 @@
<!-- /docs/services/database/pois/fetchPoiDataByIdService.md -->
# 🔍 fetchPoiDataByIdService.js
Service zum Abrufen der POI-Daten anhand einer POI-ID.
## Verwendung
```js
const poi = await fetchPoiDataService(idPoi);
```
## API
- Endpoint: `GET /api/talas_v5_DB/pois/getPoiById?idPoi=ID`

View File

@@ -0,0 +1,15 @@
<!-- /docs/services/database/pois/fetchPoiDataService.md -->
# 📄 fetchPoiDataService.js
Lädt POI-Icons (alias `poiData`) aus dem Serververzeichnis.
## Verwendung
```js
const data = await fetchPoiDataService();
```
## API
- Endpoint: `GET /api/talas_v5_DB/pois/poi-icons`

View File

@@ -0,0 +1,15 @@
<!-- /docs/services/database/pois/fetchPoiIconsDataService.md -->
# 🖼️ fetchPoiIconsDataService.js
Service zum Abrufen der POI-Icon-Metadaten.
## Verwendung
```js
const icons = await fetchPoiIconsDataService();
```
## API
- Endpoint: `GET /api/talas_v5_DB/pois/poi-icons`

View File

@@ -0,0 +1,15 @@
<!-- /docs/services/database/pois/fetchPoiMarkersService.md -->
# 📍 fetchPoiMarkersService.js
Service zum Abrufen aller gespeicherten POI-Marker (Positionen).
## Verwendung
```js
const pois = await fetchPoiMarkersService();
```
## API
- Endpoint: `GET /api/talas_v5_DB/pois/readAllPOIs`

View File

@@ -0,0 +1,15 @@
<!-- /docs/services/database/pois/fetchPoiTypService.md -->
# 🗂️ fetchPoiTypService.js
Service zum Abrufen aller verfügbaren POI-Typen aus der Datenbank.
## Verwendung
```js
const types = await fetchPoiTypService();
```
## API
- Endpoint: `GET /api/talas_v5_DB/poiTyp/readPoiTyp`

View File

@@ -0,0 +1,21 @@
<!-- /docs/services/database/pois/updatePoiService.md -->
# 📝 updatePoiService.js
Service zur Aktualisierung eines POIs mit neuen Informationen.
## Verwendung
```js
await updatePoiService({
idPoi: 5,
description: "Neuer Text",
idLD: 3,
idPoiTyp: 1
});
```
## API
- Endpoint: `POST /api/talas_v5_DB/pois/updatePoi`
- Body: JSON mit den zu aktualisierenden Feldern

View File

@@ -0,0 +1,19 @@
<!-- /docs/services/database/polylines/fetchGisLinesService.md -->
# 📡 fetchGisLinesService.js
Service zum Abrufen aller Linien aus der `gisLines`-Tabelle der Datenbank.
## Verwendung
```js
const lines = await fetchGisLinesService();
```
## API
- Endpoint: `GET /api/talas_v5_DB/gisLines/readGisLines`
## Rückgabe
- JSON-Array mit allen Linien und ihren Koordinaten

View File

@@ -0,0 +1,24 @@
<!-- /docs/services/database/polylines/updatePolylineCoordinatesService.md -->
# 🧭 updatePolylineCoordinatesService.js
Service zum Aktualisieren der Koordinaten einer Linie in der Datenbank.
## Verwendung
```js
await updatePolylineCoordinatesService({
idLD: 5,
idModul: 1,
newCoordinates: [[53.2, 8.4], [53.21, 8.45]]
});
```
## API
- Endpoint: `POST /api/talas_v5_DB/gisLines/updateLineCoordinates`
- Headers: `{ "Content-Type": "application/json" }`
## Fehlerbehandlung
- Bei Fehler: `throw new Error(...)` mit Backend-Meldung

View File

@@ -1,6 +1,21 @@
# updateLocationInDatabaseService
<!-- /docs/services/database/updateLocationInDatabaseService.md -->
Aktualisiert die Position eines POIs in der Datenbank.
# 📍 updateLocationInDatabaseService.js
- Methode: `POST`
- Route: `/api/talas_v5_DB/pois/updateLocation`
Service zur Aktualisierung der Geokoordinaten eines POIs in der Datenbank.
## Verwendung
```js
await updateLocationInDatabaseService(id, lat, lng);
```
## API-Route
```
/api/talas_v5_DB/pois/updateLocation
```
## Methode
- `POST` mit JSON-Body: `{ id, latitude, longitude }`

View File

@@ -1,6 +1,46 @@
# fetchWithTimeout
<!-- /docs/services/utils/fetchWithTimeout.md -->
Hilfsfunktion für Fetch mit Abbruch bei Timeout.
# ⏱️ fetchWithTimeout.js
- Parameter: URL, Optionen, Timeout (default: 5000ms)
- Nutzt `AbortController`
Hilfsfunktion zur Durchführung eines `fetch`-Requests mit einem Timeout.
---
## 💡 Zweck
Manche Serveranfragen können hängen bleiben. Diese Funktion sorgt dafür, dass eine Anfrage nach einer bestimmten Zeit abgebrochen wird, um UI-Blockierungen oder lange Wartezeiten zu vermeiden.
---
## 🧩 Funktion
```js
fetchWithTimeout(url, options, timeout);
```
- `url`: Ziel-URL
- `options`: Fetch-Optionen (Headers, Methode etc.)
- `timeout`: Zeit in Millisekunden (Standard: 5000ms)
---
## Beispiel
```js
const response = await fetchWithTimeout("/api/data", {}, 3000);
```
---
## Verhalten
- Verwendet `AbortController` zur Abbruchsteuerung
- Gibt den `fetch`-Response oder einen Fehler zurück
---
## Pfad
```
/services/utils/fetchWithTimeout.js
```

View File

@@ -1,3 +1,5 @@
<!-- /docs/services/webservice/fetchGisLinesStatusService.md -->
# fetchGisLinesStatusService
Lädt Linienstatus-Daten über den TALAS WebService.
@@ -10,8 +12,8 @@ Lädt Linienstatus-Daten über den TALAS WebService.
/ClientData/WebServiceMap.asmx/GisLinesStatus?idMap={idMap}
```
* Die `idMap` wird automatisch aus der URL (`?m=...`) gelesen.
* Diese WebService-Antwort enthält ein Objekt mit dem Feld `Statis[]`.
- Die `idMap` wird automatisch aus der URL (`?m=...`) gelesen.
- Diese WebService-Antwort enthält ein Objekt mit dem Feld `Statis[]`.
---
@@ -24,8 +26,8 @@ Lädt Linienstatus-Daten über den TALAS WebService.
}
```
* `Statis[]` enthält Statusinformationen zu Linien (Farben, Meldungen, Werte).
* Diese Daten sind **nicht identisch** mit `gisLines.data` aus der Datenbank.
- `Statis[]` enthält Statusinformationen zu Linien (Farben, Meldungen, Werte).
- Diese Daten sind **nicht identisch** mit `gisLines.data` aus der Datenbank.
---
@@ -42,9 +44,9 @@ Lädt Linienstatus-Daten über den TALAS WebService.
## 🧠 Verwendung im Frontend
* Die Daten werden über `fetchGisLinesStatusThunk` geladen.
* Sie landen im Redux Slice `gisLinesStatusSlice`.
* Zugriff über: `selectGisLinesStatus(state)` → enthält `.data`, `.status`, `.error`
- Die Daten werden über `fetchGisLinesStatusThunk` geladen.
- Sie landen im Redux Slice `gisLinesStatusSlice`.
- Zugriff über: `selectGisLinesStatus(state)` → enthält `.data`, `.status`, `.error`
---

View File

@@ -1,8 +1,16 @@
# fetchGisStationsMeasurementsService
<!-- /docs/services/webservice/fetchGisStationsMeasurementsService.md -->
Lädt GIS-Messwerte über den TALAS WebService.
# 📈 fetchGisStationsMeasurementsService.js
**URL-Aufbau:** `/ClientData/WebServiceMap.asmx/GisStationsMeasurements?idMap={idMap}&idUser={idUser}`
Lädt Schleifen- und Isolationswerte für Stationen.
- Holt Daten direkt basierend auf der URL (?m= & ?u=).
- Rückgabewert: `Statis[]`
## Verwendung
```js
const messwerte = await fetchGisStationsMeasurementsService();
```
## API-Aufruf
- Endpoint: `/ClientData/WebServiceMap.asmx/GisStationsMeasurements?idMap=...&idUser=...`
- Rückgabe: `Statis[]`

View File

@@ -1,8 +1,16 @@
# fetchGisStationsStaticDistrictService
<!-- /docs/services/webservice/fetchGisStationsStaticDistrictService.md -->
Lädt GIS-Stationen (statisch) für Bezirke.
# 🧭 fetchGisStationsStaticDistrictService.js
**Rückgabe:** `Points[]`
Lädt Koordinateninformationen (`Points[]`) aller Stationen im aktuellen Bezirk.
- Holt `idMap` und `idUser` aus der URL.
- WebService: `GisStationsStaticDistrict`
## Verwendung
```js
const points = await fetchGisStationsStaticDistrictService();
```
## API-Aufruf
- Endpoint: `/ClientData/WebServiceMap.asmx/GisStationsStaticDistrict?idMap=...&idUser=...`
- Rückgabe: `Points[]`

View File

@@ -1,7 +1,16 @@
# fetchGisStationsStatusDistrictService
<!-- /docs/services/webservice/fetchGisStationsStatusDistrictService.md -->
Lädt den Status der GIS-Bezirksstationen.
# 🚦 fetchGisStationsStatusDistrictService.js
**Rückgabe:** `Statis[]`
Service zum Abrufen des Status aller Stationen im aktuellen Bezirk.
- Nutzt die WebService-URL `GisStationsStatusDistrict`.
## Verwendung
```js
const result = await fetchGisStationsStatusDistrictService();
```
## API-Aufruf
- Endpoint: `/ClientData/WebServiceMap.asmx/GisStationsStatusDistrict?idMap=...&idUser=...`
- Rückgabe: `Statis[]`

View File

@@ -1,6 +1,16 @@
# fetchGisSystemStaticService
<!-- /docs/services/webservice/fetchGisSystemStaticService.md -->
Lädt Systemübersicht vom GIS WebService.
# 🧱 fetchGisSystemStaticService.js
- Rückgabe: `Systems[]`
- Liest `?m` und `?u` aus der URL.
Service zur Abfrage von Systemdaten aller Module aus dem Webservice.
## Verwendung
```js
const systems = await fetchGisSystemStaticService();
```
## API-Aufruf
- Endpoint: `/ClientData/WebServiceMap.asmx/GisSystemStatic?idMap=...&idUser=...`
- Rückgabe: `Systems[]`

View File

@@ -1,6 +1,16 @@
# fetchUserRightsService
<!-- /docs/services/webservice/fetchUserRightsService.md -->
Lädt Benutzerrechte über WebService.
# 🔐 fetchUserRightsService.js
- Falls `USE_MOCK_API` gesetzt ist → werden Fake-Daten zurückgegeben.
- Rückgabe: Liste von `IdRight`
Lädt die Benutzerrechte über den TALAS WebService.
## Verwendung
```js
const rights = await fetchUserRightsService();
```
## API-Aufruf
- Endpoint: `/ClientData/WebServiceMap.asmx/GisSystemStatic?idMap=...&idUser=...`
- Rückgabe: `Rights[]` (Fallback: `[]`)