diff --git a/src/vaultwarden/models/bitwarden.py b/src/vaultwarden/models/bitwarden.py index 8e81b68..3f0506b 100644 --- a/src/vaultwarden/models/bitwarden.py +++ b/src/vaultwarden/models/bitwarden.py @@ -186,6 +186,36 @@ class Config: type: int +class IdentityData(BitwardenBaseModel): + class Config: + extra = "forbid" + + middleName: str | None = None + address1: str | None = None + address2: str | None = None + city: str | None = None + state: str | None = None + postalCode: str | None = None + country: str | None = None + company: str | None = None + email: str | None = None + phone: str | None = None + ssn: str | None = None + nationality: str | None = None + citizenId: str | None = None + licenseNumber: str | None = None + passportNumber: str | None = None + + +class SshKeyData(BitwardenBaseModel): + class Config: + extra = "forbid" + + keyFingerprint: Annotated[str, WrapValidator(decode_string)] | None = None + privateKey: Annotated[str, WrapValidator(decode_string)] | None = None + publicKey: Annotated[str, WrapValidator(decode_string)] | None = None + + class Attachment(BitwardenBaseModel): class Config: extra = "forbid" @@ -220,8 +250,11 @@ class Config: notes: Annotated[str, WrapValidator(decode_string)] | None = None reprompt: int revisionDate: str - sshKey: str | None + sshKey: SshKeyData | None = None passwordHistory: list[PasswordChange] + bankAccount: dict | None = None + driversLicense: dict | None = None + passport: dict | None = None object: str | None = None attachments: list[Attachment] | None = None @@ -331,11 +364,22 @@ class Identity(_CipherBase): card: None = None identity: None = None + data: IdentityData | None = None + + +class SshKeyCipher(_CipherBase): + Type: Literal[CipherType.SshKey] + + login: None = None + secureNote: None = None + card: None = None + identity: None = None + data: None = None CipherDetails = Annotated[ - Union[Login, SecureNote, Card, Identity], Field(discriminator="Type") + Union[Login, SecureNote, Card, Identity, SshKeyCipher], Field(discriminator="Type") ] diff --git a/src/vaultwarden/models/enum.py b/src/vaultwarden/models/enum.py index ece782e..e04e10e 100644 --- a/src/vaultwarden/models/enum.py +++ b/src/vaultwarden/models/enum.py @@ -21,6 +21,7 @@ class CipherType(IntEnum): SecureNote = 2 Card = 3 Identity = 4 + SshKey = 5 class VaultwardenUserStatus(IntEnum):