Get /users/by-external/ lance une erreur URL Not Found après la mise à jour

J’ai en fait réussi à le résoudre

Il semble qu’ils aient mis à jour le code pour générer une erreur si aucun utilisateur n’est trouvé, j’ai donc dû utiliser rescue au lieu de comparer si nil ?

begin
    resp = client.get("/users/by-external/#{user.id}")
rescue DiscourseApi::NotFoundError => error
    puts error.response.body['errors'].first
    sync_user(user)
else
    resp.response.env.body['user']
end

De plus, la réponse a changé de
resp['body']['user']
à
resp.response.env.body['user']

Mon dernier problème restant est que lorsque j’appelle client.sync_sso, j’obtiens maintenant une erreur interne du serveur 500

Les journaux indiquent
ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "user_emails_pkey"

Cependant, si j’utilise les mêmes détails dans le terminal Rails et que j’exécute client.sync_sso, cela fonctionne parfaitement.

Juste pour information, je n’ai pas modifié le point de terminaison pour que les parties ci-dessus recommencent à fonctionner, il semble donc que /users/by-external/ soit toujours valide.