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.
274 lines
8.6 KiB
Markdown
274 lines
8.6 KiB
Markdown
# holzleitner_api.api.DeliveriesApi
|
|
|
|
## Load the API package
|
|
```dart
|
|
import 'package:holzleitner_api/api.dart';
|
|
```
|
|
|
|
All URIs are relative to *http://localhost*
|
|
|
|
Method | HTTP request | Description
|
|
------------- | ------------- | -------------
|
|
[**assignCar**](DeliveriesApi.md#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**](DeliveriesApi.md#cancel) | **POST** /deliveries/{delivery_id}/cancel | Setzt die Lieferung auf `canceled` — endgültig. Erlaubt aus `active` und `held`.
|
|
[**complete**](DeliveriesApi.md#complete) | **POST** /deliveries/{delivery_id}/complete | Schließt die Lieferung ab — `state = completed`. Nur aus `active`.
|
|
[**createNote**](DeliveriesApi.md#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**](DeliveriesApi.md#hold) | **POST** /deliveries/{delivery_id}/hold | Setzt die Lieferung auf `held`. Nur aus `active` zulässig.
|
|
[**resume**](DeliveriesApi.md#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
|
|
```dart
|
|
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**](AssignCarRequest.md)| |
|
|
|
|
### Return type
|
|
|
|
[**DeliveryResponse**](DeliveryResponse.md)
|
|
|
|
### Authorization
|
|
|
|
[bearer_auth](../README.md#bearer_auth)
|
|
|
|
### HTTP request headers
|
|
|
|
- **Content-Type**: application/json
|
|
- **Accept**: application/json
|
|
|
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
|
|
# **cancel**
|
|
> DeliveryResponse cancel(deliveryId, cancelDeliveryRequest)
|
|
|
|
Setzt die Lieferung auf `canceled` — endgültig. Erlaubt aus `active` und `held`.
|
|
|
|
### Example
|
|
```dart
|
|
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**](CancelDeliveryRequest.md)| |
|
|
|
|
### Return type
|
|
|
|
[**DeliveryResponse**](DeliveryResponse.md)
|
|
|
|
### Authorization
|
|
|
|
[bearer_auth](../README.md#bearer_auth)
|
|
|
|
### HTTP request headers
|
|
|
|
- **Content-Type**: application/json
|
|
- **Accept**: application/json
|
|
|
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
|
|
# **complete**
|
|
> DeliveryResponse complete(deliveryId)
|
|
|
|
Schließt die Lieferung ab — `state = completed`. Nur aus `active`.
|
|
|
|
### Example
|
|
```dart
|
|
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
|
|
|
|
[**DeliveryResponse**](DeliveryResponse.md)
|
|
|
|
### Authorization
|
|
|
|
[bearer_auth](../README.md#bearer_auth)
|
|
|
|
### HTTP request headers
|
|
|
|
- **Content-Type**: Not defined
|
|
- **Accept**: application/json
|
|
|
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
|
|
# **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
|
|
```dart
|
|
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**](CreateDeliveryNoteRequest.md)| |
|
|
|
|
### Return type
|
|
|
|
[**DeliveryNoteResponse**](DeliveryNoteResponse.md)
|
|
|
|
### Authorization
|
|
|
|
[bearer_auth](../README.md#bearer_auth)
|
|
|
|
### HTTP request headers
|
|
|
|
- **Content-Type**: application/json
|
|
- **Accept**: application/json
|
|
|
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
|
|
# **hold**
|
|
> DeliveryResponse hold(deliveryId, holdDeliveryRequest)
|
|
|
|
Setzt die Lieferung auf `held`. Nur aus `active` zulässig.
|
|
|
|
### Example
|
|
```dart
|
|
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**](HoldDeliveryRequest.md)| |
|
|
|
|
### Return type
|
|
|
|
[**DeliveryResponse**](DeliveryResponse.md)
|
|
|
|
### Authorization
|
|
|
|
[bearer_auth](../README.md#bearer_auth)
|
|
|
|
### HTTP request headers
|
|
|
|
- **Content-Type**: application/json
|
|
- **Accept**: application/json
|
|
|
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
|
|
# **resume**
|
|
> DeliveryResponse resume(deliveryId)
|
|
|
|
Setzt die Lieferung zurück auf `active`. Nur aus `held` zulässig.
|
|
|
|
### Example
|
|
```dart
|
|
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
|
|
|
|
[**DeliveryResponse**](DeliveryResponse.md)
|
|
|
|
### Authorization
|
|
|
|
[bearer_auth](../README.md#bearer_auth)
|
|
|
|
### HTTP request headers
|
|
|
|
- **Content-Type**: Not defined
|
|
- **Accept**: application/json
|
|
|
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
|
|