# 📘 API-Routen in `/pages/api/`

Dieses Dokument beschreibt die internen API-Routen der Anwendung (Next.js API Routes) und erklärt die verwendeten URL-Parameter sowie Konventionen bei der Nutzung im Backend.

---

## 🔗 Übergabeparameter aus TALAS.web

Beim Aufruf der Anwendung über TALAS.web werden die folgenden URL-Parameter übergeben:

| Parameter | Bedeutung       | Verwendung im Code       |
|-----------|------------------|---------------------------|
| `m`       | Map-ID (`idMap`) | `req.query.m`             |
| `u`       | User-ID (`idUser`)| `req.query.u`             |

> ⚠️ Es wird bewusst **nicht** `idMap` oder `idUser` verwendet, da TALAS mit Kurzparametern arbeitet.

### Beispiel:

```ts
const idMap = req.query.m;
const idUser = req.query.u;
```

---

## 🛠 Zweck des Verzeichnisses `/pages/api/`

Alle Dateien in diesem Verzeichnis definieren serverseitige Endpunkte. Diese:

- werden **nur auf dem Server ausgeführt**
- sind über `fetch('/api/...')` vom Frontend aufrufbar
- dienen als **Proxy zu SOAP-Webservices** oder **Zugriff auf die Datenbank**

---

## 📁 Beispiel: Aufruf eines Webservice

```bash
GET /api/gisSystemStatic?m=10&u=484
```

Dieser Request wird serverseitig weitergeleitet an:

```
http://[SERVER]/talas5/ClientData/WebServiceMap.asmx/GisSystemStatic?idMap=10&idUser=484
```

---

## 📄 Übersicht interner API-Routen

| API-Route                        | Beschreibung                             |
|----------------------------------|------------------------------------------|
| `/api/gisSystemStatic`           | Proxy zu WebService GisSystemStatic      |
| `/api/gisStationsStaticDistrict` | Geräte-Liste inkl. Bereich                |
| `/api/gisStationsMeasurements`   | Live-Messwerte der Geräte                |
| `/api/talas_v5_DB/pois/readLocations` | POIs aus der Datenbank (MySQL)       |
| `/api/talas_v5_DB/device/getAllStationsNames` | Gerätnamen aus DB              |

---

## 🔐 Sicherheitshinweis

- Kein sensibler Parameter darf hart codiert sein
- Alle Server-URLs werden über `.env.local` konfiguriert
- Nur `m` und `u` aus `req.query` verwenden – keine Fallbacks oder Defaults