Phase A: generierter Dart-Client + DI-Foundation für Rust-Backend
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.
This commit is contained in:
11
pubspec.yaml
11
pubspec.yaml
@ -54,6 +54,15 @@ dependencies:
|
||||
rxdart: ^0.28.0
|
||||
|
||||
collection: any
|
||||
|
||||
# HTTP-Client für das neue Rust-Backend (per OpenAPI-Generator
|
||||
# erzeugter Client setzt dio voraus).
|
||||
dio: ^5.7.0
|
||||
# Generiertes Sub-Package: produziert durch
|
||||
# `tool/generate_api_client.sh` aus openapi/holzleitner.json.
|
||||
holzleitner_api:
|
||||
path: packages/holzleitner_api
|
||||
|
||||
dev_dependencies:
|
||||
build_runner: ^2.5.4
|
||||
flutter_test:
|
||||
@ -66,6 +75,8 @@ dev_dependencies:
|
||||
# rules and activating additional ones.
|
||||
flutter_lints: ^5.0.0
|
||||
json_serializable: ^6.9.5
|
||||
# Generator wird über tool/generate_api_client.sh (Java-CLI) gefahren —
|
||||
# kein build_runner-Hook, daher kein openapi_generator-Paket nötig.
|
||||
|
||||
# For information on the generic Dart part of this file, see the
|
||||
# following page: https://dart.dev/tools/pub/pubspec
|
||||
|
||||
Reference in New Issue
Block a user