Open jonathangpk opened 4 years ago
Aktuelle Rollen:
Labor
Klink
Test Site
Doctor
Health Department
endpoints:
-doctor
create-appointment
/ (nicht verwendet)
create/update
: aktuell offen (JWT erforderlich)
labtest
createForPatient
-> Doctor,Klink,Test_site (“owner von patient”)updateStatus
-> Labor (“owner von labtest”->festlegung bei create )getLabTestsForPatient
-> Doctor,Klink, Health department (“owner von patient”)queryLabTestById
->Doctor,Klink,Health department,Labor (“owner von patient”)patients
getAll
-> Doctor,Klink,Health department,Test Site alle die ihnen zugeordnet sindaddPatient
-> Doctor,Klink,Test Site,Health Department -> automatische Zuordnung muss gewährleistet werden d.h. zum beispiel Gesundheitsamt muss gesetzt werden
getPatientForId
-> Doctor, Klink,Test Site,Health Department wenn zugeordnetcount
-> auch wieder eingeschränkt auf ownerstats
-> health department auch wieder nur für zugeordnete users
getUsersForInstituions
-> nur admin Rollen für die jeweilige Institution updateUsers
-> user selbst oder admindeleteUser
-> admin für institution
Ziel
Aktuelle Lage
Server
Client
Problem
Lösung
Mein grober Ansatz
Man kann hier sicherlich einiges auch anders Stukturieren. Wichtig ist nur das das AccessRights object serialisierbar ist und and den client gesendet werden kann.
Es gibt eine abstrakte Permissions Klasse, hier werden die default werte zu gewiesen. In der regel immer
false
außer zum Beispiel fürcanAccessUsers()
. Die User Role ist eine member variable und kann fuer die permission entscheidung genutzt werden.Jede Institution erstellt dann seine [Institution]AccessRights klasse, erbt von AccessRights und überschreibt die nötigen Rechte.
Vorteile
Drawbacks diese Ansatzes
Other Thoughts
Freu mich über euer Feedback :)