Ajout de membres du groupe vs ajout de propriétaires : le format des données est différent

Lors de l’utilisation de l’API pour ajouter des membres et des propriétaires à un groupe, il semble que le format de données requis soit différent. Cela peut être intentionnel, mais je souhaiterais savoir pourquoi (cela fait échouer pydiscourse, la meilleure bibliothèque que je puisse trouver pour interagir avec l’API Discourse en Python).

Ajout d’un membre à un groupe :

curl -X PUT "https://{mydomain}/admin/groups/{group_id}/members.json" \
    -d 'usernames={my-username}' \
    -H "Api-Key: {my-api-key}" \
    -H "Api-Username: {my-api-username}"

Ajout d’un propriétaire à un groupe :

curl -X PUT "https://{mydomain}/admin/groups/{group_id}/owners.json" \
    -d 'group[usernames]={my-username}' \
    -H "Api-Key: {my-api-key}" \
    -H "Api-Username: {my-api-username}"

Je me demande pourquoi la clé du paramètre username dans le point de terminaison des propriétaires doit être écrite sous la forme group[usernames] au lieu de simplement usernames ?

The only reason I can give as to why is that they are actually using two different controllers.

The add members endpoint is mapped to the groups controller:

PUT /admin/groups/:id/members(.:format) groups#add_members 

And the add owners endpoint is mapped to the admin groups controller.

PUT /admin/groups/:id/owners(.:format) admin/groups#add_owners

It’s unlikely we will update this endpoint because lots of integrations already use this endpoint as is. You best bet is to open up an issue in the pydiscourse repo. You could also monkey patch a fix for add_group_owner in your python app until it gets resolved inside of pydiscourse.

1 « J'aime »