Golf - Juniortävlingar

Dokumentationsportal

Min Golf Integration Layer

Syfte

Integrationslagret isolerar Min Golfs externa API från applikationens interna datamodell. Övriga delar av systemet ska aldrig skriva Min Golf-data direkt till databasen.

Arkitektur

Min Golf URL
  -> MinGolfApiClient
  -> tävlingsinformation + klasslista
  -> ResultList per classId
  -> CompetitionDocument
  -> signerad preview
  -> import_result_document()
  -> SQLite

Moduler

  • mingolf/client.py: URL-validering, HTTP och klassupptäckt.
  • mingolf/integration.py: normalisering till interna modeller.
  • importers/models.py: källoberoende kontrakt.
  • historical_results.py: atomisk och idempotent databasimport.

Begränsningar i v20.36.0

  • Endast publikt åtkomliga tävlingar stöds.
  • Resultat hämtas endast när Min Golf publicerar en resultatlista för klassen.
  • Lag- och matchspelsformat har ännu inte särskild normalisering.
  • API:t är externt och odokumenterat; fixture-baserade regressionstester används för förändringsdetektion.