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.
- checksums.yaml +4 -4
- data/lib/no_response/keys.rb +866 -0
- data/lib/no_response/late_results.rb +5 -3
- data/lib/no_response/models/operations/createkey_request.rb +37 -0
- data/lib/no_response/models/operations/createkey_request.rbi +20 -0
- data/lib/no_response/models/operations/createkey_response.rb +32 -0
- data/lib/no_response/models/operations/createkey_response.rbi +20 -0
- data/lib/no_response/models/operations/getsettings_request.rb +41 -0
- data/lib/no_response/models/operations/getsettings_request.rbi +20 -0
- data/lib/no_response/models/operations/getsettings_response.rb +32 -0
- data/lib/no_response/models/operations/getsettings_response.rbi +20 -0
- data/lib/no_response/models/operations/listaccounts_request.rb +1 -1
- data/lib/no_response/models/operations/listkeys_request.rb +33 -0
- data/lib/no_response/models/operations/listkeys_request.rbi +14 -0
- data/lib/no_response/models/operations/listkeys_response.rb +32 -0
- data/lib/no_response/models/operations/listkeys_response.rbi +20 -0
- data/lib/no_response/models/operations/revokekey_request.rb +37 -0
- data/lib/no_response/models/operations/revokekey_request.rbi +20 -0
- data/lib/no_response/models/operations/revokekey_response.rb +32 -0
- data/lib/no_response/models/operations/revokekey_response.rbi +20 -0
- data/lib/no_response/models/operations/updatesettings_request.rb +52 -0
- data/lib/no_response/models/operations/updatesettings_request.rbi +26 -0
- data/lib/no_response/models/operations/updatesettings_response.rb +32 -0
- data/lib/no_response/models/operations/updatesettings_response.rbi +20 -0
- data/lib/no_response/models/operations.rb +10 -0
- data/lib/no_response/models/shared/admission.rb +19 -0
- data/lib/no_response/models/shared/admission.rbi +9 -0
- data/lib/no_response/models/shared/conflicterrorcode.rb +2 -0
- data/lib/no_response/models/shared/defaultdepth.rb +19 -0
- data/lib/no_response/models/shared/defaultdepth.rbi +9 -0
- data/lib/no_response/models/shared/enforcement.rb +1 -1
- data/lib/no_response/models/shared/enforcementaction.rb +2 -1
- data/lib/no_response/models/shared/enforcementrequest.rb +1 -1
- data/lib/no_response/models/shared/flowchange.rb +136 -0
- data/lib/no_response/models/shared/flowchange.rbi +62 -0
- data/lib/no_response/models/shared/flowsettings.rb +127 -0
- data/lib/no_response/models/shared/flowsettings.rbi +56 -0
- data/lib/no_response/models/shared/key.rb +158 -0
- data/lib/no_response/models/shared/key.rbi +80 -0
- data/lib/no_response/models/shared/{scope.rb → key_scope.rb} +2 -1
- data/lib/no_response/models/shared/{scope.rbi → key_scope.rbi} +2 -2
- data/lib/no_response/models/shared/keyenvironment.rb +19 -0
- data/lib/no_response/models/shared/keyenvironment.rbi +9 -0
- data/lib/no_response/models/shared/keylist.rb +32 -0
- data/lib/no_response/models/shared/keylist.rbi +14 -0
- data/lib/no_response/models/shared/keyrequest.rb +49 -0
- data/lib/no_response/models/shared/keyrequest.rbi +20 -0
- data/lib/no_response/models/shared/keyrequest_scope.rb +21 -0
- data/lib/no_response/models/shared/keyrequest_scope.rbi +9 -0
- data/lib/no_response/models/shared/keyrotation.rb +2 -2
- data/lib/no_response/models/shared/keyrotation_scope.rb +24 -0
- data/lib/no_response/models/shared/keyrotation_scope.rbi +9 -0
- data/lib/no_response/models/shared/keystatus.rb +20 -0
- data/lib/no_response/models/shared/keystatus.rbi +9 -0
- data/lib/no_response/models/shared/onexpiry.rb +20 -0
- data/lib/no_response/models/shared/onexpiry.rbi +9 -0
- data/lib/no_response/models/shared/permissiondeniederrorcode.rb +1 -0
- data/lib/no_response/models/shared/settings.rb +116 -0
- data/lib/no_response/models/shared/settings.rbi +56 -0
- data/lib/no_response/models/shared/settingsflows.rb +56 -0
- data/lib/no_response/models/shared/settingsflows.rbi +26 -0
- data/lib/no_response/models/shared/settingsrequest.rb +55 -0
- data/lib/no_response/models/shared/settingsrequest.rbi +26 -0
- data/lib/no_response/models/shared/settingsrequestflows.rb +65 -0
- data/lib/no_response/models/shared/settingsrequestflows.rbi +32 -0
- data/lib/no_response/models/shared/sourceid.rb +23 -0
- data/lib/no_response/models/shared/sourceid.rbi +9 -0
- data/lib/no_response/models/shared.rb +18 -1
- data/lib/no_response/noresponseclient.rb +2 -1
- data/lib/no_response/sdkconfiguration.rb +2 -2
- data/lib/no_response/settings.rb +633 -0
- data/lib/noresponse.rb +1 -0
- 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
|
-
#
|
|
127
|
-
record.call('none', 'applied')
|
|
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
|
|
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
|