## Validierung für Update (ServiceLevel)
**Für den Update-Vorgang gibt es eine Validierungslogik, die sicherstellt, dass die Daten wie Name und Definition die vorgegebenen Beschränkungen (z.B. maximale Zeichenanzahl) erfüllen. Diese Funktionen ermöglichen eine effiziente Verwaltung und Aktualisierung von Service Level-Daten innerhalb der Anwendung.**
Die folgenden Felder können im Update-Endpunkt validiert werden:
- `name`: optional, string, max. 255 Zeichen
- `definition`: optional, string, max. 40000 Zeichen
- `calculation`: optional, string, max. 40000 Zeichen
- `measuring_points`: optional, string, max. 40000 Zeichen
#### 4. Destroy
**Mit der Methode DELETE und der URL /api/serviceLevels/{id} kann ein spezifischer Service Level gelöscht werden. Bei Erfolg meldet der Server einen 200 OK Status. Fehlt der Service Level, wird ein 404 Not Found Status ausgegeben, und bei Serverfehlern ein 500 Internal Server Error.**
- **Methode**: DELETE
- **URL**: /api/serviceLevels/{id}
- **Beschreibung**: Löscht einen spezifischen Service Level.
- **Erfolgsantwort**:
- Status: 200 OK
- Beispiel:
```json
{
"status": "success",
"message": "deleted"
}
```
- **Fehlerantwort**:
- Status: 404 Not Found
- Beispiel:
```json
{
"status": "error",
"message": "Service level not found"
}
```
- Status: 500 Internal Server Error
- Beispiel:
```json
{
"status": "error",
"message": "Failed to delete service level"
}
```
#### 3. Update
**Durch die Methoden PUT oder PATCH an der URL /api/serviceLevels/{id} können Details eines bestimmten Service Levels aktualisiert werden. Bei Erfolg wird der Status 200 OK mit einer Bestätigungsmeldung zurückgegeben. Wenn der Service Level nicht gefunden wird, resultiert dies in einem 404 Not Found Status, bei Validierungsfehlern in einem 422 Unprocessable Entity und bei Serverproblemen in einem 500 Internal Server Error.**
- **Methode**: PUT/PATCH
- **URL**: /api/serviceLevels/{id}
- **Beschreibung**: Aktualisiert die Details eines spezifischen Service Levels.
- **Erfolgsantwort**:
- Status: 200 OK
- Beispiel:
```json
{
"status": "success",
"message": "updated",
"serviceLevel": {...}
}
```
- **Fehlerantwort**:
- Status: 404 Not Found
- Beispiel:
```json
{
"status": "error",
"message": "Service level not found"
}
```
- Status: 422 Unprocessable Entity
- Beispiel:
```json
{
"status": "error",
"message": "Validation failed"
}
```
- Status: 500 Internal Server Error
- Beispiel:
```json
{
"status": "error",
"message": "Failed to update service level"
}
```
#### 2. Show
**Über die Methode GET und die URL /api/serviceLevels/{id} können Details zu einem spezifischen Service Level abgerufen werden. Die erfolgreiche Abfrage resultiert in einem 200 OK Status mit den Details des Service Levels. Fehlt der Service Level, gibt es einen 404 Not Found Status, und bei Serverproblemen einen 500 Internal Server Error.**
- **Methode**: GET
- **URL**: /api/serviceLevels/{id}
- **Beschreibung**: Ruft die Details eines spezifischen Service Levels ab.
- **Erfolgsantwort**:
- Status: 200 OK
- Beispiel:
```json
{
"status": "success",
"message": "fetched",
"serviceLevel": {...}
}
```
- **Fehlerantwort**:
- Status: 404 Not Found
- Beispiel:
```json
{
"status": "error",
"message": "Service level not found"
}
```
- Status: 500 Internal Server Error
- Beispiel:
```json
{
"status": "error",
"message": "Failed to fetch service level"
}
```
#### 1. Index
**Diese Funktion wird über die Methode GET und die URL /api/serviceLevels aufgerufen und holt eine Liste aller Service Levels, die nach ihrem Erstellungsdatum in aufsteigender Reihenfolge sortiert sind. Bei Erfolg gibt der Server den Status 200 OK mit einer Erfolgsmeldung und den Service Level-Daten zurück. Bei einem Serverfehler wird der Status 500 Internal Server Error ausgegeben.**
- **Methode**: GET
- **URL**: /api/serviceLevels
- **Beschreibung**: Ruft eine Liste aller Service Levels ab, sortiert nach Erstellungsdatum in aufsteigender Reihenfolge.
- **Erfolgsantwort**:
- Status: 200 OK
- Beispiel:
```json
{
"status": "success",
"message": "fetched",
"serviceLevels": [...]
}
```
- **Fehlerantwort**:
- Status: 500 Internal Server Error
- Beispiel:
```json
{
"status": "error",
"message": "Failed to fetch service levels"
}
```