Change API and structs to camelCase #1213

Closed
opened 2026-04-06 01:41:30 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @dani-garcia on 2/28/2024

This PR changes all the project's structs and API inputs and outputs from the old PascalCase format to the new camelCase format. At the moment the clients support both but that won't be a thing forever.

I haven't had the time to fully test this, but at least the basic things work. There may be some things missing, and I still need to review what we store in the db to make sure that there aren't any backwards compat issues.

This might also cause problems with other pending PRs so we can wait to merge it until they are dealt with.

Some fields that have special casing:

  • OTP in /accounts/verify-otp, as that's what the clients send. That said we also check otp
  • Keys and Nfc in yubikey, this is for backwards compat with older values stored on the server, now we serialize new versions to keys and nfc.
  • AttestationObject and clientDataJson in webauthn, as that's what the clients send. This is a bigger annoyance as it complicates the use of the webauthn crate.
  • Organization policies, this is for backwards compat with older values stored on the server, now we serialize new versions as camelCase.

Fixes #4656

*Originally created by @dani-garcia on 2/28/2024* This PR changes all the project's structs and API inputs and outputs from the old `PascalCase` format to the new `camelCase` format. At the moment the clients support both but that won't be a thing forever. I haven't had the time to fully test this, but at least the basic things work. There may be some things missing, and I still need to review what we store in the db to make sure that there aren't any backwards compat issues. This might also cause problems with other pending PRs so we can wait to merge it until they are dealt with. Some fields that have special casing: - `OTP` in `/accounts/verify-otp`, as that's what the clients send. That said we also check `otp` - `Keys` and `Nfc` in yubikey, this is for backwards compat with older values stored on the server, now we serialize new versions to `keys` and `nfc`. - `AttestationObject` and `clientDataJson` in webauthn, as that's what the clients send. This is a bigger annoyance as it complicates the use of the webauthn crate. - Organization policies, this is for backwards compat with older values stored on the server, now we serialize new versions as `camelCase`. Fixes #4656
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/vaultwarden#1213