Ik wil groepeigenaren toevoegen en verwijderen via de API. Dit staat niet gedocumenteerd in de API-documentatie.
Door de aanroepen te traceren terwijl ik ben ingelogd als beheerder, is het toevoegen van een gebruiker als eigenaar:
PUT groups/<gid>/owners met een payload van usernames=nikkilocke (let op geen admin!)
Het verwijderen van een gebruiker uit de eigenaren is:
DELETE admin/groups/<gid>/owners met een payload van user_id=<uid>
Door de broncode te bestuderen blijkt:
def group_add_owners(group_id, args)
args = API.params(args).required(:usernames).to_h
put("/admin/groups/#{group_id}/owners.json", group: args)
end
def group_remove_owners(group_id, args)
args = API.params(args).required(:usernames).to_h
delete("/admin/groups/#{group_id}/owners.json", group: args)
end
en deze code lijkt sinds 2023 niet te zijn gewijzigd.
Ik gebruik Discourse 3.4.7 en het ingangspunt voor het toevoegen van eigenaren in de broncode geeft een 404-fout.
Pogingen met URL’s:
PUT /groups/384/owners usernames=nikkilocke OK
PUT /admin/groups/384/owners group[usernames]=nikkilocke 404-fout
DEL /admin/groups/384/owners group[usernames]=nikkilocke OK
DEL /admin/groups/384/owners user_id = 12 OK
Kan iemand mij adviseren wat er aan de hand is en welke URL’s ik hiervoor moet gebruiken?