Documentation en ligne

Ajouter des relations d’héritage entre rôles

L’ajout d’une relation de parenté à un rôle cible se fait en connaissant l’UUID de ce rôle.
On peut procéder à cet ajout soit en mentionnant l’UUID, le slug, ou le nom du rôle parent (pour cette dernière option, le nom doit être unique).


Cet ajout se fait via le verbe POST sur l’URI

/api/roles/<UUID du rôle cible>/relationships/parents/

en mentionnant en payload POST, soit l’UUID

{"parent": {"uuid": "abc"}}

soit le slug

{"parent": {"slug": "role-lambda"}}

soit le nom

{"parent": {"name": "Role Lambda"}}

du rôle parent.

En retour, l’endpoint renvoie la liste des rôles parents directs pour le rôle, comme c’est le cas de l’endpoint de liste des parents.

Si cet appel doit être fait depuis w.c.s., par exemple à l’aide de l’action Webservice, les données de payload doivent être mentionnées en gabarit Django et donc il n’est pas possible de construire un dictionnaire en valeur du dictionnaire principal de payload (c’est-à-dire qu’aucune imbrication n’est possible).
Dans ce cas, il convient d’utiliser la syntaxe spécifique à Authentic pour reconstruire des données composées à partir de données “à plat” (comportement “unflatten” de l’API).
Par exemple, un appel depuis w.c.s. en mentionnant le slug du rôle parent comporterait le payload POST suivant :

{"parent/uuid": "abc"}

(À noter que "abc" peut alors correspondre à la valeur d’une variable w.c.s. dans l’interface clé-valeur du définition du payload d’un appel Webservice w.c.s.)

Dernière mise à jour le 12 juillet 2022 12:51 — Éditer