/app zeigt QR-Code + Download-Button + Installationsanleitung ohne Login (Henne-Ei: die App ist der Login-Client). Backend liefert GET /app-download/info und /app-download/qr.png (bewusst ohne Auth), liest version.json vom lokalen downloads_dir, QR über bestehenden services/qr_png.py. Admin-Hinweis verlinkt jetzt auf /app statt Version/URL zu duplizieren. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
89 lines
3.5 KiB
Python
89 lines
3.5 KiB
Python
from fastapi import APIRouter
|
|
|
|
from app.api.v1.endpoints import (
|
|
akte,
|
|
app_download,
|
|
ausgabe,
|
|
auth,
|
|
benutzer,
|
|
custody,
|
|
dashboard,
|
|
dokument,
|
|
einsatz,
|
|
eskalation,
|
|
fehlbestaende,
|
|
geraet_instanz,
|
|
health,
|
|
historie,
|
|
import_export,
|
|
inventur,
|
|
kontrollen,
|
|
lager,
|
|
lagerbewegung,
|
|
mangel,
|
|
materialset,
|
|
notiz,
|
|
objekte,
|
|
permission,
|
|
personal,
|
|
pruefung,
|
|
readiness_regel,
|
|
readiness_snapshot,
|
|
ressourcenbuchung,
|
|
sollmengen_gruppe,
|
|
stammdaten,
|
|
suche,
|
|
systemeinstellung,
|
|
tankbuch,
|
|
verleih,
|
|
vorlagen,
|
|
wartung,
|
|
zustaendigkeit,
|
|
)
|
|
|
|
api_router = APIRouter()
|
|
api_router.include_router(health.router, tags=["health"])
|
|
api_router.include_router(app_download.router, tags=["app_download"])
|
|
api_router.include_router(auth.router, tags=["auth"])
|
|
api_router.include_router(stammdaten.router, tags=["stammdaten"])
|
|
api_router.include_router(benutzer.router, tags=["benutzer"])
|
|
api_router.include_router(zustaendigkeit.router, tags=["zustaendigkeit"])
|
|
api_router.include_router(vorlagen.router, tags=["vorlagen"])
|
|
# import_export VOR objekte/geraet_instanz registriert: /objekte/export und
|
|
# /geraete/export würden sonst von den generischen /objekte/{objekt_id}- bzw.
|
|
# /geraete/{geraet_id}-Routen abgefangen (Pfad passt, Typkonvertierung von
|
|
# "export" zu int/UUID schlägt fehl -> 422 statt Weitersuche - anders als bei
|
|
# Starlettes {param:int}-Konvertern reicht ein reiner Namensparameter nicht,
|
|
# um an einer nicht passenden Route vorbeizukommen).
|
|
api_router.include_router(import_export.router, tags=["import_export"])
|
|
api_router.include_router(objekte.router, tags=["objekte"])
|
|
api_router.include_router(kontrollen.router, tags=["kontrollen"])
|
|
api_router.include_router(fehlbestaende.router, tags=["fehlbestaende"])
|
|
api_router.include_router(eskalation.router, tags=["eskalation"])
|
|
api_router.include_router(historie.router, tags=["historie"])
|
|
api_router.include_router(geraet_instanz.router, tags=["geraet_instanz"])
|
|
api_router.include_router(pruefung.router, tags=["pruefung"])
|
|
api_router.include_router(custody.router, tags=["custody"])
|
|
api_router.include_router(dashboard.router, tags=["dashboard"])
|
|
api_router.include_router(personal.router, tags=["personal"])
|
|
api_router.include_router(mangel.router, tags=["mangel"])
|
|
api_router.include_router(materialset.router, tags=["materialset"])
|
|
api_router.include_router(lagerbewegung.router, tags=["lagerbewegung"])
|
|
api_router.include_router(dokument.router, tags=["dokument"])
|
|
api_router.include_router(notiz.router, tags=["notiz"])
|
|
api_router.include_router(permission.router, tags=["permission"])
|
|
api_router.include_router(akte.router, tags=["akte"])
|
|
api_router.include_router(lager.router, tags=["lager"])
|
|
api_router.include_router(ausgabe.router, tags=["ausgabe"])
|
|
api_router.include_router(wartung.router, tags=["wartung"])
|
|
api_router.include_router(suche.router, tags=["suche"])
|
|
api_router.include_router(tankbuch.router, tags=["tankbuch"])
|
|
api_router.include_router(verleih.router, tags=["verleih"])
|
|
api_router.include_router(ressourcenbuchung.router, tags=["ressourcenbuchung"])
|
|
api_router.include_router(readiness_snapshot.router, tags=["readiness_snapshot"])
|
|
api_router.include_router(readiness_regel.router, tags=["readiness_regel"])
|
|
api_router.include_router(einsatz.router, tags=["einsatz"])
|
|
api_router.include_router(sollmengen_gruppe.router, tags=["sollmengen_gruppe"])
|
|
api_router.include_router(inventur.router, tags=["inventur"])
|
|
api_router.include_router(systemeinstellung.router, tags=["systemeinstellung"])
|