diff --git a/src/main/java/com/descope/enums/BatchUserPasswordAlgorithm.java b/src/main/java/com/descope/enums/BatchUserPasswordAlgorithm.java new file mode 100644 index 00000000..e3363542 --- /dev/null +++ b/src/main/java/com/descope/enums/BatchUserPasswordAlgorithm.java @@ -0,0 +1,19 @@ +package com.descope.enums; + +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.Getter; + +public enum BatchUserPasswordAlgorithm { + BATCH_USER_PASSWORD_ALGORITHM_BCRYPT("bcrypt"), + BATCH_USER_PASSWORD_ALGORITHM_PBKDF2SHA1("pbkdf2sha1"), + BATCH_USER_PASSWORD_ALGORITHM_PBKDF2SHA256("pbkdf2sha256"), + BATCH_USER_PASSWORD_ALGORITHM_PBKDF2SHA512("pbkdf2sha512"); + + @Getter + @JsonValue + private final String value; + + BatchUserPasswordAlgorithm(String value) { + this.value = value; + } +} diff --git a/src/main/java/com/descope/model/user/request/BatchUserPasswordHashed.java b/src/main/java/com/descope/model/user/request/BatchUserPasswordHashed.java new file mode 100644 index 00000000..987edb0e --- /dev/null +++ b/src/main/java/com/descope/model/user/request/BatchUserPasswordHashed.java @@ -0,0 +1,18 @@ +package com.descope.model.user.request; + +import com.descope.enums.BatchUserPasswordAlgorithm; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BatchUserPasswordHashed { + BatchUserPasswordAlgorithm algorithm; + byte[] hash; + byte[] salt; + int iterations; +} diff --git a/src/main/java/com/descope/model/user/request/BatchUserRequest.java b/src/main/java/com/descope/model/user/request/BatchUserRequest.java new file mode 100644 index 00000000..6005d2d0 --- /dev/null +++ b/src/main/java/com/descope/model/user/request/BatchUserRequest.java @@ -0,0 +1,18 @@ +package com.descope.model.user.request; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class BatchUserRequest extends UserRequest { + String loginId; + String password; + BatchUserPasswordHashed hashedPassword; +} diff --git a/src/main/java/com/descope/model/user/response/UserFailedResponse.java b/src/main/java/com/descope/model/user/response/UserFailedResponse.java new file mode 100644 index 00000000..d55be9b8 --- /dev/null +++ b/src/main/java/com/descope/model/user/response/UserFailedResponse.java @@ -0,0 +1,13 @@ +package com.descope.model.user.response; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UserFailedResponse { + String failure; + UserResponse user; +} diff --git a/src/main/java/com/descope/model/user/response/UsersBatchResponse.java b/src/main/java/com/descope/model/user/response/UsersBatchResponse.java new file mode 100644 index 00000000..836a74a3 --- /dev/null +++ b/src/main/java/com/descope/model/user/response/UsersBatchResponse.java @@ -0,0 +1,14 @@ +package com.descope.model.user.response; + +import java.util.List; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class UsersBatchResponse { + private List createdUsers; + private List failedUsers; +}