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;