From 3d6eb3fdb10836630f2c155c2269980ceb1f3b6b Mon Sep 17 00:00:00 2001 From: Daniel Hougaard Date: Fri, 1 Aug 2025 20:31:34 +0400 Subject: [PATCH 1/4] feat: ldap auth & folder CRUD --- .gitignore | 3 +- pom.xml | 36 ++++++++- .../java/com/infisical/sdk/InfisicalSdk.java | 7 +- .../java/com/infisical/sdk/api/ApiClient.java | 4 +- .../sdk/models/CreateFolderInput.java | 47 +++++++++++ .../sdk/models/DeleteFolderInput.java | 42 ++++++++++ .../java/com/infisical/sdk/models/Folder.java | 40 ++++++++++ .../sdk/models/LdapAuthLoginInput.java | 30 +++++++ .../sdk/models/ListFoldersInput.java | 39 ++++++++++ .../sdk/models/ListFoldersResponse.java | 14 ++++ .../sdk/models/SingleFolderResponse.java | 13 ++++ .../sdk/models/UpdateFolderInput.java | 50 ++++++++++++ .../infisical/sdk/resources/AuthClient.java | 13 ++++ .../sdk/resources/FoldersClient.java | 78 +++++++++++++++++++ .../java/com/infisical/sdk/util/Helper.java | 4 + .../sdk/util/ObjectToMapConverter.java | 45 +++++++++++ 16 files changed, 458 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/infisical/sdk/models/CreateFolderInput.java create mode 100644 src/main/java/com/infisical/sdk/models/DeleteFolderInput.java create mode 100644 src/main/java/com/infisical/sdk/models/Folder.java create mode 100644 src/main/java/com/infisical/sdk/models/LdapAuthLoginInput.java create mode 100644 src/main/java/com/infisical/sdk/models/ListFoldersInput.java create mode 100644 src/main/java/com/infisical/sdk/models/ListFoldersResponse.java create mode 100644 src/main/java/com/infisical/sdk/models/SingleFolderResponse.java create mode 100644 src/main/java/com/infisical/sdk/models/UpdateFolderInput.java create mode 100644 src/main/java/com/infisical/sdk/resources/FoldersClient.java create mode 100644 src/main/java/com/infisical/sdk/util/ObjectToMapConverter.java diff --git a/.gitignore b/.gitignore index 6955970..4b1827f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /scripts/node_modules /target .idea -.DS_Store \ No newline at end of file +.DS_Store +/java-test \ No newline at end of file diff --git a/pom.xml b/pom.xml index a4f4ea7..1428f9c 100644 --- a/pom.xml +++ b/pom.xml @@ -55,12 +55,23 @@ 1.8.3 + + + com.fasterxml.jackson.core + jackson-databind + 2.17.1 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.17.1 + - org.projectlombok - lombok - 1.18.30 - provided + org.projectlombok + lombok + 1.18.32 + provided @@ -128,6 +139,23 @@ + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + 21 + + + org.projectlombok + lombok + 1.18.30 + + + + + org.apache.maven.plugins maven-source-plugin diff --git a/src/main/java/com/infisical/sdk/InfisicalSdk.java b/src/main/java/com/infisical/sdk/InfisicalSdk.java index c352229..bd95b1e 100644 --- a/src/main/java/com/infisical/sdk/InfisicalSdk.java +++ b/src/main/java/com/infisical/sdk/InfisicalSdk.java @@ -3,6 +3,7 @@ import com.infisical.sdk.api.ApiClient; import com.infisical.sdk.config.SdkConfig; import com.infisical.sdk.resources.AuthClient; +import com.infisical.sdk.resources.FoldersClient; import com.infisical.sdk.resources.SecretsClient; import com.squareup.okhttp.OkHttpClient; import com.squareup.okhttp.Request; @@ -10,6 +11,7 @@ public class InfisicalSdk { private SecretsClient secretsClient; + private FoldersClient foldersClient; private AuthClient authClient; private ApiClient apiClient; @@ -26,14 +28,17 @@ private void onAuthenticate(String accessToken) { this.apiClient = new ApiClient(apiClient.GetBaseUrl(), accessToken); this.secretsClient = new SecretsClient(apiClient); + this.foldersClient = new FoldersClient(apiClient); this.authClient = new AuthClient(apiClient, this::onAuthenticate); } public AuthClient Auth() { return this.authClient; } - public SecretsClient Secrets() { return this.secretsClient; } + public FoldersClient Folders() { + return this.foldersClient; + } } \ No newline at end of file diff --git a/src/main/java/com/infisical/sdk/api/ApiClient.java b/src/main/java/com/infisical/sdk/api/ApiClient.java index 5842cb4..ae73e3e 100644 --- a/src/main/java/com/infisical/sdk/api/ApiClient.java +++ b/src/main/java/com/infisical/sdk/api/ApiClient.java @@ -107,7 +107,9 @@ public R get(String baseUrl, Map queryParams, Class respo try { HttpUrl.Builder urlBuilder = HttpUrl.parse(baseUrl).newBuilder(); - queryParams.forEach(urlBuilder::addQueryParameter); + if (queryParams != null) { + queryParams.forEach(urlBuilder::addQueryParameter); + } var requestBuilder = new Request.Builder() .url(urlBuilder.build()) diff --git a/src/main/java/com/infisical/sdk/models/CreateFolderInput.java b/src/main/java/com/infisical/sdk/models/CreateFolderInput.java new file mode 100644 index 0000000..76ebd74 --- /dev/null +++ b/src/main/java/com/infisical/sdk/models/CreateFolderInput.java @@ -0,0 +1,47 @@ +package com.infisical.sdk.models; + +import com.google.gson.annotations.SerializedName; + +import com.infisical.sdk.util.Helper; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class CreateFolderInput { + @SerializedName("workspaceId") + private String projectId; + + @SerializedName("environment") + private String environmentSlug; + + @SerializedName("name") + private String folderName; + + @SerializedName("path") + private String folderPath; + + @SerializedName("description") + private String description; + + public String validate() { + if (Helper.isNullOrEmpty(projectId)) { + return "Project ID is required"; + } + + if (Helper.isNullOrEmpty(environmentSlug)) { + return "Environment Slug is required"; + } + + if (Helper.isNullOrEmpty(folderName)) { + return "Folder Name is required"; + } + + if (Helper.isNullOrEmpty(folderPath)) { + return "Folder Path is required"; + } + + return null; + } + +} \ No newline at end of file diff --git a/src/main/java/com/infisical/sdk/models/DeleteFolderInput.java b/src/main/java/com/infisical/sdk/models/DeleteFolderInput.java new file mode 100644 index 0000000..238079d --- /dev/null +++ b/src/main/java/com/infisical/sdk/models/DeleteFolderInput.java @@ -0,0 +1,42 @@ +package com.infisical.sdk.models; + +import com.google.gson.annotations.SerializedName; +import com.infisical.sdk.util.Helper; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class DeleteFolderInput { + @SerializedName("workspaceId") + private String projectId; + + @SerializedName("environment") + private String environmentSlug; + + @SerializedName("folderId") + private String folderId; + + @SerializedName("path") + @Builder.Default private String folderPath = "/"; + + public String validate() { + if (Helper.isNullOrEmpty(projectId)) { + return "Project ID is required"; + } + + if (Helper.isNullOrEmpty(environmentSlug)) { + return "Environment Slug is required"; + } + + if (Helper.isNullOrEmpty(folderId)) { + return "Folder ID is required"; + } + + if (Helper.isNullOrEmpty(folderPath)) { + return "Folder Path is required"; + } + + return null; + } +} \ No newline at end of file diff --git a/src/main/java/com/infisical/sdk/models/Folder.java b/src/main/java/com/infisical/sdk/models/Folder.java new file mode 100644 index 0000000..71f8c5d --- /dev/null +++ b/src/main/java/com/infisical/sdk/models/Folder.java @@ -0,0 +1,40 @@ +package com.infisical.sdk.models; + +import com.google.gson.annotations.SerializedName; + +import lombok.Builder; +import lombok.Data; + +@Data +public class Folder { + @SerializedName("id") + private String id; + + @SerializedName("name") + private String name; + + @SerializedName("version") + private String version; + + @SerializedName("createdAt") + private String createdAt; + + @SerializedName("updatedAt") + private String updatedAt; + + @SerializedName("envId") + private String environmentId; + + @SerializedName("parentId") + private String parentId; + + @SerializedName("isReserved") + private boolean isReserved; + + @SerializedName("description") + private String description; + + @SerializedName("lastSecretModified") + private String lastSecretModified; + +} diff --git a/src/main/java/com/infisical/sdk/models/LdapAuthLoginInput.java b/src/main/java/com/infisical/sdk/models/LdapAuthLoginInput.java new file mode 100644 index 0000000..c984272 --- /dev/null +++ b/src/main/java/com/infisical/sdk/models/LdapAuthLoginInput.java @@ -0,0 +1,30 @@ +package com.infisical.sdk.models; + + +import com.infisical.sdk.util.Helper; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class LdapAuthLoginInput { + private String identityId; + private String username; + private String password; + + public String validate() { + if (Helper.isNullOrEmpty(identityId)) { + return "Identity ID is required"; + } + + if (Helper.isNullOrEmpty(username)) { + return "Username is required"; + } + + if (Helper.isNullOrEmpty(password)) { + return "Password is required"; + } + + return null; + } +} \ No newline at end of file diff --git a/src/main/java/com/infisical/sdk/models/ListFoldersInput.java b/src/main/java/com/infisical/sdk/models/ListFoldersInput.java new file mode 100644 index 0000000..ad02f09 --- /dev/null +++ b/src/main/java/com/infisical/sdk/models/ListFoldersInput.java @@ -0,0 +1,39 @@ +package com.infisical.sdk.models; + +import com.google.gson.annotations.SerializedName; + +import com.infisical.sdk.util.Helper; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class ListFoldersInput { + @SerializedName("workspaceId") + private String projectId; + + @SerializedName("environment") + private String environmentSlug; + + @SerializedName("path") + @Builder.Default private String folderPath = "/"; + + @SerializedName("recursive") + private Boolean recursive; + + public String validate() { + if (Helper.isNullOrEmpty(projectId)) { + return "Project ID is required"; + } + + if (Helper.isNullOrEmpty(environmentSlug)) { + return "Environment Slug is required"; + } + + if (Helper.isNullOrEmpty(folderPath)) { + return "Folder Path is required"; + } + + return null; + } +} \ No newline at end of file diff --git a/src/main/java/com/infisical/sdk/models/ListFoldersResponse.java b/src/main/java/com/infisical/sdk/models/ListFoldersResponse.java new file mode 100644 index 0000000..3a242f2 --- /dev/null +++ b/src/main/java/com/infisical/sdk/models/ListFoldersResponse.java @@ -0,0 +1,14 @@ +package com.infisical.sdk.models; + +import java.util.List; + +import com.google.gson.annotations.SerializedName; + +public class ListFoldersResponse { + @SerializedName("folders") + private List folders; + + public List getFolders() { + return folders; + } +} \ No newline at end of file diff --git a/src/main/java/com/infisical/sdk/models/SingleFolderResponse.java b/src/main/java/com/infisical/sdk/models/SingleFolderResponse.java new file mode 100644 index 0000000..33eac0a --- /dev/null +++ b/src/main/java/com/infisical/sdk/models/SingleFolderResponse.java @@ -0,0 +1,13 @@ +package com.infisical.sdk.models; + +import com.google.gson.annotations.SerializedName; +import lombok.Getter; + +public class SingleFolderResponse { + @SerializedName("folder") + private Folder folder; + + public Folder getFolder() { + return folder; + } +} \ No newline at end of file diff --git a/src/main/java/com/infisical/sdk/models/UpdateFolderInput.java b/src/main/java/com/infisical/sdk/models/UpdateFolderInput.java new file mode 100644 index 0000000..19a0a0e --- /dev/null +++ b/src/main/java/com/infisical/sdk/models/UpdateFolderInput.java @@ -0,0 +1,50 @@ +package com.infisical.sdk.models; + +import com.google.gson.annotations.SerializedName; +import com.infisical.sdk.util.Helper; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class UpdateFolderInput { + @SerializedName("workspaceId") + private String projectId; + + @SerializedName("environment") + private String environmentSlug; + + @SerializedName("folderId") + private String folderId; + + @SerializedName("path") + @Builder.Default private String folderPath = "/"; + + @SerializedName("name") + private String newFolderName; + + + public String validate() { + if (Helper.isNullOrEmpty(projectId)) { + return "Project ID is required"; + } + + if (Helper.isNullOrEmpty(environmentSlug)) { + return "Environment Slug is required"; + } + + if (Helper.isNullOrEmpty(folderId)) { + return "Folder ID is required"; + } + + if (Helper.isNullOrEmpty(folderPath)) { + return "Folder Path is required"; + } + + if (Helper.isNullOrEmpty(newFolderName)) { + newFolderName = null; + } + + return null; + } +} \ No newline at end of file diff --git a/src/main/java/com/infisical/sdk/resources/AuthClient.java b/src/main/java/com/infisical/sdk/resources/AuthClient.java index e955c7e..73851e2 100644 --- a/src/main/java/com/infisical/sdk/resources/AuthClient.java +++ b/src/main/java/com/infisical/sdk/resources/AuthClient.java @@ -1,5 +1,6 @@ package com.infisical.sdk.resources; +import com.infisical.sdk.models.LdapAuthLoginInput; import com.infisical.sdk.models.MachineIdentityCredential; import com.infisical.sdk.util.InfisicalException; import java.util.function.Consumer; @@ -27,6 +28,18 @@ public void UniversalAuthLogin(String clientId, String clientSecret) throws Infi this.onAuthenticate.accept(credential.getAccessToken()); } + public void LdapAuthLogin(LdapAuthLoginInput input) throws InfisicalException { + var validationMsg = input.validate(); + + if (validationMsg != null) { + throw new InfisicalException(validationMsg); + } + + var url = String.format("%s%s", this.apiClient.GetBaseUrl(), "/api/v1/auth/ldap-auth/login"); + var credential = this.apiClient.post(url, input, MachineIdentityCredential.class); + this.onAuthenticate.accept(credential.getAccessToken()); + } + public void SetAccessToken(String accessToken) { this.onAuthenticate.accept(accessToken); } diff --git a/src/main/java/com/infisical/sdk/resources/FoldersClient.java b/src/main/java/com/infisical/sdk/resources/FoldersClient.java new file mode 100644 index 0000000..6f4c215 --- /dev/null +++ b/src/main/java/com/infisical/sdk/resources/FoldersClient.java @@ -0,0 +1,78 @@ +package com.infisical.sdk.resources; + +import java.util.ArrayList; +import java.util.List; + +import com.infisical.sdk.api.ApiClient; +import com.infisical.sdk.models.*; +import com.infisical.sdk.util.Helper; +import com.infisical.sdk.util.InfisicalException; +import com.infisical.sdk.util.ObjectToMapConverter; + +public class FoldersClient { + private final ApiClient httpClient; + + public FoldersClient(ApiClient apiClient) { + this.httpClient = apiClient; + } + + public Folder CreateFolder(CreateFolderInput input) throws InfisicalException { + var url = String.format("%s%s", this.httpClient.GetBaseUrl(), "/api/v1/folders"); + + var result = this.httpClient.post(url, input, SingleFolderResponse.class); + + return result.getFolder(); + } + + public Folder GetFolder(String folderId) throws InfisicalException { + if(Helper.isNullOrEmpty(folderId)) { + throw new InfisicalException("Folder ID is required"); + } + + + var url = String.format("%s%s", this.httpClient.GetBaseUrl(), String.format("/api/v1/folders/%s", folderId)); + var result = this.httpClient.get(url, null, SingleFolderResponse.class); + + return result.getFolder(); + } + + public List ListFolders(ListFoldersInput input) throws InfisicalException { + var validationMsg = input.validate(); + + if (validationMsg != null) { + throw new InfisicalException(validationMsg); + } + + var url = String.format("%s%s", this.httpClient.GetBaseUrl(), "/api/v1/folders"); + var result = this.httpClient.get(url, ObjectToMapConverter.toStringMap(input), ListFoldersResponse.class); + + return result.getFolders(); + } + + public Folder UpdateFolder(UpdateFolderInput input) throws InfisicalException { + var validationMsg = input.validate(); + + if (validationMsg != null) { + throw new InfisicalException(validationMsg); + } + + var url = String.format("%s%s", this.httpClient.GetBaseUrl(), String.format("/api/v1/folders/%s", input.getFolderId())); + + var result = this.httpClient.patch(url, input, SingleFolderResponse.class); + + return result.getFolder(); + } + + public Folder DeleteFolder(DeleteFolderInput input) throws InfisicalException { + var validationMsg = input.validate(); + if (validationMsg != null) { + throw new InfisicalException(validationMsg); + } + + var url = String.format("%s%s", this.httpClient.GetBaseUrl(), String.format("/api/v1/folders/%s", input.getFolderId())); + + var result = this.httpClient.delete(url, input, SingleFolderResponse.class); + + return result.getFolder(); + } +} \ No newline at end of file diff --git a/src/main/java/com/infisical/sdk/util/Helper.java b/src/main/java/com/infisical/sdk/util/Helper.java index 2c839a4..ccd5a3f 100644 --- a/src/main/java/com/infisical/sdk/util/Helper.java +++ b/src/main/java/com/infisical/sdk/util/Helper.java @@ -5,6 +5,10 @@ public class Helper { + public static boolean isNullOrEmpty(String str) { + return str == null || str.trim().isEmpty(); + } + public static String booleanToString(Boolean b) { return b == null ? null : b.toString(); diff --git a/src/main/java/com/infisical/sdk/util/ObjectToMapConverter.java b/src/main/java/com/infisical/sdk/util/ObjectToMapConverter.java new file mode 100644 index 0000000..3605aee --- /dev/null +++ b/src/main/java/com/infisical/sdk/util/ObjectToMapConverter.java @@ -0,0 +1,45 @@ +package com.infisical.sdk.util; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.google.gson.annotations.SerializedName; +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; + +public class ObjectToMapConverter { + private static final ObjectMapper objectMapper; + + static { + objectMapper = new ObjectMapper(); + objectMapper.registerModule(new JavaTimeModule()); + } + + public static Map toStringMap(Object obj) { + Map result = new HashMap<>(); + Class clazz = obj.getClass(); + + while (clazz != null) { + for (Field field : clazz.getDeclaredFields()) { + field.setAccessible(true); + try { + Object value = field.get(obj); + + // Use @SerializedName if present, otherwise use field name + String key = field.getName(); + SerializedName serializedName = field.getAnnotation(SerializedName.class); + if (serializedName != null) { + key = serializedName.value(); + } + + result.put(key, value != null ? value.toString() : null); + } catch (IllegalAccessException e) { + // Skip inaccessible fields + } + } + clazz = clazz.getSuperclass(); + } + + return result; + } +} \ No newline at end of file From d421b63f13260e432122ed07971f72c4b1f62043 Mon Sep 17 00:00:00 2001 From: Daniel Hougaard Date: Fri, 1 Aug 2025 21:24:31 +0400 Subject: [PATCH 2/4] docs and function renaming --- README.md | 192 ++++++++++++++++++ .../sdk/resources/FoldersClient.java | 10 +- 2 files changed, 197 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5a0ba3d..b2acb39 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,15 @@ The `Auth` component provides methods for authentication: ### Universal Auth #### Authenticating + +```java +public void UniversalAuthLogin( + String clientId, + String clientSecret +) +throws InfisicalException +``` + ```java sdk.Auth().UniversalAuthLogin( "CLIENT_ID", @@ -91,9 +100,43 @@ sdk.Auth().UniversalAuthLogin( - `clientId` (string): The client ID of your Machine Identity. - `clientSecret` (string): The client secret of your Machine Identity. +### LDAP Auth + +```java +public void LdapAuthLogin( + LdapAuthLoginInput input +) +throws InfisicalException +``` + +```java +var input = LdapAuthLoginInput + .builder() + .identityId("") + .username("") + .password("") + .build(); + +sdk.Auth().LdapAuthLogin(input); +``` + +**Parameters:** +- `input` (LdapAuthLoginInput): The input for authenticating with LDAP. + - `identityId` (String): The ID of the machine identity to authenticate with. + - `username` (String): The LDAP username. + - `password` (String): The LDAP password. + ### Access Token Auth #### Authenticating + +```java +public void SetAccessToken( + String accessToken +) +throws InfisicalException +``` + ```java sdk.Auth().SetAccessToken("ACCESS_TOKEN"); ``` @@ -288,3 +331,152 @@ Secret deletedSecret = sdk.Secrets().DeleteSecret( **Returns:** - `Secret`: The deleted secret. + +### `Folders` + +#### Get Folder By Name + +```java +public Folder Get( + String folderId +); +throws InfisicalException +``` + +```java +Folder folder = sdk.Folders().Get(""); +``` + +**Parameters:** +- `folderId` (String): The ID of the folder to retrieve. + +**Returns:** +- `Folder`: The retrieved folder. + +#### List Folders + +```java +public List List( + ListFoldersInput input +) +throws InfisicalException +``` + +```java +ListFoldersInput input = ListFoldersInput + .builder() + .projectId("") + .environmentSlug("") + .folderPath("/") + .recursive(false) + .build(); + +List folders = sdk.Folders().List(input); +``` + + +**Parameters:** +- `input` (ListFoldersInput): The input for listing folders. + - `projectId` (String): The ID of the project to list folders from. + - `environmentSlug` (String): The slug of the environment to list folders from. + - `folderPath` (String): The path to list folders from. Defaults to `/`. + - `recursive` (Boolean): Whether or not to list sub-folders recursively from the specified folder path and downwards. Defaults to `false`. + +**Returns:** +- `List`: The retrieved folders. + +#### Create Folder + +```java +public Folder Create( + CreateFolderInput input +) +throws InfisicalException +``` + +```java +var input = CreateFolderInput + .builder() + .projectId("") + .environmentSlug("") + .folderName("") + .folderPath("/") + .description("Optional folder description") + .build(); + +Folder createdFolder = sdk.Folders().Create(input); +``` + +**Parameters:** +- `input` (CreateFolderInput): The input for creating a folder. + - `projectId` (String): The ID of the project to create the folder in. + - `environmentSlug` (String): The slug of the environment to create the folder in. + - `folderPath` (String): The path to create the folder in. Defaults to `/`. + - `folderName` (String): The name of the folder to create. + - `description` (String): The description of the folder to create. This is optional. + +**Returns:** +- `Folder`: The created folder. + +#### Update Folder + +```java +public Folder Update( + UpdateFolderInput input +) +throws InfisicalException +``` + +```java +var input = UpdateFolderInput + .builder() + .projectId("") + .environmentSlug("") + .folderId("") + .newFolderName("") + .folderPath("/") + .build(); + +Folder updatedFolder = sdk.Folders().Update(input); +``` + +**Parameters:** +- `input` (UpdateFolderInput): The input for updating a folder. + - `projectId` (String): The ID of the project where the folder exists. + - `environmentSlug` (String): The slug of the environment where the folder exists. + - `folderPath` (String): The path of the folder to update. + - `folderId` (String): The ID of the folder to update. + - `newFolderName` (String): The new folder name. + +**Returns:** +- `Folder`: The updated folder. + +#### Delete Folder + +```java +public Folder Delete( + DeleteFolderInput input +) +throws InfisicalException +``` + +```java +var input = DeleteFolderInput + .builder() + .folderId("") + .environmentSlug("") + .projectId("") + .build(); + +Folder deletedFolder = sdk.Folders().Delete(input); +``` + + +**Parameters:** +- `input` (DeleteFolderInput): The input for deleting a folder. + - `projectId` (String): The ID of the project where the folder exists. + - `environmentSlug` (String): The slug of the environment where the folder exists. + - `folderId` (String): The ID of the folder to delete. + +**Returns:** +- `Folder`: The deleted folder. \ No newline at end of file diff --git a/src/main/java/com/infisical/sdk/resources/FoldersClient.java b/src/main/java/com/infisical/sdk/resources/FoldersClient.java index 6f4c215..65307d1 100644 --- a/src/main/java/com/infisical/sdk/resources/FoldersClient.java +++ b/src/main/java/com/infisical/sdk/resources/FoldersClient.java @@ -16,7 +16,7 @@ public FoldersClient(ApiClient apiClient) { this.httpClient = apiClient; } - public Folder CreateFolder(CreateFolderInput input) throws InfisicalException { + public Folder Create(CreateFolderInput input) throws InfisicalException { var url = String.format("%s%s", this.httpClient.GetBaseUrl(), "/api/v1/folders"); var result = this.httpClient.post(url, input, SingleFolderResponse.class); @@ -24,7 +24,7 @@ public Folder CreateFolder(CreateFolderInput input) throws InfisicalException { return result.getFolder(); } - public Folder GetFolder(String folderId) throws InfisicalException { + public Folder Get(String folderId) throws InfisicalException { if(Helper.isNullOrEmpty(folderId)) { throw new InfisicalException("Folder ID is required"); } @@ -36,7 +36,7 @@ public Folder GetFolder(String folderId) throws InfisicalException { return result.getFolder(); } - public List ListFolders(ListFoldersInput input) throws InfisicalException { + public List List(ListFoldersInput input) throws InfisicalException { var validationMsg = input.validate(); if (validationMsg != null) { @@ -49,7 +49,7 @@ public List ListFolders(ListFoldersInput input) throws InfisicalExceptio return result.getFolders(); } - public Folder UpdateFolder(UpdateFolderInput input) throws InfisicalException { + public Folder Update(UpdateFolderInput input) throws InfisicalException { var validationMsg = input.validate(); if (validationMsg != null) { @@ -63,7 +63,7 @@ public Folder UpdateFolder(UpdateFolderInput input) throws InfisicalException { return result.getFolder(); } - public Folder DeleteFolder(DeleteFolderInput input) throws InfisicalException { + public Folder Delete(DeleteFolderInput input) throws InfisicalException { var validationMsg = input.validate(); if (validationMsg != null) { throw new InfisicalException(validationMsg); From 91600fbc4c34d4f3b1bba9f39546b42125160596 Mon Sep 17 00:00:00 2001 From: Daniel Hougaard Date: Fri, 1 Aug 2025 21:27:17 +0400 Subject: [PATCH 3/4] requested changes --- src/main/java/com/infisical/sdk/models/Folder.java | 2 -- .../java/com/infisical/sdk/models/SingleFolderResponse.java | 1 - 2 files changed, 3 deletions(-) diff --git a/src/main/java/com/infisical/sdk/models/Folder.java b/src/main/java/com/infisical/sdk/models/Folder.java index 71f8c5d..a56e750 100644 --- a/src/main/java/com/infisical/sdk/models/Folder.java +++ b/src/main/java/com/infisical/sdk/models/Folder.java @@ -1,8 +1,6 @@ package com.infisical.sdk.models; import com.google.gson.annotations.SerializedName; - -import lombok.Builder; import lombok.Data; @Data diff --git a/src/main/java/com/infisical/sdk/models/SingleFolderResponse.java b/src/main/java/com/infisical/sdk/models/SingleFolderResponse.java index 33eac0a..9854190 100644 --- a/src/main/java/com/infisical/sdk/models/SingleFolderResponse.java +++ b/src/main/java/com/infisical/sdk/models/SingleFolderResponse.java @@ -1,7 +1,6 @@ package com.infisical.sdk.models; import com.google.gson.annotations.SerializedName; -import lombok.Getter; public class SingleFolderResponse { @SerializedName("folder") From 44eca407faeb2f21cc55899588ba27f09a61adf0 Mon Sep 17 00:00:00 2001 From: Daniel Hougaard Date: Fri, 1 Aug 2025 21:28:00 +0400 Subject: [PATCH 4/4] Update pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1428f9c..85dcf57 100644 --- a/pom.xml +++ b/pom.xml @@ -70,7 +70,7 @@ org.projectlombok lombok - 1.18.32 + 1.18.30 provided