keyenv 1.2.3 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/keyenv/client.rb +17 -17
- data/lib/keyenv/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fa141048d215759e4f13e3d170f7b013a9976bbe7a4436d30fd81607b9940f5b
|
|
4
|
+
data.tar.gz: 343bd22ca25d9e0e947b7a3177b97a4e8727c74b26d2f6e5982b275d18661dd7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4413c55d51d373f4bcaae2fc9a68d3fd511c8990e6c07cc7fca70622f71c3c415359bc199ea985488c5e2d7b3aeef87556dcf3e61b82432cccc1d8349104ae0b
|
|
7
|
+
data.tar.gz: bc5eb4159cbaa3df2056008ff6fe127b08c9c858521b744cb801aa8e5f51ceee832f1d308dc14c472b021fb8e9d595b5b39e63465d10203bfadb9aa861444d98
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.2.4](https://github.com/keyenv/ruby-sdk/compare/v1.2.3...v1.2.4) (2026-02-24)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* unwrap data envelope for single-resource API responses ([#5](https://github.com/keyenv/ruby-sdk/issues/5)) ([8303187](https://github.com/keyenv/ruby-sdk/commit/83031875540ffb2cc602059cd98090f0045ec70c))
|
|
14
|
+
|
|
8
15
|
## [1.2.3](https://github.com/keyenv/ruby-sdk/compare/v1.2.2...v1.2.3) (2026-02-16)
|
|
9
16
|
|
|
10
17
|
|
data/lib/keyenv/client.rb
CHANGED
|
@@ -43,7 +43,7 @@ module KeyEnv
|
|
|
43
43
|
# @return [User] Current user/token info
|
|
44
44
|
def get_current_user
|
|
45
45
|
data = request(:get, "/api/v1/users/me")
|
|
46
|
-
User.new(data)
|
|
46
|
+
User.new(data["data"] || data)
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
# Validate the token and return user info.
|
|
@@ -62,7 +62,7 @@ module KeyEnv
|
|
|
62
62
|
# @return [Array<Project>] List of projects
|
|
63
63
|
def list_projects
|
|
64
64
|
data = request(:get, "/api/v1/projects")
|
|
65
|
-
(data["
|
|
65
|
+
(data["data"] || []).map { |p| Project.new(p) }
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
# Get a project by ID.
|
|
@@ -71,7 +71,7 @@ module KeyEnv
|
|
|
71
71
|
# @return [ProjectWithEnvironments] Project with environments
|
|
72
72
|
def get_project(project_id:)
|
|
73
73
|
data = request(:get, "/api/v1/projects/#{project_id}")
|
|
74
|
-
ProjectWithEnvironments.new(data)
|
|
74
|
+
ProjectWithEnvironments.new(data["data"] || data)
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
# Create a new project.
|
|
@@ -81,7 +81,7 @@ module KeyEnv
|
|
|
81
81
|
# @return [Project] Created project
|
|
82
82
|
def create_project(team_id:, name:)
|
|
83
83
|
data = request(:post, "/api/v1/projects", { team_id: team_id, name: name })
|
|
84
|
-
Project.new(data)
|
|
84
|
+
Project.new(data["data"] || data)
|
|
85
85
|
end
|
|
86
86
|
|
|
87
87
|
# Delete a project.
|
|
@@ -102,7 +102,7 @@ module KeyEnv
|
|
|
102
102
|
# @return [Array<Environment>] List of environments
|
|
103
103
|
def list_environments(project_id:)
|
|
104
104
|
data = request(:get, "/api/v1/projects/#{project_id}/environments")
|
|
105
|
-
(data["
|
|
105
|
+
(data["data"] || []).map { |e| Environment.new(e) }
|
|
106
106
|
end
|
|
107
107
|
|
|
108
108
|
# Create a new environment.
|
|
@@ -115,7 +115,7 @@ module KeyEnv
|
|
|
115
115
|
payload = { name: name }
|
|
116
116
|
payload[:inherits_from] = inherits_from if inherits_from
|
|
117
117
|
data = request(:post, "/api/v1/projects/#{project_id}/environments", payload)
|
|
118
|
-
Environment.new(data)
|
|
118
|
+
Environment.new(data["data"] || data)
|
|
119
119
|
end
|
|
120
120
|
|
|
121
121
|
# Delete an environment.
|
|
@@ -138,7 +138,7 @@ module KeyEnv
|
|
|
138
138
|
# @return [Array<Secret>] List of secrets
|
|
139
139
|
def list_secrets(project_id:, environment:)
|
|
140
140
|
data = request(:get, "/api/v1/projects/#{project_id}/environments/#{environment}/secrets")
|
|
141
|
-
(data["
|
|
141
|
+
(data["data"] || []).map { |s| Secret.new(s) }
|
|
142
142
|
end
|
|
143
143
|
|
|
144
144
|
# Export all secrets with their decrypted values.
|
|
@@ -160,7 +160,7 @@ module KeyEnv
|
|
|
160
160
|
end
|
|
161
161
|
|
|
162
162
|
data = request(:get, "/api/v1/projects/#{project_id}/environments/#{environment}/secrets/export")
|
|
163
|
-
secrets = (data["
|
|
163
|
+
secrets = (data["data"] || []).map { |s| SecretWithValue.new(s) }
|
|
164
164
|
|
|
165
165
|
# Store in cache if TTL > 0
|
|
166
166
|
if @cache_ttl.positive?
|
|
@@ -188,7 +188,7 @@ module KeyEnv
|
|
|
188
188
|
# @return [SecretWithValue] Secret with value
|
|
189
189
|
def get_secret(project_id:, environment:, key:)
|
|
190
190
|
data = request(:get, "/api/v1/projects/#{project_id}/environments/#{environment}/secrets/#{key}")
|
|
191
|
-
SecretWithValue.new(data["
|
|
191
|
+
SecretWithValue.new(data["data"] || data)
|
|
192
192
|
end
|
|
193
193
|
|
|
194
194
|
# Create a new secret.
|
|
@@ -204,7 +204,7 @@ module KeyEnv
|
|
|
204
204
|
payload[:description] = description if description
|
|
205
205
|
data = request(:post, "/api/v1/projects/#{project_id}/environments/#{environment}/secrets", payload)
|
|
206
206
|
clear_cache(project_id: project_id, environment: environment)
|
|
207
|
-
Secret.new(data["
|
|
207
|
+
Secret.new(data["data"] || data)
|
|
208
208
|
end
|
|
209
209
|
|
|
210
210
|
# Update a secret's value.
|
|
@@ -220,7 +220,7 @@ module KeyEnv
|
|
|
220
220
|
payload[:description] = description unless description.nil?
|
|
221
221
|
data = request(:put, "/api/v1/projects/#{project_id}/environments/#{environment}/secrets/#{key}", payload)
|
|
222
222
|
clear_cache(project_id: project_id, environment: environment)
|
|
223
|
-
Secret.new(data["
|
|
223
|
+
Secret.new(data["data"] || data)
|
|
224
224
|
end
|
|
225
225
|
|
|
226
226
|
# Set a secret (create or update).
|
|
@@ -256,7 +256,7 @@ module KeyEnv
|
|
|
256
256
|
# @return [Array<SecretHistory>] Secret version history
|
|
257
257
|
def get_secret_history(project_id:, environment:, key:)
|
|
258
258
|
data = request(:get, "/api/v1/projects/#{project_id}/environments/#{environment}/secrets/#{key}/history")
|
|
259
|
-
(data["
|
|
259
|
+
(data["data"] || []).map { |h| SecretHistory.new(h) }
|
|
260
260
|
end
|
|
261
261
|
|
|
262
262
|
# Bulk import secrets.
|
|
@@ -274,7 +274,7 @@ module KeyEnv
|
|
|
274
274
|
{ secrets: secret_list, overwrite: overwrite }
|
|
275
275
|
)
|
|
276
276
|
clear_cache(project_id: project_id, environment: environment)
|
|
277
|
-
BulkImportResult.new(data)
|
|
277
|
+
BulkImportResult.new(data["data"] || data)
|
|
278
278
|
end
|
|
279
279
|
|
|
280
280
|
# =========================================================================
|
|
@@ -345,7 +345,7 @@ module KeyEnv
|
|
|
345
345
|
# @return [Array<EnvironmentPermission>] List of permissions
|
|
346
346
|
def list_permissions(project_id:, environment:)
|
|
347
347
|
data = request(:get, "/api/v1/projects/#{project_id}/environments/#{environment}/permissions")
|
|
348
|
-
(data["
|
|
348
|
+
(data["data"] || []).map { |p| EnvironmentPermission.new(p) }
|
|
349
349
|
end
|
|
350
350
|
|
|
351
351
|
# Set a user's permission for an environment.
|
|
@@ -386,7 +386,7 @@ module KeyEnv
|
|
|
386
386
|
"/api/v1/projects/#{project_id}/environments/#{environment}/permissions",
|
|
387
387
|
{ permissions: permissions }
|
|
388
388
|
)
|
|
389
|
-
(data["
|
|
389
|
+
(data["data"] || []).map { |p| EnvironmentPermission.new(p) }
|
|
390
390
|
end
|
|
391
391
|
|
|
392
392
|
# Get current user's permissions for all environments in a project.
|
|
@@ -406,7 +406,7 @@ module KeyEnv
|
|
|
406
406
|
# @return [Array<ProjectDefault>] List of project defaults
|
|
407
407
|
def get_project_defaults(project_id:)
|
|
408
408
|
data = request(:get, "/api/v1/projects/#{project_id}/permissions/defaults")
|
|
409
|
-
(data["
|
|
409
|
+
(data["data"] || []).map { |d| ProjectDefault.new(d) }
|
|
410
410
|
end
|
|
411
411
|
|
|
412
412
|
# Set default permissions for a project.
|
|
@@ -420,7 +420,7 @@ module KeyEnv
|
|
|
420
420
|
"/api/v1/projects/#{project_id}/permissions/defaults",
|
|
421
421
|
{ defaults: defaults }
|
|
422
422
|
)
|
|
423
|
-
(data["
|
|
423
|
+
(data["data"] || []).map { |d| ProjectDefault.new(d) }
|
|
424
424
|
end
|
|
425
425
|
|
|
426
426
|
private
|
data/lib/keyenv/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: keyenv
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- KeyEnv
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-02-
|
|
11
|
+
date: 2026-02-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|