Fruehjahrsputz 1/2: toter Code, Altlast-Dateien, veraltete Verweise
Toter Code: * ApiConfiguration.ConfigureApi (29 Z.) hatte keinen Aufrufer mehr. PredictalyticsHost baut die WebApplication seit Phase 2 selbst auf (Kestrel, CORS, Swagger, Static Files); ConfigureApi war der zurueckgebliebene Zwilling aus der Zeit davor. * IAnalyticsService.GetTraitsAsync samt Implementierung. Die Methode gab konstant eine leere Liste zurueck; ihr eigener Kommentar hielt fest, dass sie ungenutzt ist. Der Endpunkt /api/traders/traits liest direkt aus dem DbContext und bleibt unveraendert. Ungenutzte Paketreferenzen: * Swashbuckle.AspNetCore aus Predictalytics.Api - wurde nur von ConfigureApi gebraucht; Swagger baut Hosting auf, das die Referenz selbst haelt. * Microsoft.EntityFrameworkCore.Design aus Predictalytics.Worker - die Design-Time-Factory liegt in Infrastructure. * Serilog.Sinks.File/.Console und Serilog.Formatting.Compact aus Predictalytics.Infrastructure - dort wird kein Logger konfiguriert, nur Serilog.Core/Events/Context verwendet. Die Sinks haengen am Hosting. Altlast-Dateien: * Spike/ - Projektdatei ohne eine einzige Quelldatei, net8.0, nicht in der Solution. * query.csx - Ad-hoc-Abfrageskript von Juli mit fest eingetragenen DB-Zugangsdaten. * NewDesign.zip (388 KB) und temp_new_design/ - Rohmaterial des Design-Entwurfs vom 15.07. Das Ergebnis liegt fertig in wwwroot/landing.html und wwwroot/docs.html. Veraltete Verweise auf den entfernten WinForms-Host: * CLAUDE.md nannte fuer die Release-Version eine csproj, die es nicht mehr gibt - sie steht seit der Zentralisierung in Directory.Build.props. * docs/BETRIEB-Deploymentcenter.md: Anbindung und BuildInfo sitzen in Predictalytics.Hosting. * docs/API.md: Die Aussage "ohne Authentifizierung" galt vor Phase 4. Jetzt mit Header X-Predictalytics-Key und den heutigen Methodennamen. * Kommentare in Directory.Build.props, DevEndpoints.cs, PredictalyticsHost.cs. Build ohne neue Warnungen (die 8 bestehenden CS86xx sind unveraendert), 126 Tests gruen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+9
-7
@@ -1,10 +1,12 @@
|
||||
# Predictalytics REST API — Referenz
|
||||
|
||||
> Stand: 2026-07-11 · Interne API ohne Authentifizierung (nur lokal betreiben!).
|
||||
> Interaktive Doku: **`/swagger`** auf dem laufenden Server (Standalone-API und
|
||||
> WinForms-Embedded-Server registrieren identische Endpoints über
|
||||
> `ApiConfiguration.MapPredictalyticsEndpoints()` — dort ist die einzige Stelle,
|
||||
> an der neue Endpoints registriert werden dürfen).
|
||||
> Stand: 2026-08-23 · Interne API, nur lokal betreiben.
|
||||
> **Lesende** Endpunkte sind ungeschützt, **steuernde** verlangen seit Phase 4 den
|
||||
> Header `X-Predictalytics-Key`, sobald in den Einstellungen ein Token hinterlegt ist
|
||||
> (siehe `ApiTokenFilter`; `GET /api/capabilities` meldet der WebUI den Ist-Zustand).
|
||||
> Interaktive Doku: **`/swagger`** auf dem laufenden Server. Endpunkte werden
|
||||
> ausschliesslich in `ApiConfiguration.MapPredictalyticsReadEndpoints()` bzw.
|
||||
> `MapPredictalyticsControlEndpoints()` registriert — nur dort neue ergänzen.
|
||||
|
||||
Konventionen: JSON mit camelCase-Feldnamen · Zeiten in UTC (ISO 8601) ·
|
||||
Prozente auf 0–100-Skala · Beträge in USD · `WinRate` ist marktbasiert
|
||||
@@ -140,8 +142,8 @@ Jobs werden von den Workern abgearbeitet (Worker müssen laufen!). Status:
|
||||
| `GET /api/dev/verify-positions/{traderId}` | Vergleicht unsere `TraderPositions` mit Polymarkets `/positions`-API; Antwort: `mismatches[]`, `match`, `dbPositionsCount`, `apiPositionsCount` |
|
||||
|
||||
> Ein früherer `POST /api/dev/repair-db` wurde entfernt (fehlerhaftes SQL,
|
||||
> destruktiv). Reparatur läuft über den WinForms-Menüpunkt **Development →
|
||||
> Recalculate All Traders**.
|
||||
> destruktiv). Reparatur läuft über die Schaltfläche **Recalculate All Traders**
|
||||
> in der Avalonia-Shell.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user