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
@@ -7,6 +7,8 @@ module NoResponse
7
7
  autoload :CreateAssessmentRequest, "no_response/models/operations/createassessment_request.rb"
8
8
  autoload :CreateAssessmentResponse, "no_response/models/operations/createassessment_response.rb"
9
9
  autoload :CreateIntegrationResponse, "no_response/models/operations/createintegration_response.rb"
10
+ autoload :CreateKeyRequest, "no_response/models/operations/createkey_request.rb"
11
+ autoload :CreateKeyResponse, "no_response/models/operations/createkey_response.rb"
10
12
  autoload :CreateWebhookEndpointResponse, "no_response/models/operations/createwebhookendpoint_response.rb"
11
13
  autoload :DeleteAccountRequest, "no_response/models/operations/deleteaccount_request.rb"
12
14
  autoload :DeleteAccountResponse, "no_response/models/operations/deleteaccount_response.rb"
@@ -20,11 +22,15 @@ module NoResponse
20
22
  autoload :GetAccountResponse, "no_response/models/operations/getaccount_response.rb"
21
23
  autoload :GetAssessmentRequest, "no_response/models/operations/getassessment_request.rb"
22
24
  autoload :GetAssessmentResponse, "no_response/models/operations/getassessment_response.rb"
25
+ autoload :GetSettingsRequest, "no_response/models/operations/getsettings_request.rb"
26
+ autoload :GetSettingsResponse, "no_response/models/operations/getsettings_response.rb"
23
27
  autoload :ListAccountAssessmentsRequest, "no_response/models/operations/listaccountassessments_request.rb"
24
28
  autoload :ListAccountAssessmentsResponse, "no_response/models/operations/listaccountassessments_response.rb"
25
29
  autoload :ListAccountsRequest, "no_response/models/operations/listaccounts_request.rb"
26
30
  autoload :ListAccountsResponse, "no_response/models/operations/listaccounts_response.rb"
27
31
  autoload :ListIntegrationsResponse, "no_response/models/operations/listintegrations_response.rb"
32
+ autoload :ListKeysRequest, "no_response/models/operations/listkeys_request.rb"
33
+ autoload :ListKeysResponse, "no_response/models/operations/listkeys_response.rb"
28
34
  autoload :ListWebhookDeliveriesRequest, "no_response/models/operations/listwebhookdeliveries_request.rb"
29
35
  autoload :ListWebhookDeliveriesResponse, "no_response/models/operations/listwebhookdeliveries_response.rb"
30
36
  autoload :ListWebhookEndpointsResponse, "no_response/models/operations/listwebhookendpoints_response.rb"
@@ -37,6 +43,8 @@ module NoResponse
37
43
  autoload :RecordKeyUsageResponse, "no_response/models/operations/recordkeyusage_response.rb"
38
44
  autoload :ReplayWebhookDeliveryRequest, "no_response/models/operations/replaywebhookdelivery_request.rb"
39
45
  autoload :ReplayWebhookDeliveryResponse, "no_response/models/operations/replaywebhookdelivery_response.rb"
46
+ autoload :RevokeKeyRequest, "no_response/models/operations/revokekey_request.rb"
47
+ autoload :RevokeKeyResponse, "no_response/models/operations/revokekey_response.rb"
40
48
  autoload :RotateApiKeyResponse, "no_response/models/operations/rotateapikey_response.rb"
41
49
  autoload :RotateIntegrationSecretRequest, "no_response/models/operations/rotateintegrationsecret_request.rb"
42
50
  autoload :RotateIntegrationSecretResponse, "no_response/models/operations/rotateintegrationsecret_response.rb"
@@ -44,6 +52,8 @@ module NoResponse
44
52
  autoload :RotateWebhookSigningKeyResponse, "no_response/models/operations/rotatewebhooksigningkey_response.rb"
45
53
  autoload :SendWebhookTestEventRequest, "no_response/models/operations/sendwebhooktestevent_request.rb"
46
54
  autoload :SendWebhookTestEventResponse, "no_response/models/operations/sendwebhooktestevent_response.rb"
55
+ autoload :UpdateSettingsRequest, "no_response/models/operations/updatesettings_request.rb"
56
+ autoload :UpdateSettingsResponse, "no_response/models/operations/updatesettings_response.rb"
47
57
  end
48
58
  end
49
59
  end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+ # Admission - immediate (the default): an assessment of this flow is decided from the evidence its answer has, and later evidence may change the decision. held: while the account's current assessment of this flow has not completed, the account's decision for the flow is held, and the final decision arrives as account.risk_changed when the investigation completes or hold_seconds pass, whichever is first. Each flow has its own admission.
8
+ class Admission
9
+ include ::Crystalline::Enum
10
+ enums do
11
+ IMMEDIATE = new("immediate")
12
+ HELD = new("held")
13
+ end
14
+
15
+ open!
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::Admission
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::Admission
9
+ end
@@ -14,6 +14,8 @@ module NoResponse
14
14
  WEBHOOK_ENDPOINT_UNVERIFIED = new("webhook_endpoint_unverified")
15
15
  TOO_MANY_INTEGRATIONS = new("too_many_integrations")
16
16
  RISK_VERSION_AHEAD = new("risk_version_ahead")
17
+ KEY_LIMIT_REACHED = new("key_limit_reached")
18
+ SELF_REVOCATION = new("self_revocation")
17
19
  end
18
20
 
19
21
  open!
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+ # DefaultDepth - The depth a request for this flow that names none is served at. Defaults: full for account_creation and purchase, quick for login.
8
+ class DefaultDepth
9
+ include ::Crystalline::Enum
10
+ enums do
11
+ QUICK = new("quick")
12
+ FULL = new("full")
13
+ end
14
+
15
+ open!
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::DefaultDepth
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::DefaultDepth
9
+ end
@@ -35,7 +35,7 @@ module NoResponse
35
35
  }
36
36
  }
37
37
  )
38
- # What the workspace did in its identity provider: revoke_sessions (signed the account out everywhere), restrict (limited what the account can do), unrestrict (lifted an earlier restriction), fail_onboarding (stopped an account that was still onboarding), reject_activation (refused to activate a provisional account) or none (decided to take no action).
38
+ # What the workspace did in its identity provider: revoke_sessions (signed the account out everywhere), restrict (limited what the account can do), unrestrict (lifted an earlier restriction), fail_onboarding (stopped an account that was still onboarding), reject_activation (refused to activate a provisional account), activate (let a held onboarding or provisional account in) or none (decided to take no action).
39
39
  field(
40
40
  :action,
41
41
  Models::Shared::EnforcementAction,
@@ -4,7 +4,7 @@
4
4
  module NoResponse
5
5
  module Models
6
6
  module Shared
7
- # EnforcementAction - What the workspace did in its identity provider: revoke_sessions (signed the account out everywhere), restrict (limited what the account can do), unrestrict (lifted an earlier restriction), fail_onboarding (stopped an account that was still onboarding), reject_activation (refused to activate a provisional account) or none (decided to take no action).
7
+ # EnforcementAction - What the workspace did in its identity provider: revoke_sessions (signed the account out everywhere), restrict (limited what the account can do), unrestrict (lifted an earlier restriction), fail_onboarding (stopped an account that was still onboarding), reject_activation (refused to activate a provisional account), activate (let a held onboarding or provisional account in) or none (decided to take no action).
8
8
  class EnforcementAction
9
9
  include ::Crystalline::Enum
10
10
  enums do
@@ -13,6 +13,7 @@ module NoResponse
13
13
  UNRESTRICT = new("unrestrict")
14
14
  FAIL_ONBOARDING = new("fail_onboarding")
15
15
  REJECT_ACTIVATION = new("reject_activation")
16
+ ACTIVATE = new("activate")
16
17
  NONE = new("none")
17
18
  end
18
19
 
@@ -27,7 +27,7 @@ module NoResponse
27
27
  }
28
28
  }
29
29
  )
30
- # What the workspace did in its identity provider: revoke_sessions (signed the account out everywhere), restrict (limited what the account can do), unrestrict (lifted an earlier restriction), fail_onboarding (stopped an account that was still onboarding), reject_activation (refused to activate a provisional account) or none (decided to take no action).
30
+ # What the workspace did in its identity provider: revoke_sessions (signed the account out everywhere), restrict (limited what the account can do), unrestrict (lifted an earlier restriction), fail_onboarding (stopped an account that was still onboarding), reject_activation (refused to activate a provisional account), activate (let a held onboarding or provisional account in) or none (decided to take no action).
31
31
  field(
32
32
  :action,
33
33
  Models::Shared::EnforcementAction,
@@ -0,0 +1,136 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+ # A change to one flow. A field left out keeps the value in force. Thresholds set on login or purchase start from the values in force, account_creation's while it inherits them. After the change, 0 < step_up < review <= 100 and block is off or review <= block <= 100.
8
+ class FlowChange
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field(
13
+ :step_up,
14
+ Crystalline::Nilable.new(::Integer),
15
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("step_up")}}
16
+ )
17
+
18
+ field(
19
+ :review,
20
+ Crystalline::Nilable.new(::Integer),
21
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("review")}}
22
+ )
23
+ # The depth a request for this flow that names none is served at. Defaults: full for account_creation and purchase, quick for login.
24
+ field(
25
+ :default_depth,
26
+ Crystalline::Nilable.new(Models::Shared::DefaultDepth),
27
+ {
28
+ 'format_json': {
29
+ 'letter_case': ::NoResponse::Utils.field_name("default_depth"),
30
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::DefaultDepth, true)
31
+ }
32
+ }
33
+ )
34
+ # Login or purchase only: drop the flow's own thresholds so it uses account_creation's again. Not combined with step_up, review or block. Send true; false is refused.
35
+ field(
36
+ :inherits_account_creation,
37
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
38
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("inherits_account_creation")}}
39
+ )
40
+ # Alias of inherits_account_creation, still accepted. Send true; false is refused.
41
+ #
42
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
43
+ field(
44
+ :inherits_signup,
45
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
46
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("inherits_signup")}}
47
+ )
48
+ # immediate (the default): an assessment of this flow is decided from the evidence its answer has, and later evidence may change the decision. held: while the account's current assessment of this flow has not completed, the account's decision for the flow is held, and the final decision arrives as account.risk_changed when the investigation completes or hold_seconds pass, whichever is first. Each flow has its own admission.
49
+ field(
50
+ :admission,
51
+ Crystalline::Nilable.new(Models::Shared::Admission),
52
+ {
53
+ 'format_json': {
54
+ 'letter_case': ::NoResponse::Utils.field_name("admission"),
55
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Admission, true)
56
+ }
57
+ }
58
+ )
59
+ # How long a held flow's assessment is held after it was created, 30 to 86400 seconds (default 300). Kept while the flow is immediate.
60
+ field(
61
+ :hold_seconds,
62
+ Crystalline::Nilable.new(::Integer),
63
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("hold_seconds")}}
64
+ )
65
+ # The decision a held assessment takes when hold_seconds pass before its investigation completes, unless the evidence so far gives a stricter one (default review). It is announced as account.risk_changed like any other change, so an expired hold is always announced. A hosted provider hook, which cannot wait, answers a held account by it at once: deny for block, allow otherwise. Kept while the flow is immediate.
66
+ field(
67
+ :on_expiry,
68
+ Crystalline::Nilable.new(Models::Shared::OnExpiry),
69
+ {
70
+ 'format_json': {
71
+ 'letter_case': ::NoResponse::Utils.field_name("on_expiry"),
72
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::OnExpiry, true)
73
+ }
74
+ }
75
+ )
76
+ # The score from which the decision is block; null turns blocking off.
77
+ field(
78
+ :block,
79
+ Crystalline::Nilable.new(::Integer),
80
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("block")}}
81
+ )
82
+
83
+ sig {
84
+ params(
85
+ step_up: T.nilable(::Integer),
86
+ review: T.nilable(::Integer),
87
+ default_depth: T.nilable(Models::Shared::DefaultDepth),
88
+ inherits_account_creation: T.nilable(T::Boolean),
89
+ inherits_signup: T.nilable(T::Boolean),
90
+ admission: T.nilable(Models::Shared::Admission),
91
+ hold_seconds: T.nilable(::Integer),
92
+ on_expiry: T.nilable(Models::Shared::OnExpiry),
93
+ block: T.nilable(::Integer)
94
+ )
95
+ .void
96
+ }
97
+ def initialize(
98
+ step_up: nil,
99
+ review: nil,
100
+ default_depth: nil,
101
+ inherits_account_creation: nil,
102
+ inherits_signup: nil,
103
+ admission: nil,
104
+ hold_seconds: nil,
105
+ on_expiry: nil,
106
+ block: nil
107
+ )
108
+ @step_up = step_up
109
+ @review = review
110
+ @default_depth = default_depth
111
+ @inherits_account_creation = inherits_account_creation
112
+ @inherits_signup = inherits_signup
113
+ @admission = admission
114
+ @hold_seconds = hold_seconds
115
+ @on_expiry = on_expiry
116
+ @block = block
117
+ end
118
+
119
+ sig { params(other: T.untyped).returns(T::Boolean) }
120
+ def ==(other)
121
+ return false unless other.is_a?(self.class)
122
+ return false unless @step_up == other.step_up
123
+ return false unless @review == other.review
124
+ return false unless @default_depth == other.default_depth
125
+ return false unless @inherits_account_creation == other.inherits_account_creation
126
+ return false unless @inherits_signup == other.inherits_signup
127
+ return false unless @admission == other.admission
128
+ return false unless @hold_seconds == other.hold_seconds
129
+ return false unless @on_expiry == other.on_expiry
130
+ return false unless @block == other.block
131
+ true
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,62 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::FlowChange
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::FlowChange
9
+ def step_up
10
+ end
11
+
12
+ def step_up=(str_)
13
+ end
14
+
15
+ def review
16
+ end
17
+
18
+ def review=(str_)
19
+ end
20
+
21
+ def default_depth
22
+ end
23
+
24
+ def default_depth=(str_)
25
+ end
26
+
27
+ def inherits_account_creation
28
+ end
29
+
30
+ def inherits_account_creation=(str_)
31
+ end
32
+
33
+ def inherits_signup
34
+ end
35
+
36
+ def inherits_signup=(str_)
37
+ end
38
+
39
+ def admission
40
+ end
41
+
42
+ def admission=(str_)
43
+ end
44
+
45
+ def hold_seconds
46
+ end
47
+
48
+ def hold_seconds=(str_)
49
+ end
50
+
51
+ def on_expiry
52
+ end
53
+
54
+ def on_expiry=(str_)
55
+ end
56
+
57
+ def block
58
+ end
59
+
60
+ def block=(str_)
61
+ end
62
+ end
@@ -0,0 +1,127 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+ # One flow's policy in force. A score below step_up is allow, below review step_up, and from review review; from block, when present, the decision is block. admission says when the flow's decision is final.
8
+ class FlowSettings
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field(
13
+ :step_up,
14
+ ::Integer,
15
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("step_up"), required: true}}
16
+ )
17
+
18
+ field(
19
+ :review,
20
+ ::Integer,
21
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("review"), required: true}}
22
+ )
23
+ # The depth a request for this flow that names none is served at. Defaults: full for account_creation and purchase, quick for login.
24
+ field(
25
+ :default_depth,
26
+ Models::Shared::DefaultDepth,
27
+ {
28
+ 'format_json': {
29
+ 'letter_case': ::NoResponse::Utils.field_name("default_depth"),
30
+ required: true,
31
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::DefaultDepth, false)
32
+ }
33
+ }
34
+ )
35
+ # true while this flow has no thresholds of its own and uses account_creation's, the default for login and purchase. Always false for signup.
36
+ field(
37
+ :inherits_account_creation,
38
+ Crystalline::Boolean.new,
39
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("inherits_account_creation"), required: true}}
40
+ )
41
+ # immediate (the default): an assessment of this flow is decided from the evidence its answer has, and later evidence may change the decision. held: while the account's current assessment of this flow has not completed, the account's decision for the flow is held, and the final decision arrives as account.risk_changed when the investigation completes or hold_seconds pass, whichever is first. Each flow has its own admission.
42
+ field(
43
+ :admission,
44
+ Models::Shared::Admission,
45
+ {
46
+ 'format_json': {
47
+ 'letter_case': ::NoResponse::Utils.field_name("admission"),
48
+ required: true,
49
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Admission, false)
50
+ }
51
+ }
52
+ )
53
+ # How long a held flow's assessment is held after it was created, 30 to 86400 seconds (default 300). Kept while the flow is immediate.
54
+ field(
55
+ :hold_seconds,
56
+ ::Integer,
57
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("hold_seconds"), required: true}}
58
+ )
59
+ # The decision a held assessment takes when hold_seconds pass before its investigation completes, unless the evidence so far gives a stricter one (default review). It is announced as account.risk_changed like any other change, so an expired hold is always announced. A hosted provider hook, which cannot wait, answers a held account by it at once: deny for block, allow otherwise. Kept while the flow is immediate.
60
+ field(
61
+ :on_expiry,
62
+ Models::Shared::OnExpiry,
63
+ {
64
+ 'format_json': {
65
+ 'letter_case': ::NoResponse::Utils.field_name("on_expiry"),
66
+ required: true,
67
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::OnExpiry, false)
68
+ }
69
+ }
70
+ )
71
+ # The score from which the decision is block. Absent while blocking is off, the default.
72
+ field(
73
+ :block,
74
+ Crystalline::Nilable.new(::Integer),
75
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("block")}}
76
+ )
77
+
78
+ sig {
79
+ params(
80
+ step_up: ::Integer,
81
+ review: ::Integer,
82
+ default_depth: Models::Shared::DefaultDepth,
83
+ inherits_account_creation: T::Boolean,
84
+ admission: Models::Shared::Admission,
85
+ hold_seconds: ::Integer,
86
+ on_expiry: Models::Shared::OnExpiry,
87
+ block: T.nilable(::Integer)
88
+ )
89
+ .void
90
+ }
91
+ def initialize(
92
+ step_up:,
93
+ review:,
94
+ default_depth:,
95
+ inherits_account_creation:,
96
+ admission:,
97
+ hold_seconds:,
98
+ on_expiry:,
99
+ block: nil
100
+ )
101
+ @step_up = step_up
102
+ @review = review
103
+ @default_depth = default_depth
104
+ @inherits_account_creation = inherits_account_creation
105
+ @admission = admission
106
+ @hold_seconds = hold_seconds
107
+ @on_expiry = on_expiry
108
+ @block = block
109
+ end
110
+
111
+ sig { params(other: T.untyped).returns(T::Boolean) }
112
+ def ==(other)
113
+ return false unless other.is_a?(self.class)
114
+ return false unless @step_up == other.step_up
115
+ return false unless @review == other.review
116
+ return false unless @default_depth == other.default_depth
117
+ return false unless @inherits_account_creation == other.inherits_account_creation
118
+ return false unless @admission == other.admission
119
+ return false unless @hold_seconds == other.hold_seconds
120
+ return false unless @on_expiry == other.on_expiry
121
+ return false unless @block == other.block
122
+ true
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,56 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::FlowSettings
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::FlowSettings
9
+ def step_up
10
+ end
11
+
12
+ def step_up=(str_)
13
+ end
14
+
15
+ def review
16
+ end
17
+
18
+ def review=(str_)
19
+ end
20
+
21
+ def default_depth
22
+ end
23
+
24
+ def default_depth=(str_)
25
+ end
26
+
27
+ def inherits_account_creation
28
+ end
29
+
30
+ def inherits_account_creation=(str_)
31
+ end
32
+
33
+ def admission
34
+ end
35
+
36
+ def admission=(str_)
37
+ end
38
+
39
+ def hold_seconds
40
+ end
41
+
42
+ def hold_seconds=(str_)
43
+ end
44
+
45
+ def on_expiry
46
+ end
47
+
48
+ def on_expiry=(str_)
49
+ end
50
+
51
+ def block
52
+ end
53
+
54
+ def block=(str_)
55
+ end
56
+ end