feat: Wetterintegration + Trachtprognose pro Bienenstand
Neues WeatherModule: liest Bienenstand-Koordinaten und ruft die freie Open-Meteo-API ab (kein API-Key nötig), liefert 14 Tage Wetterhistorie + 7-Tage-Vorhersage sowie eine heuristische Trachtprognose (Saison + Wetter der letzten 7 Tage + historischer Ernteschnitt für denselben Kalendermonat am selben Standort - explizit kein ML-Modell, siehe TASKS.md Abschnitt 26). - GET /api/v1/apiaries/:id/weather, GET .../trachtprognose, beide ueber die bestehende apiaries:read-Berechtigung abgesichert (kein neuer Permission-Key nötig, gleiches Muster wie die bestehenden Colony-Sub-Controller). - Bienenstände ohne hinterlegte Koordinaten liefern 400 statt eines stillen Fallbacks. - test/weather.e2e-spec.ts ruft bewusst die echte Open-Meteo-API auf (kostenlos, kein Auth, stabil genug für einen einzelnen Testlauf) - validiert damit den echten Response-Vertrag statt nur ein Mock. - TASKS.md: beide Punkte abgehakt, stale Duplikat-Zeilen im Später-Abschnitt bereinigt. Verifiziert: tsc, lint, build, unit (228/228), volle e2e-Suite 163/163 gruen. Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
1 parent
335c572dfc
commit
ce9cea1b94
7 files changed
+568
-7
No files matched your search
@@ -37,6 +37,7 @@ import { ImportModule } from './import/import.module';
|
||||
import { PublicModule } from './public/public.module';
|
||||
import { TaskTemplatesModule } from './task-templates/task-templates.module';
|
||||
import { SwarmControlModule } from './swarm-control/swarm-control.module';
|
||||
import { WeatherModule } from './weather/weather.module';
|
||||
import { JwtAuthGuard } from './auth/guards/jwt-auth.guard';
|
||||
import { PermissionsGuard } from './auth/guards/permissions.guard';
|
||||
import { PermissionsModule } from './auth/permissions/permissions.module';
|
||||
@@ -81,6 +82,7 @@ import { PermissionsModule } from './auth/permissions/permissions.module';
|
||||
PublicModule,
|
||||
TaskTemplatesModule,
|
||||
SwarmControlModule,
|
||||
WeatherModule,
|
||||
],
|
||||
controllers: [],
|
||||
providers: [
|
||||
|
||||
Reference in new issue
Block a user