Zum Hauptinhalt springen
War diese Seite hilfreich?

Organisation API

Organisationen und Mitgliedschaft

Erreichbare Organisationen auflisten, Mitglieder verwalten und Organisationsadministratorstatus lesen

Diese Seite dokumentiert die Nicht-Administrator-Organisationsoberfläche. Ausgenommen ist die Nur-Administrator-Organisation Erstellen und löschen Sie Routen und rufen Sie die überlappenden Mitgliedschaftsendpunkte auf, die in zwei Controllern vorhanden sind.

JWT oder Benutzer API SchlüsselRBAC und OrganisationswächterMitgliederverwaltungLöschvorschau

Authentifizierung und Berechtigungen​

  • Alle Routen auf dieser Seite erfordern eine Authentifizierung.
  • Der Hauptcontroller verwendet JwtAuthGuard plus RbacAuthorizationGuard.
  • Für die zusätzliche Durchsetzung auf Routenebene werden OrganisationOwnershipGuard, OrganisationAdminGuard und Organisationsberechtigungsdekoratoren verwendet.
  • Von dieser Seite ausgeschlossene Nur-Administrator-Routen:
    • POST /api/organisations
    • DELETE /api/organisations/:id
    • POST /api/organisations/:id/admins
    • DELETE /api/organisations/:id/admins/:userId

Wichtiger Quellenhinweis:

Endpunktreferenz​

Hauptorganisationsoberfläche​

MethodePfadZweckAnfrage oder AnfrageAuth
GET/api/organisationsListen Sie Organisationen auf, auf die der aktuelle Benutzer zugreifen kann.KeineJWT oder Benutzerschlüssel API
GET/api/organisations/:idHolen Sie sich eine zugängliche Organisation.Pfad: idJWT oder Benutzerschlüssel API
PATCH/api/organisations/:idAktualisieren Sie die Profilfelder der Organisation.Pfad: id, Text: ProfilfelderJWT oder Benutzerschlüssel API
POST/api/organisations/:id/usersWeisen Sie der Organisation einen Benutzer zu.Pfad: id, Text: userIdJWT oder Benutzerschlüssel API
DELETE/api/organisations/:id/users/:userIdEntfernen Sie einen Benutzer aus der Organisation.Pfad: id,userIdJWT oder Benutzerschlüssel API
POST/api/organisations/:id/users/assignWeisen Sie einem Benutzer eine explizite Rolle zu.Pfad: id, Text: userId,role,assignedByIdJWT oder Benutzerschlüssel API
GET/api/organisations/:id/users/listListen Sie Organisationsbenutzer und -rollen auf.Pfad: idJWT oder Benutzerschlüssel API
PATCH/api/organisations/:id/users/:userId/roleAktualisieren Sie eine Mitgliedsrolle.Pfad: id,userId, Text: roleJWT oder Benutzerschlüssel API
DELETE/api/organisations/:id/users/:userId/removeEntfernen Sie ein Mitglied über den alternativen Entfernungspfad.Pfad: id,userIdJWT oder Benutzerschlüssel API
GET/api/organisations/:id/deletion-previewVorschau der Auswirkungen der Kaskadenlöschung.Pfad: idJWT oder Benutzerschlüssel API
DELETE/api/organisations/:id/cascadeKaskadenlöschung organisationseigener Daten.Pfad: idJWT oder Benutzerschlüssel API
PATCH/api/organisations/:id/colorOrganisationsfarbe aktualisieren.Pfad: id, Text: color,cascadeToResourceTypesJWT oder Benutzerschlüssel API

Organisationsadministrator-Hilfsoberfläche​

MethodePfadZweckAnfrage oder AnfrageAuth
GET/api/organisations/:id/adminsOrganisationsadministratoren auflisten.Pfad: idJWT oder Benutzerschlüssel API
POST/api/organisations/:id/usersFügen Sie der Organisation einen Benutzer hinzu.Pfad: id, Text: userIdJWT oder Benutzerschlüssel API
DELETE/api/organisations/:id/users/:userIdEntfernen Sie einen Benutzer aus der Organisation.Pfad: id,userIdJWT oder Benutzerschlüssel API
GET/api/organisations/:id/usersOrganisationsbenutzer auflisten.Pfad: idJWT oder Benutzerschlüssel API
GET/api/organisations/admin-rolesListen Sie Organisationen auf, bei denen der aktuelle Benutzer ein Administrator ist.KeineJWT oder Benutzerschlüssel API
GET/api/organisations/:id/admin-statusTesten Sie, ob der aktuelle Benutzer ein Organisationsadministrator ist.Pfad: idJWT oder Benutzerschlüssel API

Fordern Sie Formen an​

Organisationsprofil​

CreateOrganisationDto und UpdateOrganisationDto

  • name: beim Erstellen erforderlich
  • description: optionale Zeichenfolge
  • address: optionale Zeichenfolge
  • phone: optionale Zeichenfolge
  • email: optionale E-Mail
  • isActive: Nur für Aktualisierungen optionaler boolescher Wert

Mitgliedschaft​

  • AssignUserDto.userId: erforderliche Nummer
  • AssignOrganisationUserDto.userId: erforderliche Nummer
  • AssignOrganisationUserDto.role: erforderlich OrganisationRoleType
  • AssignOrganisationUserDto.assignedById: optionale Nummer
  • UpdateOrganisationUserRoleDto.role: erforderlich OrganisationRoleType

Farbe​

UpdateOrganisationColorDto

  • color: erforderliche Hex-Farbe, #rgb oder #rrggbb
  • cascadeToResourceTypes: optionaler boolescher Wert

Beispielanrufe​

Listen Sie zugängliche Organisationen auf​

curl "$PRIMECAL_API/api/organisations" \
-H "Authorization: Bearer $TOKEN"

Weisen Sie einem Benutzer eine Rolle zu​

curl -X POST "$PRIMECAL_API/api/organisations/12/users/assign" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"userId": 42,
"role": "ADMIN"
}'

Aktualisieren Sie die Organisationsfarbe​

curl -X PATCH "$PRIMECAL_API/api/organisations/12/color" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"color": "#14b8a6",
"cascadeToResourceTypes": true
}'

Hinweise zu Reaktion und Verhalten​

  • GET /api/organisations gibt nur Organisationen zurück, auf die der aktuelle Benutzer zugreifen kann.
  • Einige Routen im Organization-Admin-Controller geben { message, data }-Umschläge anstelle einfacher Entitäten zurück.
  • GET /api/organisations/:id/deletion-preview sollte vor destruktiven Kaskadenoperationen verwendet werden.

Best Practices​

  • Behandeln Sie die doppelten :id/users-Routen als überlappende Flächen und standardisieren Sie Ihren Client auf eine Pfadfamilie.
  • Verwenden Sie GET /api/organisations/:id/users/list oder GET /api/organisations/:id/users konsequent, anstatt beide im selben Client zu mischen.
  • Sehen Sie sich immer die Kaskadenlöschung an, bevor Sie DELETE /api/organisations/:id/cascade aufrufen.
  • Bevorzugen Sie rollenspezifische Mitgliedschaftsaktualisierungen mit /users/assign und /users/:userId/role anstelle von Workflows zum Entfernen und Lesen.