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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6c83c59a70defa431aff5c24ddaf567b90363c38faa1498d764e41cb15130e91
4
- data.tar.gz: 23f6f02e4e17b3fa94e25cdc8266022e2dbe173444381813caed959f4bdd6d04
3
+ metadata.gz: fb41c4ac2d8dd408f4e1add9e9d79a7ec8f3f9fc139a8c8575008d0c0a4dd53d
4
+ data.tar.gz: d530b0a5e4924f270fe7386a6efb46feaf8ebd27f4b6474b288a6567fc31a9a5
5
5
  SHA512:
6
- metadata.gz: 39f17c0a2ab68e9c4ca99d7bdfc92451548da65640fafdf02fad4dcb50dd7105d42d1861f46183a8928a1159d1e0cb24a2f0dca120f359ed384f5785c77f1375
7
- data.tar.gz: b34099c10e14a8547ef3cca0953310e36995b082e308898b01fedfc710c487628f8e1d96d9f6e65adee33d7f832d77042f52a52f3dc4697b10148b427ed23daa
6
+ metadata.gz: 48c14b4bca2e1de6e48e35f8fba1a44bfb63d2291d86e6a60b4c07baa9b07d77180b8e511c9ad1a93c80681f4ec4c17c885707bb6c50b24545f973c4d770adb2
7
+ data.tar.gz: 56c1b8aa333146e7d2553e5c8a81dbaa8077f4185f5b76208086e72a886f2db253e8334232076ca7b6c16ee16bebad391713cbe472f1db75978bfbb7a6107370
@@ -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
@@ -1,3 +1,3 @@
1
1
  module LocalVault
2
- VERSION = "0.9.7"
2
+ VERSION = "0.9.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: localvault
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.7
4
+ version: 0.9.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nauman Tariq