Eigenschappen beheren¶
Een eigenschap, zoals de afdeling of het kantoor van een lid, is een feit dat regels kunnen lezen. Deze pagina laat zien hoe je een eigenschap vastlegt, welke waarden ze mag hebben, en hoe je leden en groepen een waarde geeft. Wat eigenschappen zijn, staat in Rollen en toegang.
Eigenschappen vastleggen, wijzigen en verwijderen kan org-admin. Een waarde geven kan wie het lid
of de groep mag wijzigen, zoals people-admin, als hij die waarde zelf heeft; org-admin mag elke
waarde geven. Eigenschappen hebben nog geen scherm in OS: je beheert ze via de API. De voorbeelden
gebruiken $OS, $TOKEN en $ORG zoals in Groepen beheren.
Een eigenschap vastleggen¶
curl -s -X POST "$OS/api/v1/organisations/$ORG/attributes" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"name": "department", "allowed_values": ["sales", "finance"], "multiple": true}'
OS antwoordt 201:
{"id": "atd_...", "name": "department", "allowed_values": ["sales", "finance"],
"multiple": true, "version": 1, "allowed_actions": ["see", "use", "write", "delete"]}
name: letters, cijfers en_ . : -, hoogstens 64 tekens.role,group,subject,os_toolbox,os_offered,os_element,os_audience,os_assistant,os_element_editor,os_project,os_project_chats,os_project_files,os_visitor,os_desk,os_consultant,os_editor_scopeenos_kbleest OS zelf af en kun je niet vastleggen.allowed_values: de waarden die de eigenschap mag hebben. Laat je het weg, dan is elke waarde goed. Met een vaste lijst weigert OS ook een regel die een andere waarde noemt, zodat een tikfout niet stil niets doet.multiple: of één lid of groep meer dan één waarde mag hebben. Standaard één.
Een organisatie legt hoogstens 16 eigenschappen vast: de 32 die een lid kan dragen, min role,
group, os_toolbox, os_offered, os_element, os_audience, os_assistant, os_element_editor, os_project, os_project_chats, os_project_files, os_visitor, os_desk, os_consultant, os_editor_scope en os_kb, die OS zelf zet. Daarnaast telt OS samen hoeveel eigenschappen
en labels de regels van je organisatie, en van elke organisatie eronder, gebruiken: dat zijn er
hoogstens 32. Een nieuwe eigenschap die een organisatie daarboven zou brengen, weigert OS met 409.
De toegestane waarden wijzigen¶
PUT .../attributes/department vervangt allowed_values en multiple in hun geheel, met de versie
die je las in If-Match. OS weigert met 409 als de wijziging iets zou breken:
- een lid of groep heeft een waarde die niet meer in de lijst staat: neem die eerst af;
- een regel noemt een waarde die niet meer in de lijst staat, in je eigen organisatie of in een organisatie eronder: wijzig die regel eerst;
- je zet
multipleuit terwijl iemand meer dan één waarde heeft: neem die eerst af.
Een waarde geven¶
curl -s -X POST "$OS/api/v1/organisations/$ORG/attribute-values" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"attribute": "department", "value": "sales", "member_id": "mem_..."}'
Geef member_id voor één lid of group_id voor een groep; een waarde van een groep heeft elk lid
van de groep. Het antwoord heeft een id als mat_... (op een lid) of gat_... (op een groep).
GET .../attribute-values?member_id=mem_...of?group_id=grp_...toont de waarden die één lid of groep zelf heeft, niet die via groepen.DELETE .../attribute-values/mat_...neemt een waarde af.
Een lid heeft hoogstens 32 waarden per eigenschap, elk hoogstens 256 tekens.
Een eigenschap verwijderen¶
DELETE .../attributes/department verwijdert de eigenschap en elke waarde ervan, bij leden, bij
groepen en in openstaande uitnodigingen. Leest een regel de eigenschap nog, in je eigen organisatie of
in een organisatie eronder die haar niet zelf vastlegt, dan weigert OS met 409; wijzig die regel
eerst.
Als OS weigert¶
| Antwoord | Betekenis | Wat je doet |
|---|---|---|
403 |
Je mag dit niet, of je geeft een waarde die je zelf niet hebt; de melding noemt dan de eigenschap ("a value of department"). | Vraag een beheerder. |
404 |
De eigenschap, de waarde, het lid of de groep bestaat niet, of je mag hem niet zien. | Controleer de naam of het id. |
409 |
De naam is al in gebruik, er zijn al 16 eigenschappen, de eigenschap is gewijzigd sinds je hem las, de waarde is daar al gegeven, de eigenschap staat maar één waarde toe en die is er al, een lid zou over een grens van 32 gaan, je organisatie of een eronder zou meer dan 32 eigenschappen en labels gebruiken, of een wijziging of verwijdering zou een waarde of een regel breken. | Lees de melding en ruim eerst op wat ze noemt. |
422 |
Het verzoek klopt niet: een naam die OS zelf gebruikt (role, group, subject, os_toolbox, os_offered, os_element, os_audience, os_assistant, os_element_editor, os_project, os_project_chats, os_project_files, os_visitor, os_desk, os_consultant, os_editor_scope, os_kb), een onbekende eigenschap, een waarde die de lijst niet toestaat, of zowel member_id als group_id (of geen van beide). |
Lees detail of errors in het antwoord. |