booth 0.1.1 → 0.1.2

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: dcf27bfc6c4f636766ee1764457f067d7a5c55d081f192735514ba2580e7a5db
4
- data.tar.gz: 67b1e4f7bb2dbebfca56ffdea115eb1b035bb894f8a2b49ef3afd55312c79211
3
+ metadata.gz: a3e8358a1e1709b852c8dffbdcc2a8054719b2e383ac5227040695fe545f86dd
4
+ data.tar.gz: b3dbe83a20f463048b3033c427890160f2b4f159e2b32bf2285bb5f81d7bff4e
5
5
  SHA512:
6
- metadata.gz: 65900f930895224c41eb582731d43b7faad4780a92e4bd319d6a692e4148c6a733620406fa3f295d059e0661c44304a45b87f695e623e48230ef5af3b89c6e4b
7
- data.tar.gz: c9301b3babf34c6e40b2dc23e2501d2fc0c3d543872fc37614771b0c7fbd75f2d6905fab4a0a4a07d88dc01590fc83083409bf4e070f76326f5ff98f6995ca52
6
+ metadata.gz: e4c116542803bbd8c2c7ff0cbe053e5bcff066932f1d375628849e98dadfe26c83f6f705268ebba22d831d425f64fdf103d94ec8b06d015943fdd11542d04c08
7
+ data.tar.gz: 56b567aa1747e0afd048660c3e74319cdf4ff66b198b72a486dc6ea6c0f8b873a0a59f4a08d00ba678248cf198c06f3166ad2c1376805039a266dfc12e8fff82
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # main
2
2
 
3
+ # 0.1.2
4
+
5
+ - Idempodent impersonation (now respecting unique DB constraints)
6
+
3
7
  # 0.1.1
4
8
 
5
9
  - Replace `Booth::Adminland.issue_incognito_token` with `generate_incognito_secret_key`
@@ -43,12 +43,11 @@ module Booth
43
43
  Tron.success :target_credential_found
44
44
  end
45
45
 
46
- # incognito_credential_id has a unique index only one active incognito
47
- # per impersonator. Revoke any existing one before creating a new session.
46
+ # incognito_credential_id has a unique index (only one session per impersonator).
47
+ # Clear the stale reference on any prior session before creating a new one.
48
48
  def do_revoke_existing_incognito
49
49
  existing = ::Booth::Models::Session.find_by(
50
50
  incognito_credential_id: impersonator_credential_id,
51
- revoked_at: nil,
52
51
  )
53
52
 
54
53
  return Tron.success(:no_existing_incognito) unless existing
@@ -55,7 +55,11 @@ module Booth
55
55
  end
56
56
 
57
57
  def do_revoke_incognito
58
- current_session.update!(revoked_at: Time.current, revoke_reason: :incognito_stopped)
58
+ current_session.update!(
59
+ revoked_at: Time.current,
60
+ revoke_reason: :incognito_stopped,
61
+ incognito_credential_id: nil,
62
+ )
59
63
  Tron.success :incognito_revoked
60
64
  end
61
65
 
data/lib/booth/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Booth
4
- VERSION = '0.1.1'
4
+ VERSION = '0.1.2'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: booth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - halo