OpenAPI-Generator-Setup: - tool/generate_api_client.sh: Direkter Aufruf der openapi-generator-cli.jar (Java-CLI statt Dart-build_runner-Integration — vermeidet die analyzer-/source_gen-Version-Hölle mit json_serializable) - tool/fetch_openapi_generator.sh: lädt die JAR (29 MB) nach (gitignored) - openapi/holzleitner.json: Snapshot der Backend-Spec für reproduzierbare Generation - packages/holzleitner_api/: generiertes Dart-Sub-Package (built_value + dio), per path-dep im Haupt-pubspec eingehängt Netzwerk-Layer (lib/data/network/): - BackendConfig: API- und Keycloak-Endpoints für Local-Dev (localhost wegen Keycloak-iss-Claim). - AuthTokenProvider-Schnittstelle. - DevPasswordGrantTokenProvider: Phase-A-Provider via Keycloak password-grant, Token-Caching mit Expiry-Check (Phase B ersetzt das durch flutter_appauth PKCE). - HolzleitnerAuthInterceptor: dynamischer Bearer-Inject pro Request. - HolzleitnerApiFactory: baut die generierte HolzleitnerApi-Klasse mit unserem Interceptor statt der vier Default-Auth-Interceptors. - network_locator.registerNetworking(): get_it-Setup, in main() vor runApp() aufgerufen. Clean-Arch-Scaffolding (lib/data/, lib/domain/): - Verzeichnisstruktur für Phase C+D angelegt (mapper/, repository/, entity/, repository/) — befüllt sich in den Folge-Phasen. Smoke-Test: - tool/smoke_test_api.dart ruft /health (ungeschützt) und /me/cars (mit Bearer) via generiertem Client — grün gegen lokales Backend.
8.6 KiB
holzleitner_api.api.DeliveriesApi
Load the API package
import 'package:holzleitner_api/api.dart';
All URIs are relative to http://localhost
| Method | HTTP request | Description |
|---|---|---|
| assignCar | PUT /deliveries/{delivery_id}/assigned-car | Setzt das `assigned_car_id` einer Lieferung. `carId: null` löst die Zuordnung wieder. Der Use Case stellt sicher, dass das Fahrzeug zum angemeldeten Account gehört. |
| cancel | POST /deliveries/{delivery_id}/cancel | Setzt die Lieferung auf `canceled` — endgültig. Erlaubt aus `active` und `held`. |
| complete | POST /deliveries/{delivery_id}/complete | Schließt die Lieferung ab — `state = completed`. Nur aus `active`. |
| createNote | POST /deliveries/{delivery_id}/notes | Legt eine neue Notiz an einer Lieferung an. Mindestens eines von `text` und `imageAttachment` muss inhaltlich gefüllt sein (Leerstrings werden serverseitig getrimmt und als leer behandelt). |
| hold | POST /deliveries/{delivery_id}/hold | Setzt die Lieferung auf `held`. Nur aus `active` zulässig. |
| resume | POST /deliveries/{delivery_id}/resume | Setzt die Lieferung zurück auf `active`. Nur aus `held` zulässig. |
assignCar
DeliveryResponse assignCar(deliveryId, assignCarRequest)
Setzt das assigned_car_id einer Lieferung. carId: null löst die Zuordnung wieder. Der Use Case stellt sicher, dass das Fahrzeug zum angemeldeten Account gehört.
Example
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
final AssignCarRequest assignCarRequest = ; // AssignCarRequest |
try {
final response = api.assignCar(deliveryId, assignCarRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling DeliveriesApi->assignCar: $e\n');
}
Parameters
| Name | Type | Description | Notes |
|---|---|---|---|
| deliveryId | String | ||
| assignCarRequest | AssignCarRequest |
Return type
Authorization
HTTP request headers
- Content-Type: application/json
- Accept: application/json
[Back to top] [Back to API list] [Back to Model list] [Back to README]
cancel
DeliveryResponse cancel(deliveryId, cancelDeliveryRequest)
Setzt die Lieferung auf canceled — endgültig. Erlaubt aus active und held.
Example
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
final CancelDeliveryRequest cancelDeliveryRequest = ; // CancelDeliveryRequest |
try {
final response = api.cancel(deliveryId, cancelDeliveryRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling DeliveriesApi->cancel: $e\n');
}
Parameters
| Name | Type | Description | Notes |
|---|---|---|---|
| deliveryId | String | ||
| cancelDeliveryRequest | CancelDeliveryRequest |
Return type
Authorization
HTTP request headers
- Content-Type: application/json
- Accept: application/json
[Back to top] [Back to API list] [Back to Model list] [Back to README]
complete
DeliveryResponse complete(deliveryId)
Schließt die Lieferung ab — state = completed. Nur aus active.
Example
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
try {
final response = api.complete(deliveryId);
print(response);
} catch on DioException (e) {
print('Exception when calling DeliveriesApi->complete: $e\n');
}
Parameters
| Name | Type | Description | Notes |
|---|---|---|---|
| deliveryId | String |
Return type
Authorization
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
[Back to top] [Back to API list] [Back to Model list] [Back to README]
createNote
DeliveryNoteResponse createNote(deliveryId, createDeliveryNoteRequest)
Legt eine neue Notiz an einer Lieferung an. Mindestens eines von text und imageAttachment muss inhaltlich gefüllt sein (Leerstrings werden serverseitig getrimmt und als leer behandelt).
Example
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
final CreateDeliveryNoteRequest createDeliveryNoteRequest = ; // CreateDeliveryNoteRequest |
try {
final response = api.createNote(deliveryId, createDeliveryNoteRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling DeliveriesApi->createNote: $e\n');
}
Parameters
| Name | Type | Description | Notes |
|---|---|---|---|
| deliveryId | String | ||
| createDeliveryNoteRequest | CreateDeliveryNoteRequest |
Return type
Authorization
HTTP request headers
- Content-Type: application/json
- Accept: application/json
[Back to top] [Back to API list] [Back to Model list] [Back to README]
hold
DeliveryResponse hold(deliveryId, holdDeliveryRequest)
Setzt die Lieferung auf held. Nur aus active zulässig.
Example
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
final HoldDeliveryRequest holdDeliveryRequest = ; // HoldDeliveryRequest |
try {
final response = api.hold(deliveryId, holdDeliveryRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling DeliveriesApi->hold: $e\n');
}
Parameters
| Name | Type | Description | Notes |
|---|---|---|---|
| deliveryId | String | ||
| holdDeliveryRequest | HoldDeliveryRequest |
Return type
Authorization
HTTP request headers
- Content-Type: application/json
- Accept: application/json
[Back to top] [Back to API list] [Back to Model list] [Back to README]
resume
DeliveryResponse resume(deliveryId)
Setzt die Lieferung zurück auf active. Nur aus held zulässig.
Example
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
try {
final response = api.resume(deliveryId);
print(response);
} catch on DioException (e) {
print('Exception when calling DeliveriesApi->resume: $e\n');
}
Parameters
| Name | Type | Description | Notes |
|---|---|---|---|
| deliveryId | String |
Return type
Authorization
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
[Back to top] [Back to API list] [Back to Model list] [Back to README]