Aktualität der OpenAPI Spec
-
Moin
mir ist bei der Benutzung des /events Endpunkt aufgefallen, dass die Response, die ich erhalte sich nicht mit dem vorhandenen Schema deckt. So finde ich in der Response z.B. die Felder
appointmentId
,chatStatus
,permissions
undcalendar
, welche in der API Spec nicht aufgeführt sind.Dadurch kann ich die die OpenAPI Spec leider auch nicht hernehmen um mit einen JS Client generieren zu lassen, da mir natürlich in den Response Objekten dann Felder fehlen.
Gibt es eine Möglichkeit, wie ich an ein wirklich aktuelles OpenApi Spec File komme?
Wir verwenden Version 3.108.2 und nutzen die CT bereitgestellte instanz ->
$gemeinde.church.tools
Viele Grüße
Sören -
Hi @liebsoer,
die OpenAPI Spec ist leider sehr fehlerhaft an vielen Stellen und wird auch in absehbarer Zeit nicht korrigiert werden. Deshalb würde ich die Spec nur als ersten Einstiegspunkt nutzen.
Deshalb gibt es verschiedene Projekte, die einen API Wrapper entwickelt haben:
- ChurchTools selbst entwickelt sehr zuverlässig und stabil einen Wrapper in JS: https://github.com/churchtools/churchtools-js-client Ich glaube wenn ich es richtig weiß, wird dieser auch eingesetzt bei deren mobiler App. Da kannst du dir also sicher sein, dass alles soweit zuverlässig funktioniert.
- Wenn du ein Projekt in PHP machst, kannst du unseren Wrapper verwenden: https://github.com/5pm-HDH/churchtools-api
Es gibt noch verschiedene Projekte in Python, die aber glaube ich nur Basis-Funktionalitäten anbieten und nicht sehr umfassend die API Wrappen:
- https://github.com/bensteUEM/ChurchToolsAPI
- https://github.com/GifhornerFriedenskirche/churchtool-song-checker
Viele Grüße
Lukas -
@DumbergerL Vielen dank für die Links!
Der JS Client hilft mir leider nicht wirklich bei meiner Frage weiter, da dieser nen bisschen Komfortabler als reines
fetch
ist, aber nicht die einzelnen Endpunkte beinhaltet. Die Dort enthaltende Funktionalität habe ich in meinem Projekt schon enthalten.Frage mich warum, die Spec nicht automatisch anhand der REST API Implementierung generiert wird...aber ich glaube, das ist ne andere Diskussion
-
@liebsoer Wir haben vor einigen Monaten selber damit begonnen, aus der OpenAPI unsere Typen und Interfaces für die Kommunikation zu generieren. Dabei stolpern wir natürlich auch über die Dinge, die noch fehlen oder inkonsistent sind, und ergänzen diese entsprechend. Diese Arbeit geht zwar leider nicht über Nacht und auf einen Schlag, aber in den nächsten Monaten solltet ihr mit jeder neuen Version eine Menge Verbesserungen in der Spezifikation finden. Es lohnt sich also, immer wieder hineinzuschauen!