hopps-app / hopps

Hopps wird eine cloudbasierte Open Source Buchhaltungssoftware mit AI, damit Vereine mehr Zeit für ihre wesentlichen Ziele und Angebote haben und frustrierte Situationen mit der Buchhaltung der Vergangenheit angehören.
MIT License
15 stars 0 forks source link

Zanzibar Annotationen benutzen #132

Open d135-1r43 opened 2 weeks ago

d135-1r43 commented 2 weeks ago

Status Quo:
Der org-Service verwendet derzeit eine manuelle Implementierung zur Berechtigungsprüfung, bei der OpenFGA über den Client explizit aufgerufen wird. Diese direkte Interaktion führt zu einem erhöhten Aufwand für die Verwaltung und Wartung der Berechtigungen und erschwert zukünftige Änderungen.

Soll-Zustand:
Der org-Service soll, soweit möglich, die Quarkus-Zanzibar-Annotationen verwenden, um die Berechtigungslogik zu vereinfachen und zu standardisieren. Ziel ist es, die manuelle Implementierung durch Annotationen zu ersetzen und dadurch den Code lesbarer, wartbarer und weniger fehleranfällig zu machen. Diese Annotationen sind in der offiziellen Dokumentation beschrieben: Quarkus-Zanzibar Doku.

Beispiel-Annotationen, die eingeführt werden sollen:

Akzeptanzkriterien

  1. Alle relevanten Endpunkte im org-Service nutzen die Quarkus-Zanzibar-Annotationen anstelle der bisherigen manuellen Implementierung für Berechtigungen.
  2. Die Funktionalität zur Berechtigungsprüfung funktioniert einwandfrei und ist vollständig getestet.
  3. Dokumentation für Entwickler, die die Verwendung der neuen Berechtigungsannotation erklärt und die bisherigen Implementierungen ersetzt.
  4. Tests validieren die korrekte Berechtigungsüberprüfung mit den neuen Annotationen (z.B. für Zugriffsrechte owner).

Technische Hinweise

schitcrafter commented 2 weeks ago

Ist das Issue durch #114 geblockt? Ich würde sagen das es keinen Sinn macht, die Auth neu zu schreiben, wenn man sie danach eh nochmal ändern muss

d135-1r43 commented 2 weeks ago

Ja, is geblockt.

3thr3n commented 2 weeks ago

Kleiner MVP für tests ohne mocks und den annotations

d135-1r43 commented 2 weeks ago

Jo, das ist nice. Genau so war es gedacht.

Kannst du mal nach deinem XML-Formatter schauen? Da ist ein großer Diff nur für Format-Änderungen in der pom.xml. Wir können auch gern den maven-formatter so konfigurieren, dass er die XMLs mit validiert.

3thr3n commented 1 week ago

Ja ich schau mal nach, ich habe die default Einstellung von Intellij. Anscheinend machen wir nicht tabs in den XMLs

d135-1r43 commented 1 week ago

Die hab ich eigentlich auch. Strange…

d135-1r43 commented 1 week ago

Ich schau mal, dass ich die Tage einen XML Linter konfiguriert bekomme 👍