diff --git a/src/main/java/com/bitwarden/passwordless/PasswordlessClientBuilder.java b/src/main/java/com/bitwarden/passwordless/PasswordlessClientBuilder.java index 97e5d95..1845b03 100644 --- a/src/main/java/com/bitwarden/passwordless/PasswordlessClientBuilder.java +++ b/src/main/java/com/bitwarden/passwordless/PasswordlessClientBuilder.java @@ -39,7 +39,7 @@ * @see PasswordlessOptions * @see PasswordlessClient */ -@RequiredArgsConstructor(access = AccessLevel.PRIVATE) +@RequiredArgsConstructor @Getter(AccessLevel.PACKAGE) public class PasswordlessClientBuilder { diff --git a/src/main/java/com/bitwarden/passwordless/PasswordlessOptions.java b/src/main/java/com/bitwarden/passwordless/PasswordlessOptions.java index 2cc779b..dcb7b25 100644 --- a/src/main/java/com/bitwarden/passwordless/PasswordlessOptions.java +++ b/src/main/java/com/bitwarden/passwordless/PasswordlessOptions.java @@ -1,17 +1,20 @@ package com.bitwarden.passwordless; import lombok.*; +import lombok.experimental.FieldDefaults; /** * Represents all the options you can use to configure a backend Passwordless system. */ -@Value +@Data +@FieldDefaults(level = AccessLevel.PRIVATE) +@RequiredArgsConstructor +@AllArgsConstructor @Builder public class PasswordlessOptions { /** * Url to use for Passwordless API operations. */ - @NonNull @Builder.Default String apiUrl = "https://v4.passwordless.dev"; @@ -19,5 +22,5 @@ public class PasswordlessOptions { * Secret API key used to authenticate with the Passwordless API. */ @NonNull - String apiPrivateKey; + final String apiPrivateKey; } diff --git a/src/main/java/com/bitwarden/passwordless/error/PasswordlessProblemDetails.java b/src/main/java/com/bitwarden/passwordless/error/PasswordlessProblemDetails.java index 8bf5b6d..c92027a 100644 --- a/src/main/java/com/bitwarden/passwordless/error/PasswordlessProblemDetails.java +++ b/src/main/java/com/bitwarden/passwordless/error/PasswordlessProblemDetails.java @@ -1,6 +1,7 @@ package com.bitwarden.passwordless.error; import lombok.*; +import lombok.extern.jackson.Jacksonized; import java.util.List; import java.util.Map; @@ -10,10 +11,10 @@ * * @see Passwordless Docs Errors */ -@Data -@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) +@Value @AllArgsConstructor @Builder +@Jacksonized public class PasswordlessProblemDetails { String type; String title; diff --git a/src/main/java/com/bitwarden/passwordless/model/Alias.java b/src/main/java/com/bitwarden/passwordless/model/Alias.java index fb64d3e..7698e0b 100644 --- a/src/main/java/com/bitwarden/passwordless/model/Alias.java +++ b/src/main/java/com/bitwarden/passwordless/model/Alias.java @@ -1,11 +1,12 @@ package com.bitwarden.passwordless.model; import lombok.*; +import lombok.extern.jackson.Jacksonized; -@Data -@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) +@Value @AllArgsConstructor @Builder +@Jacksonized public class Alias { String userId; String alias; diff --git a/src/main/java/com/bitwarden/passwordless/model/CreateAlias.java b/src/main/java/com/bitwarden/passwordless/model/CreateAlias.java index 400e045..c877a78 100644 --- a/src/main/java/com/bitwarden/passwordless/model/CreateAlias.java +++ b/src/main/java/com/bitwarden/passwordless/model/CreateAlias.java @@ -1,17 +1,22 @@ package com.bitwarden.passwordless.model; import lombok.*; +import lombok.experimental.FieldDefaults; +import lombok.extern.jackson.Jacksonized; import java.util.List; @Data -@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) +@FieldDefaults(level = AccessLevel.PRIVATE) +@RequiredArgsConstructor @AllArgsConstructor @Builder +@Jacksonized public class CreateAlias { @NonNull - String userId; - List aliases; + final String userId; + @NonNull + final List aliases; @Builder.Default Boolean hashing = true; } diff --git a/src/main/java/com/bitwarden/passwordless/model/Credential.java b/src/main/java/com/bitwarden/passwordless/model/Credential.java index 30328f0..d6624cb 100644 --- a/src/main/java/com/bitwarden/passwordless/model/Credential.java +++ b/src/main/java/com/bitwarden/passwordless/model/Credential.java @@ -1,14 +1,15 @@ package com.bitwarden.passwordless.model; import lombok.*; +import lombok.extern.jackson.Jacksonized; import java.time.LocalDateTime; import java.util.List; -@Data -@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) +@Value @AllArgsConstructor @Builder +@Jacksonized public class Credential { CredentialDescriptor descriptor; /** diff --git a/src/main/java/com/bitwarden/passwordless/model/DeleteCredential.java b/src/main/java/com/bitwarden/passwordless/model/DeleteCredential.java index d2c73d2..92b9337 100644 --- a/src/main/java/com/bitwarden/passwordless/model/DeleteCredential.java +++ b/src/main/java/com/bitwarden/passwordless/model/DeleteCredential.java @@ -1,11 +1,12 @@ package com.bitwarden.passwordless.model; import lombok.*; +import lombok.extern.jackson.Jacksonized; -@Data -@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) +@Value @AllArgsConstructor @Builder +@Jacksonized public class DeleteCredential { /** * Base64 encoded credential id. diff --git a/src/main/java/com/bitwarden/passwordless/model/DeleteUser.java b/src/main/java/com/bitwarden/passwordless/model/DeleteUser.java index c407131..d2ba705 100644 --- a/src/main/java/com/bitwarden/passwordless/model/DeleteUser.java +++ b/src/main/java/com/bitwarden/passwordless/model/DeleteUser.java @@ -1,11 +1,12 @@ package com.bitwarden.passwordless.model; import lombok.*; +import lombok.extern.jackson.Jacksonized; -@Data -@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) +@Value @AllArgsConstructor @Builder +@Jacksonized public class DeleteUser { @NonNull String userId; diff --git a/src/main/java/com/bitwarden/passwordless/model/ListResponse.java b/src/main/java/com/bitwarden/passwordless/model/ListResponse.java index ade5fc4..91dd519 100644 --- a/src/main/java/com/bitwarden/passwordless/model/ListResponse.java +++ b/src/main/java/com/bitwarden/passwordless/model/ListResponse.java @@ -1,13 +1,14 @@ package com.bitwarden.passwordless.model; import lombok.*; +import lombok.extern.jackson.Jacksonized; import java.util.List; -@Data -@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) +@Value @AllArgsConstructor @Builder +@Jacksonized public class ListResponse { List values; } diff --git a/src/main/java/com/bitwarden/passwordless/model/RegisterToken.java b/src/main/java/com/bitwarden/passwordless/model/RegisterToken.java index af4b5a3..f8e134d 100644 --- a/src/main/java/com/bitwarden/passwordless/model/RegisterToken.java +++ b/src/main/java/com/bitwarden/passwordless/model/RegisterToken.java @@ -1,20 +1,25 @@ package com.bitwarden.passwordless.model; import lombok.*; +import lombok.experimental.FieldDefaults; +import lombok.extern.jackson.Jacksonized; import java.time.Instant; import java.util.Collections; import java.util.List; @Data -@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) +@FieldDefaults(level = AccessLevel.PRIVATE) @AllArgsConstructor +@RequiredArgsConstructor @Builder +@Jacksonized public class RegisterToken { @NonNull - String userId; + final String userId; + @NonNull + final String username; String displayName; - String username; @Builder.Default String attestation = "none"; @Builder.Default diff --git a/src/main/java/com/bitwarden/passwordless/model/RegisteredToken.java b/src/main/java/com/bitwarden/passwordless/model/RegisteredToken.java index 1297057..0db7882 100644 --- a/src/main/java/com/bitwarden/passwordless/model/RegisteredToken.java +++ b/src/main/java/com/bitwarden/passwordless/model/RegisteredToken.java @@ -1,11 +1,12 @@ package com.bitwarden.passwordless.model; import lombok.*; +import lombok.extern.jackson.Jacksonized; -@Data -@NoArgsConstructor +@Value @AllArgsConstructor @Builder +@Jacksonized public class RegisteredToken { String token; } diff --git a/src/main/java/com/bitwarden/passwordless/model/UpdateAppsFeature.java b/src/main/java/com/bitwarden/passwordless/model/UpdateAppsFeature.java index b27b94f..c5c64af 100644 --- a/src/main/java/com/bitwarden/passwordless/model/UpdateAppsFeature.java +++ b/src/main/java/com/bitwarden/passwordless/model/UpdateAppsFeature.java @@ -1,11 +1,12 @@ package com.bitwarden.passwordless.model; import lombok.*; +import lombok.extern.jackson.Jacksonized; -@Data -@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) +@Value @AllArgsConstructor @Builder +@Jacksonized public class UpdateAppsFeature { Integer auditLoggingRetentionPeriod; } diff --git a/src/main/java/com/bitwarden/passwordless/model/UserSummary.java b/src/main/java/com/bitwarden/passwordless/model/UserSummary.java index 647da42..d4a4da6 100644 --- a/src/main/java/com/bitwarden/passwordless/model/UserSummary.java +++ b/src/main/java/com/bitwarden/passwordless/model/UserSummary.java @@ -1,14 +1,15 @@ package com.bitwarden.passwordless.model; import lombok.*; +import lombok.extern.jackson.Jacksonized; import java.time.LocalDateTime; import java.util.List; -@Data -@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) +@Value @AllArgsConstructor @Builder +@Jacksonized public class UserSummary { String userId; Integer aliasCount; diff --git a/src/main/java/com/bitwarden/passwordless/model/VerifiedUser.java b/src/main/java/com/bitwarden/passwordless/model/VerifiedUser.java index 1b21f3e..cb21eed 100644 --- a/src/main/java/com/bitwarden/passwordless/model/VerifiedUser.java +++ b/src/main/java/com/bitwarden/passwordless/model/VerifiedUser.java @@ -1,13 +1,14 @@ package com.bitwarden.passwordless.model; import lombok.*; +import lombok.extern.jackson.Jacksonized; import java.time.Instant; -@Data -@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) +@Value @AllArgsConstructor @Builder +@Jacksonized public class VerifiedUser { Boolean success; String userId; diff --git a/src/main/java/com/bitwarden/passwordless/model/VerifySignIn.java b/src/main/java/com/bitwarden/passwordless/model/VerifySignIn.java index b100239..4338cf9 100644 --- a/src/main/java/com/bitwarden/passwordless/model/VerifySignIn.java +++ b/src/main/java/com/bitwarden/passwordless/model/VerifySignIn.java @@ -1,11 +1,12 @@ package com.bitwarden.passwordless.model; import lombok.*; +import lombok.extern.jackson.Jacksonized; -@Data -@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) +@Value @AllArgsConstructor @Builder +@Jacksonized public class VerifySignIn { @NonNull String token;