noresponse 7.0.5 → 7.1.1

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.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/lib/no_response/keys.rb +866 -0
  3. data/lib/no_response/late_results.rb +5 -3
  4. data/lib/no_response/models/operations/createkey_request.rb +37 -0
  5. data/lib/no_response/models/operations/createkey_request.rbi +20 -0
  6. data/lib/no_response/models/operations/createkey_response.rb +32 -0
  7. data/lib/no_response/models/operations/createkey_response.rbi +20 -0
  8. data/lib/no_response/models/operations/getsettings_request.rb +41 -0
  9. data/lib/no_response/models/operations/getsettings_request.rbi +20 -0
  10. data/lib/no_response/models/operations/getsettings_response.rb +32 -0
  11. data/lib/no_response/models/operations/getsettings_response.rbi +20 -0
  12. data/lib/no_response/models/operations/listaccounts_request.rb +1 -1
  13. data/lib/no_response/models/operations/listkeys_request.rb +33 -0
  14. data/lib/no_response/models/operations/listkeys_request.rbi +14 -0
  15. data/lib/no_response/models/operations/listkeys_response.rb +32 -0
  16. data/lib/no_response/models/operations/listkeys_response.rbi +20 -0
  17. data/lib/no_response/models/operations/revokekey_request.rb +37 -0
  18. data/lib/no_response/models/operations/revokekey_request.rbi +20 -0
  19. data/lib/no_response/models/operations/revokekey_response.rb +32 -0
  20. data/lib/no_response/models/operations/revokekey_response.rbi +20 -0
  21. data/lib/no_response/models/operations/updatesettings_request.rb +52 -0
  22. data/lib/no_response/models/operations/updatesettings_request.rbi +26 -0
  23. data/lib/no_response/models/operations/updatesettings_response.rb +32 -0
  24. data/lib/no_response/models/operations/updatesettings_response.rbi +20 -0
  25. data/lib/no_response/models/operations.rb +10 -0
  26. data/lib/no_response/models/shared/admission.rb +19 -0
  27. data/lib/no_response/models/shared/admission.rbi +9 -0
  28. data/lib/no_response/models/shared/conflicterrorcode.rb +2 -0
  29. data/lib/no_response/models/shared/defaultdepth.rb +19 -0
  30. data/lib/no_response/models/shared/defaultdepth.rbi +9 -0
  31. data/lib/no_response/models/shared/enforcement.rb +1 -1
  32. data/lib/no_response/models/shared/enforcementaction.rb +2 -1
  33. data/lib/no_response/models/shared/enforcementrequest.rb +1 -1
  34. data/lib/no_response/models/shared/flowchange.rb +136 -0
  35. data/lib/no_response/models/shared/flowchange.rbi +62 -0
  36. data/lib/no_response/models/shared/flowsettings.rb +127 -0
  37. data/lib/no_response/models/shared/flowsettings.rbi +56 -0
  38. data/lib/no_response/models/shared/key.rb +158 -0
  39. data/lib/no_response/models/shared/key.rbi +80 -0
  40. data/lib/no_response/models/shared/{scope.rb → key_scope.rb} +2 -1
  41. data/lib/no_response/models/shared/{scope.rbi → key_scope.rbi} +2 -2
  42. data/lib/no_response/models/shared/keyenvironment.rb +19 -0
  43. data/lib/no_response/models/shared/keyenvironment.rbi +9 -0
  44. data/lib/no_response/models/shared/keylist.rb +32 -0
  45. data/lib/no_response/models/shared/keylist.rbi +14 -0
  46. data/lib/no_response/models/shared/keyrequest.rb +49 -0
  47. data/lib/no_response/models/shared/keyrequest.rbi +20 -0
  48. data/lib/no_response/models/shared/keyrequest_scope.rb +21 -0
  49. data/lib/no_response/models/shared/keyrequest_scope.rbi +9 -0
  50. data/lib/no_response/models/shared/keyrotation.rb +2 -2
  51. data/lib/no_response/models/shared/keyrotation_scope.rb +24 -0
  52. data/lib/no_response/models/shared/keyrotation_scope.rbi +9 -0
  53. data/lib/no_response/models/shared/keystatus.rb +20 -0
  54. data/lib/no_response/models/shared/keystatus.rbi +9 -0
  55. data/lib/no_response/models/shared/onexpiry.rb +20 -0
  56. data/lib/no_response/models/shared/onexpiry.rbi +9 -0
  57. data/lib/no_response/models/shared/permissiondeniederrorcode.rb +1 -0
  58. data/lib/no_response/models/shared/settings.rb +116 -0
  59. data/lib/no_response/models/shared/settings.rbi +56 -0
  60. data/lib/no_response/models/shared/settingsflows.rb +56 -0
  61. data/lib/no_response/models/shared/settingsflows.rbi +26 -0
  62. data/lib/no_response/models/shared/settingsrequest.rb +55 -0
  63. data/lib/no_response/models/shared/settingsrequest.rbi +26 -0
  64. data/lib/no_response/models/shared/settingsrequestflows.rb +65 -0
  65. data/lib/no_response/models/shared/settingsrequestflows.rbi +32 -0
  66. data/lib/no_response/models/shared/sourceid.rb +23 -0
  67. data/lib/no_response/models/shared/sourceid.rbi +9 -0
  68. data/lib/no_response/models/shared.rb +18 -1
  69. data/lib/no_response/noresponseclient.rb +2 -1
  70. data/lib/no_response/sdkconfiguration.rb +2 -2
  71. data/lib/no_response/settings.rb +633 -0
  72. data/lib/noresponse.rb +1 -0
  73. metadata +58 -3
@@ -10,7 +10,9 @@
10
10
  # account is in your own flow, and takes the actions the table names for that
11
11
  # state and the decision of its flow:
12
12
  #
13
+ # onboarding account_creation allow activate
13
14
  # onboarding account_creation review/block fail_onboarding, revoke_sessions
15
+ # provisional account_creation allow activate
14
16
  # provisional account_creation review/block reject_activation, revoke_sessions
15
17
  # active login review revoke_sessions
16
18
  # active login block restrict, revoke_sessions
@@ -27,7 +29,7 @@ require 'json'
27
29
 
28
30
  module NoResponse
29
31
  module LateResults
30
- TABLE = JSON.parse('{"lifecycle":{"onboarding":{"flow":"account_creation","on":{"review":["fail_onboarding","revoke_sessions"],"block":["fail_onboarding","revoke_sessions"]}},"provisional":{"flow":"account_creation","on":{"review":["reject_activation","revoke_sessions"],"block":["reject_activation","revoke_sessions"]}},"active":{"flow":"login","on":{"review":["revoke_sessions"],"block":["restrict","revoke_sessions"]}},"restricted":{"flow":"login","on":{},"reinstate":{"allow":["unrestrict"]}},"rejected":{"flow":"account_creation","on":{}}},"providers":{"clerk":{"base_url":"https://api.clerk.com/v1","actions":{"fail_onboarding":[{"call":{"method":"POST","path":"/users/{user}/ban"}}],"reject_activation":[{"call":{"method":"POST","path":"/users/{user}/ban"}}],"restrict":[{"call":{"method":"POST","path":"/users/{user}/ban"}}],"unrestrict":[{"call":{"method":"POST","path":"/users/{user}/unban"}}],"revoke_sessions":[{"each":{"list":{"method":"GET","path":"/sessions","query":{"user_id":"{user}","status":"active","limit":"100"}},"page":{"kind":"offset","param":"offset","size":100},"where":{"status":"active"}},"call":{"method":"POST","path":"/sessions/{item}/revoke"}}]}},"workos":{"base_url":"https://api.workos.com","actions":{"fail_onboarding":[{"call":{"method":"PUT","path":"/user_management/users/{user}","body":{"metadata":{"noresponse_state":"onboarding_failed"}}}}],"reject_activation":[{"call":{"method":"PUT","path":"/user_management/users/{user}","body":{"metadata":{"noresponse_state":"activation_rejected"}}}}],"restrict":[{"call":{"method":"PUT","path":"/user_management/users/{user}","body":{"metadata":{"noresponse_state":"restricted"}}}}],"unrestrict":[{"call":{"method":"PUT","path":"/user_management/users/{user}","body":{"metadata":{"noresponse_state":null}}}}],"revoke_sessions":[{"each":{"list":{"method":"GET","path":"/user_management/users/{user}/sessions","query":{"limit":"100"}},"page":{"kind":"cursor","param":"after","next":["list_metadata","after"]},"where":{"status":"active"}},"call":{"method":"POST","path":"/user_management/sessions/revoke","body":{"session_id":"{item}"}}}]}},"auth0":{"base_url":"https://{domain}/api/v2","actions":{"fail_onboarding":[{"call":{"method":"PATCH","path":"/users/{user}","body":{"blocked":true}}}],"reject_activation":[{"call":{"method":"PATCH","path":"/users/{user}","body":{"blocked":true}}}],"restrict":[{"call":{"method":"PATCH","path":"/users/{user}","body":{"blocked":true}}}],"unrestrict":[{"call":{"method":"PATCH","path":"/users/{user}","body":{"blocked":false}}}],"revoke_sessions":[{"call":{"method":"DELETE","path":"/users/{user}/sessions"},"fallback":{"status":403,"code":"feature_not_enabled","reports":"restrict","steps":[{"call":{"method":"PATCH","path":"/users/{user}","body":{"blocked":true}}}]}},{"call":{"method":"DELETE","path":"/users/{user}/refresh-tokens"},"fallback":{"status":403,"code":"feature_not_enabled","steps":[{"each":{"list":{"method":"GET","path":"/device-credentials","query":{"user_id":"{user}","type":"refresh_token","per_page":"100"}},"page":{"kind":"index","param":"page","size":100}},"call":{"method":"DELETE","path":"/device-credentials/{item}"}},{"each":{"list":{"method":"GET","path":"/device-credentials","query":{"user_id":"{user}","type":"rotating_refresh_token","per_page":"100"}},"page":{"kind":"index","param":"page","size":100}},"call":{"method":"DELETE","path":"/device-credentials/{item}"}}]}}]}}},"limits":{"retries":4,"budget_ms":3000,"backoff_ms":250,"max_pages":100}}').freeze
32
+ TABLE = JSON.parse('{"lifecycle":{"onboarding":{"flow":"account_creation","on":{"allow":["activate"],"review":["fail_onboarding","revoke_sessions"],"block":["fail_onboarding","revoke_sessions"]}},"provisional":{"flow":"account_creation","on":{"allow":["activate"],"review":["reject_activation","revoke_sessions"],"block":["reject_activation","revoke_sessions"]}},"active":{"flow":"login","on":{"review":["revoke_sessions"],"block":["restrict","revoke_sessions"]}},"restricted":{"flow":"login","on":{},"reinstate":{"allow":["unrestrict"]}},"rejected":{"flow":"account_creation","on":{}}},"providers":{"clerk":{"base_url":"https://api.clerk.com/v1","actions":{"fail_onboarding":[{"call":{"method":"POST","path":"/users/{user}/ban"}}],"reject_activation":[{"call":{"method":"POST","path":"/users/{user}/ban"}}],"activate":[],"restrict":[{"call":{"method":"POST","path":"/users/{user}/ban"}}],"unrestrict":[{"call":{"method":"POST","path":"/users/{user}/unban"}}],"revoke_sessions":[{"each":{"list":{"method":"GET","path":"/sessions","query":{"user_id":"{user}","status":"active","limit":"100"}},"page":{"kind":"offset","param":"offset","size":100},"where":{"status":"active"}},"call":{"method":"POST","path":"/sessions/{item}/revoke"}}]}},"workos":{"base_url":"https://api.workos.com","actions":{"fail_onboarding":[{"call":{"method":"PUT","path":"/user_management/users/{user}","body":{"metadata":{"noresponse_state":"onboarding_failed"}}}}],"reject_activation":[{"call":{"method":"PUT","path":"/user_management/users/{user}","body":{"metadata":{"noresponse_state":"activation_rejected"}}}}],"activate":[],"restrict":[{"call":{"method":"PUT","path":"/user_management/users/{user}","body":{"metadata":{"noresponse_state":"restricted"}}}}],"unrestrict":[{"call":{"method":"PUT","path":"/user_management/users/{user}","body":{"metadata":{"noresponse_state":null}}}}],"revoke_sessions":[{"each":{"list":{"method":"GET","path":"/user_management/users/{user}/sessions","query":{"limit":"100"}},"page":{"kind":"cursor","param":"after","next":["list_metadata","after"]},"where":{"status":"active"}},"call":{"method":"POST","path":"/user_management/sessions/revoke","body":{"session_id":"{item}"}}}]}},"auth0":{"base_url":"https://{domain}/api/v2","actions":{"fail_onboarding":[{"call":{"method":"PATCH","path":"/users/{user}","body":{"blocked":true}}}],"reject_activation":[{"call":{"method":"PATCH","path":"/users/{user}","body":{"blocked":true}}}],"activate":[],"restrict":[{"call":{"method":"PATCH","path":"/users/{user}","body":{"blocked":true}}}],"unrestrict":[{"call":{"method":"PATCH","path":"/users/{user}","body":{"blocked":false}}}],"revoke_sessions":[{"call":{"method":"DELETE","path":"/users/{user}/sessions"},"fallback":{"status":403,"code":"feature_not_enabled","reports":"restrict","steps":[{"call":{"method":"PATCH","path":"/users/{user}","body":{"blocked":true}}}]}},{"call":{"method":"DELETE","path":"/users/{user}/refresh-tokens"},"fallback":{"status":403,"code":"feature_not_enabled","steps":[{"each":{"list":{"method":"GET","path":"/device-credentials","query":{"user_id":"{user}","type":"refresh_token","per_page":"100"}},"page":{"kind":"index","param":"page","size":100}},"call":{"method":"DELETE","path":"/device-credentials/{item}"}},{"each":{"list":{"method":"GET","path":"/device-credentials","query":{"user_id":"{user}","type":"rotating_refresh_token","per_page":"100"}},"page":{"kind":"index","param":"page","size":100}},"call":{"method":"DELETE","path":"/device-credentials/{item}"}}]}}]}}},"limits":{"retries":4,"budget_ms":3000,"backoff_ms":250,"max_pages":100}}').freeze
31
33
  LIMITS = TABLE.fetch('limits')
32
34
  # Every action a provider runs, as the table names them.
33
35
  ACTIONS = TABLE.fetch('providers').values.first.fetch('actions').keys.freeze
@@ -123,8 +125,8 @@ module NoResponse
123
125
  end
124
126
 
125
127
  if actions.nil? || actions.empty?
126
- # An adverse or step_up decision that needs nothing still counts as handled.
127
- record.call('none', 'applied') unless decision == 'allow'
128
+ # A decision that needs nothing, allow too, still counts as handled, so the account leaves the unenforced feed.
129
+ record.call('none', 'applied')
128
130
  return EnforcementResult.new(account: account, state: state, risk_version: risk_version, enforcements: enforcements)
129
131
  end
130
132
 
@@ -0,0 +1,37 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Operations
7
+
8
+ class CreateKeyRequest
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ # Your workspace id, as each key lists it in workspace_id. Another workspace, a malformed id and a test environment's id answer 404.
13
+ field(
14
+ :workspace_id,
15
+ ::String,
16
+ {'path_param': {'field_name': "workspace_id", 'style': "simple", 'explode': false}}
17
+ )
18
+
19
+ field :body, Models::Shared::KeyRequest, {'request': {'media_type': "application/json"}}
20
+
21
+ sig { params(workspace_id: ::String, body: Models::Shared::KeyRequest).void }
22
+ def initialize(workspace_id:, body:)
23
+ @workspace_id = workspace_id
24
+ @body = body
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a?(self.class)
30
+ return false unless @workspace_id == other.workspace_id
31
+ return false unless @body == other.body
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Operations::CreateKeyRequest
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Operations::CreateKeyRequest
9
+ def workspace_id
10
+ end
11
+
12
+ def workspace_id=(str_)
13
+ end
14
+
15
+ def body
16
+ end
17
+
18
+ def body=(str_)
19
+ end
20
+ end
@@ -0,0 +1,32 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Operations
7
+
8
+ class CreateKeyResponse
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
13
+
14
+ field :result, Models::Shared::Key, {}
15
+
16
+ sig { params(headers: T::Hash[Symbol, T::Array[::String]], result: Models::Shared::Key).void }
17
+ def initialize(headers:, result:)
18
+ @headers = headers
19
+ @result = result
20
+ end
21
+
22
+ sig { params(other: T.untyped).returns(T::Boolean) }
23
+ def ==(other)
24
+ return false unless other.is_a?(self.class)
25
+ return false unless @headers == other.headers
26
+ return false unless @result == other.result
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Operations::CreateKeyResponse
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Operations::CreateKeyResponse
9
+ def headers
10
+ end
11
+
12
+ def headers=(str_)
13
+ end
14
+
15
+ def result
16
+ end
17
+
18
+ def result=(str_)
19
+ end
20
+ end
@@ -0,0 +1,41 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Operations
7
+
8
+ class GetSettingsRequest
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ # Your workspace id, as each key lists it in workspace_id. Another workspace, a malformed id and a test environment's id answer 404.
13
+ field(
14
+ :workspace_id,
15
+ ::String,
16
+ {'path_param': {'field_name': "workspace_id", 'style': "simple", 'explode': false}}
17
+ )
18
+ # The environment: live or test. Each has its own settings. Any other value answers 400. An API key reads and changes only its own environment's; the other answers 404.
19
+ field(
20
+ :environment,
21
+ Models::Shared::KeyEnvironment,
22
+ {'path_param': {'field_name': "environment", 'style': "simple", 'explode': false}}
23
+ )
24
+
25
+ sig { params(workspace_id: ::String, environment: Models::Shared::KeyEnvironment).void }
26
+ def initialize(workspace_id:, environment:)
27
+ @workspace_id = workspace_id
28
+ @environment = environment
29
+ end
30
+
31
+ sig { params(other: T.untyped).returns(T::Boolean) }
32
+ def ==(other)
33
+ return false unless other.is_a?(self.class)
34
+ return false unless @workspace_id == other.workspace_id
35
+ return false unless @environment == other.environment
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Operations::GetSettingsRequest
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Operations::GetSettingsRequest
9
+ def workspace_id
10
+ end
11
+
12
+ def workspace_id=(str_)
13
+ end
14
+
15
+ def environment
16
+ end
17
+
18
+ def environment=(str_)
19
+ end
20
+ end
@@ -0,0 +1,32 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Operations
7
+
8
+ class GetSettingsResponse
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
13
+
14
+ field :result, Models::Shared::Settings, {}
15
+
16
+ sig { params(headers: T::Hash[Symbol, T::Array[::String]], result: Models::Shared::Settings).void }
17
+ def initialize(headers:, result:)
18
+ @headers = headers
19
+ @result = result
20
+ end
21
+
22
+ sig { params(other: T.untyped).returns(T::Boolean) }
23
+ def ==(other)
24
+ return false unless other.is_a?(self.class)
25
+ return false unless @headers == other.headers
26
+ return false unless @result == other.result
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Operations::GetSettingsResponse
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Operations::GetSettingsResponse
9
+ def headers
10
+ end
11
+
12
+ def headers=(str_)
13
+ end
14
+
15
+ def result
16
+ end
17
+
18
+ def result=(str_)
19
+ end
20
+ end
@@ -21,7 +21,7 @@ module NoResponse
21
21
  Crystalline::Nilable.new(::Integer),
22
22
  {'query_param': {'field_name': "limit", 'style': "form", 'explode': true}}
23
23
  )
24
- # true lists only accounts with a decision other than allow for some flow and no applied enforcement at their current risk_version.
24
+ # true lists only accounts with no applied enforcement at their current risk_version that have a decision other than allow for some flow or a hold no later applied enforcement resolved.
25
25
  field(
26
26
  :unenforced,
27
27
  Crystalline::Nilable.new(Crystalline::Boolean.new),
@@ -0,0 +1,33 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Operations
7
+
8
+ class ListKeysRequest
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ # Your workspace id, as each key lists it in workspace_id. Another workspace, a malformed id and a test environment's id answer 404.
13
+ field(
14
+ :workspace_id,
15
+ ::String,
16
+ {'path_param': {'field_name': "workspace_id", 'style': "simple", 'explode': false}}
17
+ )
18
+
19
+ sig { params(workspace_id: ::String).void }
20
+ def initialize(workspace_id:)
21
+ @workspace_id = workspace_id
22
+ end
23
+
24
+ sig { params(other: T.untyped).returns(T::Boolean) }
25
+ def ==(other)
26
+ return false unless other.is_a?(self.class)
27
+ return false unless @workspace_id == other.workspace_id
28
+ true
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,14 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Operations::ListKeysRequest
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Operations::ListKeysRequest
9
+ def workspace_id
10
+ end
11
+
12
+ def workspace_id=(str_)
13
+ end
14
+ end
@@ -0,0 +1,32 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Operations
7
+
8
+ class ListKeysResponse
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
13
+
14
+ field :result, Models::Shared::KeyList, {}
15
+
16
+ sig { params(headers: T::Hash[Symbol, T::Array[::String]], result: Models::Shared::KeyList).void }
17
+ def initialize(headers:, result:)
18
+ @headers = headers
19
+ @result = result
20
+ end
21
+
22
+ sig { params(other: T.untyped).returns(T::Boolean) }
23
+ def ==(other)
24
+ return false unless other.is_a?(self.class)
25
+ return false unless @headers == other.headers
26
+ return false unless @result == other.result
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Operations::ListKeysResponse
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Operations::ListKeysResponse
9
+ def headers
10
+ end
11
+
12
+ def headers=(str_)
13
+ end
14
+
15
+ def result
16
+ end
17
+
18
+ def result=(str_)
19
+ end
20
+ end
@@ -0,0 +1,37 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Operations
7
+
8
+ class RevokeKeyRequest
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ # Your workspace id, as each key lists it in workspace_id. Another workspace, a malformed id and a test environment's id answer 404.
13
+ field(
14
+ :workspace_id,
15
+ ::String,
16
+ {'path_param': {'field_name': "workspace_id", 'style': "simple", 'explode': false}}
17
+ )
18
+ # The key's id. A key of another workspace answers 404, as does a key of the other environment to an API key.
19
+ field :key_id, ::String, {'path_param': {'field_name': "key_id", 'style': "simple", 'explode': false}}
20
+
21
+ sig { params(workspace_id: ::String, key_id: ::String).void }
22
+ def initialize(workspace_id:, key_id:)
23
+ @workspace_id = workspace_id
24
+ @key_id = key_id
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a?(self.class)
30
+ return false unless @workspace_id == other.workspace_id
31
+ return false unless @key_id == other.key_id
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Operations::RevokeKeyRequest
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Operations::RevokeKeyRequest
9
+ def workspace_id
10
+ end
11
+
12
+ def workspace_id=(str_)
13
+ end
14
+
15
+ def key_id
16
+ end
17
+
18
+ def key_id=(str_)
19
+ end
20
+ end
@@ -0,0 +1,32 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Operations
7
+
8
+ class RevokeKeyResponse
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
13
+
14
+ field :result, Models::Shared::Key, {}
15
+
16
+ sig { params(headers: T::Hash[Symbol, T::Array[::String]], result: Models::Shared::Key).void }
17
+ def initialize(headers:, result:)
18
+ @headers = headers
19
+ @result = result
20
+ end
21
+
22
+ sig { params(other: T.untyped).returns(T::Boolean) }
23
+ def ==(other)
24
+ return false unless other.is_a?(self.class)
25
+ return false unless @headers == other.headers
26
+ return false unless @result == other.result
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Operations::RevokeKeyResponse
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Operations::RevokeKeyResponse
9
+ def headers
10
+ end
11
+
12
+ def headers=(str_)
13
+ end
14
+
15
+ def result
16
+ end
17
+
18
+ def result=(str_)
19
+ end
20
+ end
@@ -0,0 +1,52 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Operations
7
+
8
+ class UpdateSettingsRequest
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ # Your workspace id, as each key lists it in workspace_id. Another workspace, a malformed id and a test environment's id answer 404.
13
+ field(
14
+ :workspace_id,
15
+ ::String,
16
+ {'path_param': {'field_name': "workspace_id", 'style': "simple", 'explode': false}}
17
+ )
18
+ # The environment: live or test. Each has its own settings. Any other value answers 400. An API key reads and changes only its own environment's; the other answers 404.
19
+ field(
20
+ :environment,
21
+ Models::Shared::KeyEnvironment,
22
+ {'path_param': {'field_name': "environment", 'style': "simple", 'explode': false}}
23
+ )
24
+
25
+ field :body, Models::Shared::SettingsRequest, {'request': {'media_type': "application/json"}}
26
+
27
+ sig {
28
+ params(
29
+ workspace_id: ::String,
30
+ environment: Models::Shared::KeyEnvironment,
31
+ body: Models::Shared::SettingsRequest
32
+ )
33
+ .void
34
+ }
35
+ def initialize(workspace_id:, environment:, body:)
36
+ @workspace_id = workspace_id
37
+ @environment = environment
38
+ @body = body
39
+ end
40
+
41
+ sig { params(other: T.untyped).returns(T::Boolean) }
42
+ def ==(other)
43
+ return false unless other.is_a?(self.class)
44
+ return false unless @workspace_id == other.workspace_id
45
+ return false unless @environment == other.environment
46
+ return false unless @body == other.body
47
+ true
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,26 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Operations::UpdateSettingsRequest
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Operations::UpdateSettingsRequest
9
+ def workspace_id
10
+ end
11
+
12
+ def workspace_id=(str_)
13
+ end
14
+
15
+ def environment
16
+ end
17
+
18
+ def environment=(str_)
19
+ end
20
+
21
+ def body
22
+ end
23
+
24
+ def body=(str_)
25
+ end
26
+ end
@@ -0,0 +1,32 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Operations
7
+
8
+ class UpdateSettingsResponse
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
13
+
14
+ field :result, Models::Shared::Settings, {}
15
+
16
+ sig { params(headers: T::Hash[Symbol, T::Array[::String]], result: Models::Shared::Settings).void }
17
+ def initialize(headers:, result:)
18
+ @headers = headers
19
+ @result = result
20
+ end
21
+
22
+ sig { params(other: T.untyped).returns(T::Boolean) }
23
+ def ==(other)
24
+ return false unless other.is_a?(self.class)
25
+ return false unless @headers == other.headers
26
+ return false unless @result == other.result
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Operations::UpdateSettingsResponse
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Operations::UpdateSettingsResponse
9
+ def headers
10
+ end
11
+
12
+ def headers=(str_)
13
+ end
14
+
15
+ def result
16
+ end
17
+
18
+ def result=(str_)
19
+ end
20
+ end