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.
138 lines
4.2 KiB
Markdown
138 lines
4.2 KiB
Markdown
# holzleitner_api.api.ToursApi
|
|
|
|
## Load the API package
|
|
```dart
|
|
import 'package:holzleitner_api/api.dart';
|
|
```
|
|
|
|
All URIs are relative to *http://localhost*
|
|
|
|
Method | HTTP request | Description
|
|
------------- | ------------- | -------------
|
|
[**getTour**](ToursApi.md#gettour) | **GET** /tours/{tour_id} | Lädt eine Tour mit allen Lieferungen, Positionen und referenzierten Stammdaten — die App nutzt das als einzigen großen Read.
|
|
[**listMyToursToday**](ToursApi.md#listmytourstoday) | **GET** /me/tours/today | Listet heutige Touren des angemeldeten Fahrers (Filter aus dem JWT).
|
|
[**setDeliveryOrder**](ToursApi.md#setdeliveryorder) | **PUT** /tours/{tour_id}/delivery-order | Schreibt die Sortier-Reihenfolge aller Lieferungen einer Tour neu. Der Client schickt die **vollständige** neue Reihenfolge; fehlende oder fremde Lieferungs-Ids werden mit `400 validation` abgelehnt.
|
|
|
|
|
|
# **getTour**
|
|
> TourDetails getTour(tourId)
|
|
|
|
Lädt eine Tour mit allen Lieferungen, Positionen und referenzierten Stammdaten — die App nutzt das als einzigen großen Read.
|
|
|
|
### Example
|
|
```dart
|
|
import 'package:holzleitner_api/api.dart';
|
|
|
|
final api = HolzleitnerApi().getToursApi();
|
|
final String tourId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | Eindeutige Tour-Id (UUID)
|
|
|
|
try {
|
|
final response = api.getTour(tourId);
|
|
print(response);
|
|
} catch on DioException (e) {
|
|
print('Exception when calling ToursApi->getTour: $e\n');
|
|
}
|
|
```
|
|
|
|
### Parameters
|
|
|
|
Name | Type | Description | Notes
|
|
------------- | ------------- | ------------- | -------------
|
|
**tourId** | **String**| Eindeutige Tour-Id (UUID) |
|
|
|
|
### Return type
|
|
|
|
[**TourDetails**](TourDetails.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)
|
|
|
|
# **listMyToursToday**
|
|
> TourSummaryList listMyToursToday()
|
|
|
|
Listet heutige Touren des angemeldeten Fahrers (Filter aus dem JWT).
|
|
|
|
### Example
|
|
```dart
|
|
import 'package:holzleitner_api/api.dart';
|
|
|
|
final api = HolzleitnerApi().getToursApi();
|
|
|
|
try {
|
|
final response = api.listMyToursToday();
|
|
print(response);
|
|
} catch on DioException (e) {
|
|
print('Exception when calling ToursApi->listMyToursToday: $e\n');
|
|
}
|
|
```
|
|
|
|
### Parameters
|
|
This endpoint does not need any parameter.
|
|
|
|
### Return type
|
|
|
|
[**TourSummaryList**](TourSummaryList.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)
|
|
|
|
# **setDeliveryOrder**
|
|
> SetDeliveryOrderResponse setDeliveryOrder(tourId, setDeliveryOrderRequest)
|
|
|
|
Schreibt die Sortier-Reihenfolge aller Lieferungen einer Tour neu. Der Client schickt die **vollständige** neue Reihenfolge; fehlende oder fremde Lieferungs-Ids werden mit `400 validation` abgelehnt.
|
|
|
|
### Example
|
|
```dart
|
|
import 'package:holzleitner_api/api.dart';
|
|
|
|
final api = HolzleitnerApi().getToursApi();
|
|
final String tourId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
|
|
final SetDeliveryOrderRequest setDeliveryOrderRequest = ; // SetDeliveryOrderRequest |
|
|
|
|
try {
|
|
final response = api.setDeliveryOrder(tourId, setDeliveryOrderRequest);
|
|
print(response);
|
|
} catch on DioException (e) {
|
|
print('Exception when calling ToursApi->setDeliveryOrder: $e\n');
|
|
}
|
|
```
|
|
|
|
### Parameters
|
|
|
|
Name | Type | Description | Notes
|
|
------------- | ------------- | ------------- | -------------
|
|
**tourId** | **String**| |
|
|
**setDeliveryOrderRequest** | [**SetDeliveryOrderRequest**](SetDeliveryOrderRequest.md)| |
|
|
|
|
### Return type
|
|
|
|
[**SetDeliveryOrderResponse**](SetDeliveryOrderResponse.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)
|
|
|