Szervezet API
Szervezetek és tagság
A hozzáférhető szervezetek listázása, a tagok kezelése és a szervezet-adminisztrátori állapot olvasása
Ez az oldal a nem rendszergazdai szervezet felületét dokumentálja. Kizárja a csak adminisztrátori szervezetet útvonalak létrehozása és törlése, valamint a két vezérlőben létező átfedő tagsági végpontok meghívása.
JWT vagy felhasználói API kulcsRBAC és szervezeti őrökTagságkezelésTörlési előnézet
Forrás
- Fővezérlő:
backend-nestjs/src/organisations/organisations.controller.ts - Szervezeti adminisztrátori vezérlő:
backend-nestjs/src/organisations/organisation-admin.controller.ts - DTO-k:
backend-nestjs/src/dto/organisation.dto.ts,backend-nestjs/src/dto/organisation-user.dto.ts,backend-nestjs/src/organisations/dto/update-organisation-color.dto.ts
Hitelesítés és engedélyek
- Ezen az oldalon minden útvonal hitelesítést igényel.
- A fő vezérlő a
JwtAuthGuardpluszRbacAuthorizationGuard-t használja. - További útvonalszintű betartatás
OrganisationOwnershipGuard,OrganisationAdminGuardés szervezeti engedély-dekorátorokat használ. - Csak adminisztrátori útvonalak, amelyek nem szerepelnek ezen az oldalon:
POST /api/organisationsDELETE /api/organisations/:idPOST /api/organisations/:id/adminsDELETE /api/organisations/:id/admins/:userId
Fontos forrás megjegyzés:
- A
POST /api/organisations/:id/usersés aDELETE /api/organisations/:id/users/:userIdkétszer van megadva, egyszer aorganisations.controller.ts-ban, majd aorganisation-admin.controller.ts-ban, különböző védőelemekkel és válaszformákkal.
Végpont referencia
Fő szervezeti felület
| módszer | Útvonal | Cél | Kérjen vagy érdeklődjön | Auth | Forrás |
|---|---|---|---|---|---|
GET | /api/organisations | Az aktuális felhasználó számára elérhető szervezetek listája. | Egyik sem | JWT vagy felhasználói API kulcs | organisations/organisations.controller.ts |
GET | /api/organisations/:id | Szerezzen be egy elérhető szervezetet. | Elérési út: id | JWT vagy felhasználói API kulcs | organisations/organisations.controller.ts |
PATCH | /api/organisations/:id | Frissítse a szervezeti profil mezőit. | Elérési út: id, törzs: profilmezők | JWT vagy felhasználói API kulcs | organisations/organisations.controller.ts |
POST | /api/organisations/:id/users | Rendeljen hozzá egy felhasználót a szervezethez. | Elérési út: id, törzs: userId | JWT vagy felhasználói API kulcs | organisations/organisations.controller.ts |
DELETE | /api/organisations/:id/users/:userId | Felhasználó eltávolítása a szervezetből. | Elérési út: id,userId | JWT vagy felhasználói API kulcs | organisations/organisations.controller.ts |
POST | /api/organisations/:id/users/assign | Rendeljen hozzá egy felhasználót kifejezett szerepkörrel. | Elérési út: id, törzs: userId,role,assignedById | JWT vagy felhasználói API kulcs | organisations/organisations.controller.ts |
GET | /api/organisations/:id/users/list | Sorolja fel a szervezet felhasználóit és szerepköreit. | Elérési út: id | JWT vagy felhasználói API kulcs | organisations/organisations.controller.ts |
PATCH | /api/organisations/:id/users/:userId/role | Tagi szerepkör frissítése. | Elérési út: id,userId, törzs: role | JWT vagy felhasználói API kulcs | organisations/organisations.controller.ts |
DELETE | /api/organisations/:id/users/:userId/remove | Távolítson el egy tagot az alternatív eltávolítási útvonalon keresztül. | Elérési út: id,userId | JWT vagy felhasználói API kulcs | organisations/organisations.controller.ts |
GET | /api/organisations/:id/deletion-preview | A kaszkádtörlés hatásának előnézete. | Elérési út: id | JWT vagy felhasználói API kulcs | organisations/organisations.controller.ts |
DELETE | /api/organisations/:id/cascade | A szervezet tulajdonában lévő adatok lépcsőzetes törlése. | Elérési út: id | JWT vagy felhasználói API kulcs | organisations/organisations.controller.ts |
PATCH | /api/organisations/:id/color | Szervezeti szín frissítése. | Elérési út: id, törzs: color,cascadeToResourceTypes | JWT vagy felhasználói API kulcs | organisations/organisations.controller.ts |
Szervezeti Admin Helper felület
| módszer | Útvonal | Cél | Kérjen vagy érdeklődjön | Auth | Forrás |
|---|---|---|---|---|---|
GET | /api/organisations/:id/admins | Szervezeti adminisztrátorok listázása. | Elérési út: id | JWT vagy felhasználói API kulcs | organisations/organisation-admin.controller.ts |
POST | /api/organisations/:id/users | Felhasználó hozzáadása a szervezethez. | Elérési út: id, törzs: userId | JWT vagy felhasználói API kulcs | organisations/organisation-admin.controller.ts |
DELETE | /api/organisations/:id/users/:userId | Felhasználó eltávolítása a szervezetből. | Elérési út: id,userId | JWT vagy felhasználói API kulcs | organisations/organisation-admin.controller.ts |
GET | /api/organisations/:id/users | Szervezeti felhasználók listázása. | Elérési út: id | JWT vagy felhasználói API kulcs | organisations/organisation-admin.controller.ts |
GET | /api/organisations/admin-roles | Sorolja fel azokat a szervezeteket, ahol a jelenlegi felhasználó rendszergazda. | Egyik sem | JWT vagy felhasználói API kulcs | organisations/organisation-admin.controller.ts |
GET | /api/organisations/:id/admin-status | Tesztelje, hogy az aktuális felhasználó szervezeti adminisztrátor-e. | Elérési út: id | JWT vagy felhasználói API kulcs | organisations/organisation-admin.controller.ts |
Kérjen alakzatokat
Szervezeti profil
CreateOrganisationDto és UpdateOrganisationDto a backend-nestjs/src/dto/organisation.dto.ts-ban
name: létrehozáskor köteleződescription: opcionális karakterláncaddress: opcionális karakterláncphone: opcionális karakterláncemail: opcionális e-mailisActive: csak frissíthető opcionális logikai érték
Tagság
AssignUserDto.userId: szükséges számAssignOrganisationUserDto.userId: szükséges számAssignOrganisationUserDto.role: kötelezőOrganisationRoleTypeAssignOrganisationUserDto.assignedById: opcionális számUpdateOrganisationUserRoleDto.role: kötelezőOrganisationRoleType
Szín
UpdateOrganisationColorDto
color: kötelező hexadecimális szín,#rgbvagy#rrggbbcascadeToResourceTypes: opcionális logikai érték
Példahívások
Az elérhető szervezetek listája
curl "$PRIMECAL_API/api/organisations" \
-H "Authorization: Bearer $TOKEN"
Rendeljen hozzá egy felhasználót szerepkörrel
curl -X POST "$PRIMECAL_API/api/organisations/12/users/assign" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"userId": 42,
"role": "ADMIN"
}'
Frissítse a szervezet színét
curl -X PATCH "$PRIMECAL_API/api/organisations/12/color" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"color": "#14b8a6",
"cascadeToResourceTypes": true
}'
Válasz és viselkedés megjegyzések
GET /api/organisationscsak azokat a szervezeteket adja vissza, amelyekhez az aktuális felhasználó hozzáférhet.- A szervezet-admin vezérlő egyes útvonalai
{ message, data }borítékot adnak vissza egyszerű entitások helyett. - A
GET /api/organisations/:id/deletion-previewdestruktív kaszkádműveletek előtt használható.
Legjobb gyakorlatok
- Kezelje a duplikált
:id/usersútvonalakat átfedő felületekként, és szabványosítsa ügyfelét egy útvonalcsaládon. - Használja következetesen a
GET /api/organisations/:id/users/listvagy aGET /api/organisations/:id/users-t ahelyett, hogy ugyanazon a kliensen keverné a kettőt. - A
DELETE /api/organisations/:id/cascadehívása előtt mindig tekintse meg a kaszkádtörlés előnézetét. - Az eltávolítási és olvasási munkafolyamatok helyett előnyben részesítse a szerepspecifikus tagsági frissítéseket a
/users/assignés a/users/:userId/rolehasználatával.