Ga naar inhoud

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_scope en os_kb leest 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 multiple uit 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.