Get /users/by-external/ wirft nach Update URL Not Found Fehler

Ich konnte es tatsächlich lösen.

Anscheinend haben sie den Code aktualisiert, um tatsächlich einen Fehler auszulösen, wenn kein Benutzer gefunden wird. Ich musste also rescue anstelle von compare if nil verwenden?

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

Außerdem hat sich die Antwort von
resp['body']['user']
zu
resp.response.env.body['user']
geändert.

Mein letztes verbleibendes Problem ist, dass ich jetzt einen internen Serverfehler 500 bekomme, wenn ich client.sync_sso aufrufe.

Die Protokolle zeigen
ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "user_emails_pkey"

Wenn ich jedoch die exakt gleichen Details im Rails-Terminal verwende und client.sync_sso ausführe, funktioniert es einwandfrei.

Nur zur Information: Ich habe den Endpunkt für die obigen Teile nicht geändert, damit sie wieder funktionieren. Es scheint also, dass /users/by-external/ immer noch gültig ist.