11package com .infisical .sdk .resources ;
22
3- import com .infisical .sdk .api .QueryBuilder ;
4- import com .infisical .sdk .models .*;
5-
6- import com .infisical .sdk .util .Helper ;
3+ import java .util .List ;
74
85import com .infisical .sdk .api .ApiClient ;
6+ import com .infisical .sdk .api .QueryBuilder ;
7+ import com .infisical .sdk .models .CreateSecretInput ;
8+ import com .infisical .sdk .models .DeleteSecretInput ;
9+ import com .infisical .sdk .models .ListSecretsResponse ;
10+ import com .infisical .sdk .models .Secret ;
11+ import com .infisical .sdk .models .SingleSecretResponse ;
12+ import com .infisical .sdk .models .UpdateSecretInput ;
13+ import com .infisical .sdk .util .Helper ;
914import com .infisical .sdk .util .InfisicalException ;
10- import java .util .List ;
1115
1216public class SecretsClient {
13- private final ApiClient httpClient ;
14-
15- public SecretsClient (ApiClient apiClient ) {
16- this .httpClient = apiClient ;
17+ private final ApiClient httpClient ;
18+
19+ public SecretsClient (ApiClient apiClient ) {
20+ this .httpClient = apiClient ;
21+ }
22+
23+ // Overload to avoid breaking changes for new setSecretsOnSystemProperties
24+ // parameter
25+ public List <Secret > ListSecrets (String projectId , String environmentSlug , String secretPath ,
26+ Boolean expandSecretReferences , Boolean recursive , Boolean includeImports ) throws InfisicalException {
27+ return ListSecrets (projectId , environmentSlug , secretPath , expandSecretReferences , recursive , includeImports ,
28+ false );
29+ }
30+
31+ public List <Secret > ListSecrets (String projectId , String environmentSlug , String secretPath ,
32+ Boolean expandSecretReferences , Boolean recursive , Boolean includeImports , Boolean setSecretsOnSystemProperties )
33+ throws InfisicalException {
34+ var url = String .format ("%s%s" , this .httpClient .GetBaseUrl (), "/api/v3/secrets/raw" );
35+
36+ var queryParameters = new QueryBuilder ()
37+ .add ("workspaceId" , projectId )
38+ .add ("environment" , environmentSlug )
39+ .add ("secretPath" , secretPath )
40+ .add ("expandSecretReferences" , Helper .booleanToString (expandSecretReferences ))
41+ .add ("recursive" , Helper .booleanToString (recursive ))
42+ .add ("includeImports" , Helper .booleanToString (includeImports ))
43+ .build ();
44+
45+ var listSecrets = this .httpClient .get (url , queryParameters , ListSecretsResponse .class );
46+
47+ if (setSecretsOnSystemProperties ) {
48+ for (Secret secret : listSecrets .getSecrets ()) {
49+ System .setProperty (secret .getSecretKey (), secret .getSecretValue ());
50+ }
1751 }
1852
19- public List < Secret > ListSecrets ( String projectId , String environmentSlug , String secretPath , Boolean expandSecretReferences , Boolean recursive , Boolean includeImports , Boolean setSecretsOnSystemProperties ) throws InfisicalException {
20- var url = String . format ( "%s%s" , this . httpClient . GetBaseUrl (), "/api/v3/secrets/raw" );
53+ return listSecrets . getSecrets ();
54+ }
2155
22- var queryParameters = new QueryBuilder ()
23- .add ("workspaceId" , projectId )
24- .add ("environment" , environmentSlug )
25- .add ("secretPath" , secretPath )
26- .add ("expandSecretReferences" , Helper .booleanToString (expandSecretReferences ))
27- .add ("recursive" , Helper .booleanToString (recursive ))
28- .add ("includeImports" , Helper .booleanToString (includeImports ))
29- .build ();
56+ public Secret GetSecret (String secretName , String projectId , String environmentSlug , String secretPath ,
57+ Boolean expandSecretReferences , Boolean includeImports , String secretType ) throws InfisicalException {
58+ var url = String .format ("%s%s" , this .httpClient .GetBaseUrl (), String .format ("/api/v3/secrets/raw/%s" , secretName ));
3059
31- var listSecrets = this .httpClient .get (url , queryParameters , ListSecretsResponse .class );
60+ var queryParameters = new QueryBuilder ()
61+ .add ("workspaceId" , projectId )
62+ .add ("environment" , environmentSlug )
63+ .add ("secretPath" , secretPath )
64+ .add ("expandSecretReferences" , Helper .booleanToString (expandSecretReferences ))
65+ .add ("includeImports" , Helper .booleanToString (includeImports ))
66+ .add ("type" , secretType )
67+ .build ();
3268
33- if (setSecretsOnSystemProperties ) {
34- for (Secret secret : listSecrets .getSecrets ()) {
35- System .setProperty (secret .getSecretKey (), secret .getSecretValue ());
36- }
37- }
69+ var result = this .httpClient .get (url , queryParameters , SingleSecretResponse .class );
3870
39- return listSecrets . getSecrets ();
40- }
71+ return result . getSecret ();
72+ }
4173
42- public Secret GetSecret (String secretName , String projectId , String environmentSlug , String secretPath , Boolean expandSecretReferences , Boolean includeImports , String secretType ) throws InfisicalException {
43- var url = String .format ("%s%s" , this .httpClient .GetBaseUrl (), String .format ("/api/v3/secrets/raw/%s" , secretName ));
74+ public Secret UpdateSecret (String secretName , String projectId , String environmentSlug , String secretPath ,
75+ String newSecretValue , String newSecretName ) throws InfisicalException {
76+ var url = String .format ("%s%s" , this .httpClient .GetBaseUrl (), String .format ("/api/v3/secrets/raw/%s" , secretName ));
4477
45- var queryParameters = new QueryBuilder ()
46- .add ("workspaceId" , projectId )
47- .add ("environment" , environmentSlug )
48- .add ("secretPath" , secretPath )
49- .add ("expandSecretReferences" , Helper .booleanToString (expandSecretReferences ))
50- .add ("includeImports" , Helper .booleanToString (includeImports ))
51- .add ("type" , secretType )
52- .build ();
78+ var inputBuilder = UpdateSecretInput .builder ()
79+ .secretPath (secretPath )
80+ .projectId (projectId )
81+ .environmentSlug (environmentSlug )
82+ .newSecretName (newSecretName )
83+ .secretValue (newSecretValue );
5384
54- var result = this .httpClient .get (url , queryParameters , SingleSecretResponse .class );
85+ if (newSecretName != null )
86+ inputBuilder .newSecretName (newSecretName );
87+ if (newSecretName != null )
88+ inputBuilder .secretValue (newSecretValue );
5589
56- return result .getSecret ();
57- }
90+ var requestInput = inputBuilder .build ();
5891
59- public Secret UpdateSecret (String secretName , String projectId , String environmentSlug , String secretPath , String newSecretValue , String newSecretName ) throws InfisicalException {
60- var url = String .format ("%s%s" , this .httpClient .GetBaseUrl (), String .format ("/api/v3/secrets/raw/%s" , secretName ));
92+ var result = this .httpClient .patch (url , requestInput , SingleSecretResponse .class );
6193
62- var inputBuilder = UpdateSecretInput .builder ()
63- .secretPath (secretPath )
64- .projectId (projectId )
65- .environmentSlug (environmentSlug )
66- .newSecretName (newSecretName )
67- .secretValue (newSecretValue );
94+ return result .getSecret ();
95+ }
6896
69- if (newSecretName != null ) inputBuilder .newSecretName (newSecretName );
70- if (newSecretName != null ) inputBuilder .secretValue (newSecretValue );
97+ public Secret CreateSecret (String secretName , String secretValue , String projectId , String environmentSlug ,
98+ String secretPath ) throws InfisicalException {
99+ var url = String .format ("%s%s" , this .httpClient .GetBaseUrl (), String .format ("/api/v3/secrets/raw/%s" , secretName ));
71100
72- var requestInput = inputBuilder .build ();
101+ var createSecretInput = CreateSecretInput .builder ()
102+ .secretPath (secretPath )
103+ .projectId (projectId )
104+ .environmentSlug (environmentSlug )
105+ .secretValue (secretValue )
106+ .build ();
73107
108+ createSecretInput .setSecretValue (!secretValue .isEmpty () ? secretValue : "" );
74109
75- var result = this .httpClient .patch (url , requestInput , SingleSecretResponse .class );
110+ var result = this .httpClient .post (url , createSecretInput , SingleSecretResponse .class );
76111
77- return result .getSecret ();
78- }
79-
80-
81- public Secret CreateSecret (String secretName , String secretValue , String projectId , String environmentSlug , String secretPath ) throws InfisicalException {
82- var url = String .format ("%s%s" , this .httpClient .GetBaseUrl (), String .format ("/api/v3/secrets/raw/%s" , secretName ));
112+ return result .getSecret ();
113+ }
83114
84- var createSecretInput = CreateSecretInput .builder ()
85- .secretPath (secretPath )
86- .projectId (projectId )
87- .environmentSlug (environmentSlug )
88- .secretValue (secretValue )
89- .build ();
115+ public Secret DeleteSecret (String secretName , String projectId , String environmentSlug , String secretPath )
116+ throws InfisicalException {
117+ var url = String .format ("%s%s" , this .httpClient .GetBaseUrl (), String .format ("/api/v3/secrets/raw/%s" , secretName ));
90118
91- createSecretInput .setSecretValue (!secretValue .isEmpty () ? secretValue : "" );
119+ var deleteSecretInput = DeleteSecretInput .builder ()
120+ .secretPath (secretPath )
121+ .projectId (projectId )
122+ .environmentSlug (environmentSlug )
123+ .build ();
92124
93- var result = this .httpClient .post (url , createSecretInput , SingleSecretResponse .class );
94-
95- return result .getSecret ();
96- }
97-
98- public Secret DeleteSecret (String secretName , String projectId , String environmentSlug , String secretPath ) throws InfisicalException {
99- var url = String .format ("%s%s" , this .httpClient .GetBaseUrl (), String .format ("/api/v3/secrets/raw/%s" , secretName ));
100-
101- var deleteSecretInput = DeleteSecretInput .builder ()
102- .secretPath (secretPath )
103- .projectId (projectId )
104- .environmentSlug (environmentSlug )
105- .build ();
106-
107- var result = this .httpClient .delete (url , deleteSecretInput , SingleSecretResponse .class );
108- return result .getSecret ();
109- }
125+ var result = this .httpClient .delete (url , deleteSecretInput , SingleSecretResponse .class );
126+ return result .getSecret ();
127+ }
110128}
0 commit comments