localvault 0.9.7 → 0.9.8
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/lib/localvault/cli/team.rb +30 -1
- data/lib/localvault/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fb41c4ac2d8dd408f4e1add9e9d79a7ec8f3f9fc139a8c8575008d0c0a4dd53d
|
|
4
|
+
data.tar.gz: d530b0a5e4924f270fe7386a6efb46feaf8ebd27f4b6474b288a6567fc31a9a5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 48c14b4bca2e1de6e48e35f8fba1a44bfb63d2291d86e6a60b4c07baa9b07d77180b8e511c9ad1a93c80681f4ec4c17c885707bb6c50b24545f973c4d770adb2
|
|
7
|
+
data.tar.gz: 56c1b8aa333146e7d2553e5c8a81dbaa8077f4185f5b76208086e72a886f2db253e8334232076ca7b6c16ee16bebad391713cbe472f1db75978bfbb7a6107370
|
data/lib/localvault/cli/team.rb
CHANGED
|
@@ -4,13 +4,14 @@ module LocalVault
|
|
|
4
4
|
class CLI
|
|
5
5
|
class Team < Thor
|
|
6
6
|
desc "list [VAULT]", "Show who has access to a vault"
|
|
7
|
+
method_option :vault, type: :string, aliases: "-v"
|
|
7
8
|
def list(vault_name = nil)
|
|
8
9
|
unless Config.token
|
|
9
10
|
$stderr.puts "Error: Not connected. Run: localvault connect --token TOKEN --handle HANDLE"
|
|
10
11
|
return
|
|
11
12
|
end
|
|
12
13
|
|
|
13
|
-
vault_name ||= Config.default_vault
|
|
14
|
+
vault_name ||= options[:vault] || Config.default_vault
|
|
14
15
|
client = ApiClient.new(token: Config.token)
|
|
15
16
|
result = client.sent_shares(vault_name: vault_name)
|
|
16
17
|
shares = (result["shares"] || []).reject { |s| s["status"] == "revoked" }
|
|
@@ -32,6 +33,34 @@ module LocalVault
|
|
|
32
33
|
rescue ApiClient::ApiError => e
|
|
33
34
|
$stderr.puts "Error: #{e.message}"
|
|
34
35
|
end
|
|
36
|
+
|
|
37
|
+
desc "remove HANDLE", "Remove a person's access to a vault"
|
|
38
|
+
method_option :vault, type: :string, aliases: "-v"
|
|
39
|
+
def remove(handle)
|
|
40
|
+
unless Config.token
|
|
41
|
+
$stderr.puts "Error: Not connected. Run: localvault connect --token TOKEN --handle HANDLE"
|
|
42
|
+
return
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
handle = handle.delete_prefix("@")
|
|
46
|
+
vault_name = options[:vault] || Config.default_vault
|
|
47
|
+
client = ApiClient.new(token: Config.token)
|
|
48
|
+
|
|
49
|
+
result = client.sent_shares(vault_name: vault_name)
|
|
50
|
+
share = (result["shares"] || []).find do |s|
|
|
51
|
+
s["recipient_handle"] == handle && s["status"] != "revoked"
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
unless share
|
|
55
|
+
$stderr.puts "Error: No active share found for @#{handle}."
|
|
56
|
+
return
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
client.revoke_share(share["id"])
|
|
60
|
+
$stdout.puts "Removed @#{handle} from vault '#{vault_name}'."
|
|
61
|
+
rescue ApiClient::ApiError => e
|
|
62
|
+
$stderr.puts "Error: #{e.message}"
|
|
63
|
+
end
|
|
35
64
|
end
|
|
36
65
|
end
|
|
37
66
|
end
|
data/lib/localvault/version.rb
CHANGED