2.8 KiB
Trainingsplan-Backend
Dieses Plugin ist nur noch das Eintragebackend fuer Trainingsplaene.
Es verwaltet:
- Plaene
- Uebungen in einer zentralen Uebungsbibliothek
- einfache Progressionsvarianten pro Uebung
- Trainingstage
- Warm-up und Cool-down pro Trainingstag
- Uebungen, die an Trainingstagen hinterlegt sind
Nicht mehr enthalten sind PDF-Erzeugung, Rezeptsammlungen, Progressionsregeln, Wochenlogik, Tracking, Pruefungen, Planvorschlaege, Analyse-/ChatGPT-Anbindungen und Farbdefinitionen fuer eine Ausgabeoberflaeche.
Datenvertrag
Trainingsplaene verwenden:
schema_version: 5
contract_version: 4
Eine Plan-Config ist bewusst flach:
{
"schema_version": 5,
"contract_version": 4,
"plan_id": "basis-plan",
"meta": {
"title": "Basis-Plan"
},
"exercises": [
{
"id": "exercise-squat",
"name": "Squat",
"progressions": [
{ "id": "progression-deep-squat-hold", "name": "Deep Squat Hold" },
{ "id": "progression-negative-squat", "name": "Negative Squat" },
{ "id": "progression-full-squat", "name": "Full Squat" }
],
"current_progression_id": "progression-deep-squat-hold"
}
],
"days": [
{
"id": "day-1",
"num": 1,
"name": "Tag 1",
"warmup": { "items": ["Gelenke mobilisieren"] },
"cooldown": { "items": ["Locker auslaufen"] },
"exercises": [
{
"id": "day-exercise-1",
"exercise_id": "exercise-squat"
}
]
}
]
}
API
GET /api/plansPOST /api/plansGET /api/plans/<plan>POST /api/plans/<plan>POST /api/plans/<plan>/publishPOST /api/plans/<plan>/renameDELETE /api/plans/<plan>GET /api/plans/<plan>/exercisesPOST /api/plans/<plan>/exercisesPATCH /api/plans/<plan>/exercises/<exercise>DELETE /api/plans/<plan>/exercises/<exercise>GET /api/plans/<plan>/daysPOST /api/plans/<plan>/daysPATCH /api/plans/<plan>/days/<day>DELETE /api/plans/<plan>/days/<day>POST /api/plans/<plan>/days/<day>/exercisesPATCH /api/plans/<plan>/days/<day>/exercises/<item>DELETE /api/plans/<plan>/days/<day>/exercises/<item>
Der alte aktive Config-Zugriff bleibt fuer einfache Clients erhalten:
GET /api/configPOST /api/configGET /api/defaultPOST /api/reset
Migration
Aeltere Trainingsplaene werden beim Laden auf den flachen Vertrag reduziert.
Uebungen aus alten Rotationen werden in die Uebungsbibliothek uebernommen und
als Tagesuebungen referenziert. Alte stages.steps oder variants werden
dedupliziert als einfache Progressionsvarianten an die Uebung gehaengt; die
erste Variante wird als aktuelle Wahrheit gesetzt, wenn noch keine aktuelle
Progression gespeichert ist. Warm-up und Cool-down werden aus den bisherigen
Tages- oder prepost-Feldern uebernommen.