noresponse 7.0.5 → 7.1.0

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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/lib/no_response/keys.rb +866 -0
  3. data/lib/no_response/models/operations/createkey_request.rb +37 -0
  4. data/lib/no_response/models/operations/createkey_request.rbi +20 -0
  5. data/lib/no_response/models/operations/createkey_response.rb +32 -0
  6. data/lib/no_response/models/operations/createkey_response.rbi +20 -0
  7. data/lib/no_response/models/operations/getsettings_request.rb +41 -0
  8. data/lib/no_response/models/operations/getsettings_request.rbi +20 -0
  9. data/lib/no_response/models/operations/getsettings_response.rb +32 -0
  10. data/lib/no_response/models/operations/getsettings_response.rbi +20 -0
  11. data/lib/no_response/models/operations/listkeys_request.rb +33 -0
  12. data/lib/no_response/models/operations/listkeys_request.rbi +14 -0
  13. data/lib/no_response/models/operations/listkeys_response.rb +32 -0
  14. data/lib/no_response/models/operations/listkeys_response.rbi +20 -0
  15. data/lib/no_response/models/operations/revokekey_request.rb +37 -0
  16. data/lib/no_response/models/operations/revokekey_request.rbi +20 -0
  17. data/lib/no_response/models/operations/revokekey_response.rb +32 -0
  18. data/lib/no_response/models/operations/revokekey_response.rbi +20 -0
  19. data/lib/no_response/models/operations/updatesettings_request.rb +52 -0
  20. data/lib/no_response/models/operations/updatesettings_request.rbi +26 -0
  21. data/lib/no_response/models/operations/updatesettings_response.rb +32 -0
  22. data/lib/no_response/models/operations/updatesettings_response.rbi +20 -0
  23. data/lib/no_response/models/operations.rb +10 -0
  24. data/lib/no_response/models/shared/admission.rb +19 -0
  25. data/lib/no_response/models/shared/admission.rbi +9 -0
  26. data/lib/no_response/models/shared/conflicterrorcode.rb +2 -0
  27. data/lib/no_response/models/shared/defaultdepth.rb +19 -0
  28. data/lib/no_response/models/shared/defaultdepth.rbi +9 -0
  29. data/lib/no_response/models/shared/flowchange.rb +136 -0
  30. data/lib/no_response/models/shared/flowchange.rbi +62 -0
  31. data/lib/no_response/models/shared/flowsettings.rb +127 -0
  32. data/lib/no_response/models/shared/flowsettings.rbi +56 -0
  33. data/lib/no_response/models/shared/key.rb +158 -0
  34. data/lib/no_response/models/shared/key.rbi +80 -0
  35. data/lib/no_response/models/shared/{scope.rb → key_scope.rb} +2 -1
  36. data/lib/no_response/models/shared/{scope.rbi → key_scope.rbi} +2 -2
  37. data/lib/no_response/models/shared/keyenvironment.rb +19 -0
  38. data/lib/no_response/models/shared/keyenvironment.rbi +9 -0
  39. data/lib/no_response/models/shared/keylist.rb +32 -0
  40. data/lib/no_response/models/shared/keylist.rbi +14 -0
  41. data/lib/no_response/models/shared/keyrequest.rb +49 -0
  42. data/lib/no_response/models/shared/keyrequest.rbi +20 -0
  43. data/lib/no_response/models/shared/keyrequest_scope.rb +21 -0
  44. data/lib/no_response/models/shared/keyrequest_scope.rbi +9 -0
  45. data/lib/no_response/models/shared/keyrotation.rb +2 -2
  46. data/lib/no_response/models/shared/keyrotation_scope.rb +24 -0
  47. data/lib/no_response/models/shared/keyrotation_scope.rbi +9 -0
  48. data/lib/no_response/models/shared/keystatus.rb +20 -0
  49. data/lib/no_response/models/shared/keystatus.rbi +9 -0
  50. data/lib/no_response/models/shared/onexpiry.rb +20 -0
  51. data/lib/no_response/models/shared/onexpiry.rbi +9 -0
  52. data/lib/no_response/models/shared/permissiondeniederrorcode.rb +1 -0
  53. data/lib/no_response/models/shared/settings.rb +116 -0
  54. data/lib/no_response/models/shared/settings.rbi +56 -0
  55. data/lib/no_response/models/shared/settingsflows.rb +56 -0
  56. data/lib/no_response/models/shared/settingsflows.rbi +26 -0
  57. data/lib/no_response/models/shared/settingsrequest.rb +55 -0
  58. data/lib/no_response/models/shared/settingsrequest.rbi +26 -0
  59. data/lib/no_response/models/shared/settingsrequestflows.rb +65 -0
  60. data/lib/no_response/models/shared/settingsrequestflows.rbi +32 -0
  61. data/lib/no_response/models/shared/sourceid.rb +23 -0
  62. data/lib/no_response/models/shared/sourceid.rbi +9 -0
  63. data/lib/no_response/models/shared.rb +18 -1
  64. data/lib/no_response/noresponseclient.rb +2 -1
  65. data/lib/no_response/sdkconfiguration.rb +2 -2
  66. data/lib/no_response/settings.rb +633 -0
  67. data/lib/noresponse.rb +1 -0
  68. metadata +58 -3
@@ -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
@@ -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
@@ -0,0 +1,158 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+ # One API key of your workspace. A key belongs to exactly one environment. key, the secret credential, is present only in the answer that created the key: NoResponse keeps a peppered digest of it, so store it now. Every other field is safe to show.
8
+ class Key
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ # The key's public id, a 26-character ULID.
13
+ field :id, ::String, {'format_json': {'letter_case': ::NoResponse::Utils.field_name("id"), required: true}}
14
+ # The workspace id, which is also its live environment's workspace id; the test environment's is the same id with :test appended. A workspace created through the API is tnt_ and a 26-character ULID.
15
+ field(
16
+ :workspace_id,
17
+ ::String,
18
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("workspace_id"), required: true}}
19
+ )
20
+ # The environment the key belongs to. A live key assesses with live sources; a test key answers from the deterministic simulator.
21
+ field(
22
+ :environment,
23
+ Models::Shared::KeyEnvironment,
24
+ {
25
+ 'format_json': {
26
+ 'letter_case': ::NoResponse::Utils.field_name("environment"),
27
+ required: true,
28
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::KeyEnvironment, false)
29
+ }
30
+ }
31
+ )
32
+ # The public start of the credential, nrk_<environment>_<key id>, which identifies the key in logs and secret stores without its secret.
33
+ field(
34
+ :prefix,
35
+ ::String,
36
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("prefix"), required: true}}
37
+ )
38
+ # The key's scopes, each at most once.
39
+ field(
40
+ :scopes,
41
+ Crystalline::Array.new(Models::Shared::KeyScope),
42
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("scopes"), required: true}}
43
+ )
44
+ # active: the key authenticates. expired: a rotation's overlap window has ended (expires_at). revoked: the key was revoked (revoked_at) and answers 401.
45
+ field(
46
+ :status,
47
+ Models::Shared::KeyStatus,
48
+ {
49
+ 'format_json': {
50
+ 'letter_case': ::NoResponse::Utils.field_name("status"),
51
+ required: true,
52
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::KeyStatus, false)
53
+ }
54
+ }
55
+ )
56
+
57
+ field(
58
+ :created_at,
59
+ ::String,
60
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("created_at"), required: true}}
61
+ )
62
+ # The external user id of the member who created the key through the console, or the prefix (nrk_<environment>_<key id>) of the management key that created it. Absent for a key NoResponse issued or a rotation made.
63
+ field(
64
+ :created_by,
65
+ Crystalline::Nilable.new(::String),
66
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("created_by")}}
67
+ )
68
+ # When a rotated key stops authenticating (POST /v1/keys/rotate). Absent for a key with no end.
69
+ field(
70
+ :expires_at,
71
+ Crystalline::Nilable.new(::String),
72
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("expires_at")}}
73
+ )
74
+
75
+ field(
76
+ :revoked_at,
77
+ Crystalline::Nilable.new(::String),
78
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("revoked_at")}}
79
+ )
80
+ # The external user id of the member who revoked the key through the console, or the prefix of the management key that revoked it. Absent when the key is not revoked or NoResponse revoked it.
81
+ field(
82
+ :revoked_by,
83
+ Crystalline::Nilable.new(::String),
84
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("revoked_by")}}
85
+ )
86
+ # The credential, nrk_<environment>_<key id>_<secret>. Present only in the 201 answer that created the key.
87
+ field(
88
+ :key,
89
+ Crystalline::Nilable.new(::String),
90
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("key")}}
91
+ )
92
+
93
+ sig {
94
+ params(
95
+ id: ::String,
96
+ workspace_id: ::String,
97
+ environment: Models::Shared::KeyEnvironment,
98
+ prefix: ::String,
99
+ scopes: T::Array[Models::Shared::KeyScope],
100
+ status: Models::Shared::KeyStatus,
101
+ created_at: ::String,
102
+ created_by: T.nilable(::String),
103
+ expires_at: T.nilable(::String),
104
+ revoked_at: T.nilable(::String),
105
+ revoked_by: T.nilable(::String),
106
+ key: T.nilable(::String)
107
+ )
108
+ .void
109
+ }
110
+ def initialize(
111
+ id:,
112
+ workspace_id:,
113
+ environment:,
114
+ prefix:,
115
+ scopes:,
116
+ status:,
117
+ created_at:,
118
+ created_by: nil,
119
+ expires_at: nil,
120
+ revoked_at: nil,
121
+ revoked_by: nil,
122
+ key: nil
123
+ )
124
+ @id = id
125
+ @workspace_id = workspace_id
126
+ @environment = environment
127
+ @prefix = prefix
128
+ @scopes = scopes
129
+ @status = status
130
+ @created_at = created_at
131
+ @created_by = created_by
132
+ @expires_at = expires_at
133
+ @revoked_at = revoked_at
134
+ @revoked_by = revoked_by
135
+ @key = key
136
+ end
137
+
138
+ sig { params(other: T.untyped).returns(T::Boolean) }
139
+ def ==(other)
140
+ return false unless other.is_a?(self.class)
141
+ return false unless @id == other.id
142
+ return false unless @workspace_id == other.workspace_id
143
+ return false unless @environment == other.environment
144
+ return false unless @prefix == other.prefix
145
+ return false unless @scopes == other.scopes
146
+ return false unless @status == other.status
147
+ return false unless @created_at == other.created_at
148
+ return false unless @created_by == other.created_by
149
+ return false unless @expires_at == other.expires_at
150
+ return false unless @revoked_at == other.revoked_at
151
+ return false unless @revoked_by == other.revoked_by
152
+ return false unless @key == other.key
153
+ true
154
+ end
155
+ end
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,80 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::Key
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::Key
9
+ def id
10
+ end
11
+
12
+ def id=(str_)
13
+ end
14
+
15
+ def workspace_id
16
+ end
17
+
18
+ def workspace_id=(str_)
19
+ end
20
+
21
+ def environment
22
+ end
23
+
24
+ def environment=(str_)
25
+ end
26
+
27
+ def prefix
28
+ end
29
+
30
+ def prefix=(str_)
31
+ end
32
+
33
+ def scopes
34
+ end
35
+
36
+ def scopes=(str_)
37
+ end
38
+
39
+ def status
40
+ end
41
+
42
+ def status=(str_)
43
+ end
44
+
45
+ def created_at
46
+ end
47
+
48
+ def created_at=(str_)
49
+ end
50
+
51
+ def created_by
52
+ end
53
+
54
+ def created_by=(str_)
55
+ end
56
+
57
+ def expires_at
58
+ end
59
+
60
+ def expires_at=(str_)
61
+ end
62
+
63
+ def revoked_at
64
+ end
65
+
66
+ def revoked_at=(str_)
67
+ end
68
+
69
+ def revoked_by
70
+ end
71
+
72
+ def revoked_by=(str_)
73
+ end
74
+
75
+ def key
76
+ end
77
+
78
+ def key=(str_)
79
+ end
80
+ end
@@ -5,7 +5,7 @@ module NoResponse
5
5
  module Models
6
6
  module Shared
7
7
 
8
- class Scope
8
+ class KeyScope
9
9
  include ::Crystalline::Enum
10
10
  enums do
11
11
  ASSESS = new("assess")
@@ -14,6 +14,7 @@ module NoResponse
14
14
  WEBHOOKS = new("webhooks")
15
15
  DETAILED = new("detailed")
16
16
  INTEGRATIONS = new("integrations")
17
+ MANAGEMENT = new("management")
17
18
  end
18
19
 
19
20
  open!
@@ -1,9 +1,9 @@
1
1
  # typed: true
2
2
  # frozen_string_literal: true
3
3
 
4
- class NoResponse::Models::Shared::Scope
4
+ class NoResponse::Models::Shared::KeyScope
5
5
  extend ::Crystalline::MetadataFields::ClassMethods
6
6
  end
7
7
 
8
- class NoResponse::Models::Shared::Scope
8
+ class NoResponse::Models::Shared::KeyScope
9
9
  end