noresponse 8.1.0 → 8.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/no_response/lists.rb +908 -0
- data/lib/no_response/models/operations/createlistentry_request.rb +52 -0
- data/lib/no_response/models/operations/createlistentry_request.rbi +26 -0
- data/lib/no_response/models/operations/createlistentry_response.rb +32 -0
- data/lib/no_response/models/operations/createlistentry_response.rbi +20 -0
- data/lib/no_response/models/operations/deletelistentry_request.rb +51 -0
- data/lib/no_response/models/operations/deletelistentry_request.rbi +26 -0
- data/lib/no_response/models/operations/deletelistentry_response.rb +28 -0
- data/lib/no_response/models/operations/deletelistentry_response.rbi +14 -0
- data/lib/no_response/models/operations/listlistentries_request.rb +41 -0
- data/lib/no_response/models/operations/listlistentries_request.rbi +20 -0
- data/lib/no_response/models/operations/listlistentries_response.rb +32 -0
- data/lib/no_response/models/operations/listlistentries_response.rbi +20 -0
- data/lib/no_response/models/operations.rb +6 -0
- data/lib/no_response/models/shared/accountriskreason.rb +11 -2
- data/lib/no_response/models/shared/accountriskreason.rbi +6 -0
- data/lib/no_response/models/shared/conflicterrorcode.rb +2 -0
- data/lib/no_response/models/shared/listentry.rb +124 -0
- data/lib/no_response/models/shared/listentry.rbi +62 -0
- data/lib/no_response/models/shared/listentryaction.rb +19 -0
- data/lib/no_response/models/shared/listentryaction.rbi +9 -0
- data/lib/no_response/models/shared/listentrykind.rb +19 -0
- data/lib/no_response/models/shared/listentrykind.rbi +9 -0
- data/lib/no_response/models/shared/listentrylist.rb +32 -0
- data/lib/no_response/models/shared/listentrylist.rbi +14 -0
- data/lib/no_response/models/shared/listentryrequest.rb +77 -0
- data/lib/no_response/models/shared/listentryrequest.rbi +32 -0
- data/lib/no_response/models/shared/reasoncode.rb +1 -0
- data/lib/no_response/models/shared/riskreason.rb +11 -2
- data/lib/no_response/models/shared/riskreason.rbi +6 -0
- data/lib/no_response/models/shared/webhookendpoint.rb +40 -2
- data/lib/no_response/models/shared/webhookendpoint.rbi +18 -0
- data/lib/no_response/models/shared.rb +5 -0
- data/lib/no_response/noresponseclient.rb +2 -1
- data/lib/no_response/sdkconfiguration.rb +2 -2
- data/lib/noresponse.rb +1 -0
- metadata +24 -1
|
@@ -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 CreateListEntryRequest
|
|
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::ListEntryRequest, {'request': {'media_type': "application/json"}}
|
|
26
|
+
|
|
27
|
+
sig {
|
|
28
|
+
params(
|
|
29
|
+
workspace_id: ::String,
|
|
30
|
+
environment: Models::Shared::KeyEnvironment,
|
|
31
|
+
body: Models::Shared::ListEntryRequest
|
|
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::CreateListEntryRequest
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Operations::CreateListEntryRequest
|
|
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 CreateListEntryResponse
|
|
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::ListEntry, {}
|
|
15
|
+
|
|
16
|
+
sig { params(headers: T::Hash[Symbol, T::Array[::String]], result: Models::Shared::ListEntry).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::CreateListEntryResponse
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Operations::CreateListEntryResponse
|
|
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,51 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Operations
|
|
7
|
+
|
|
8
|
+
class DeleteListEntryRequest
|
|
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
|
+
# The entry's id. An entry of another environment or workspace answers 404.
|
|
25
|
+
field(
|
|
26
|
+
:list_entry_id,
|
|
27
|
+
::String,
|
|
28
|
+
{'path_param': {'field_name': "list_entry_id", 'style': "simple", 'explode': false}}
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
sig {
|
|
32
|
+
params(workspace_id: ::String, environment: Models::Shared::KeyEnvironment, list_entry_id: ::String).void
|
|
33
|
+
}
|
|
34
|
+
def initialize(workspace_id:, environment:, list_entry_id:)
|
|
35
|
+
@workspace_id = workspace_id
|
|
36
|
+
@environment = environment
|
|
37
|
+
@list_entry_id = list_entry_id
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
41
|
+
def ==(other)
|
|
42
|
+
return false unless other.is_a?(self.class)
|
|
43
|
+
return false unless @workspace_id == other.workspace_id
|
|
44
|
+
return false unless @environment == other.environment
|
|
45
|
+
return false unless @list_entry_id == other.list_entry_id
|
|
46
|
+
true
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Operations::DeleteListEntryRequest
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Operations::DeleteListEntryRequest
|
|
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 list_entry_id
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def list_entry_id=(str_)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Operations
|
|
7
|
+
|
|
8
|
+
class DeleteListEntryResponse
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
|
|
13
|
+
|
|
14
|
+
sig { params(headers: T::Hash[Symbol, T::Array[::String]]).void }
|
|
15
|
+
def initialize(headers:)
|
|
16
|
+
@headers = headers
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
20
|
+
def ==(other)
|
|
21
|
+
return false unless other.is_a?(self.class)
|
|
22
|
+
return false unless @headers == other.headers
|
|
23
|
+
true
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Operations::DeleteListEntryResponse
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Operations::DeleteListEntryResponse
|
|
9
|
+
def headers
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def headers=(str_)
|
|
13
|
+
end
|
|
14
|
+
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 ListListEntriesRequest
|
|
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::ListListEntriesRequest
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Operations::ListListEntriesRequest
|
|
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 ListListEntriesResponse
|
|
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::ListEntryList, {}
|
|
15
|
+
|
|
16
|
+
sig { params(headers: T::Hash[Symbol, T::Array[::String]], result: Models::Shared::ListEntryList).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::ListListEntriesResponse
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Operations::ListListEntriesResponse
|
|
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
|
|
@@ -9,6 +9,8 @@ module NoResponse
|
|
|
9
9
|
autoload :CreateIntegrationResponse, "no_response/models/operations/createintegration_response.rb"
|
|
10
10
|
autoload :CreateKeyRequest, "no_response/models/operations/createkey_request.rb"
|
|
11
11
|
autoload :CreateKeyResponse, "no_response/models/operations/createkey_response.rb"
|
|
12
|
+
autoload :CreateListEntryRequest, "no_response/models/operations/createlistentry_request.rb"
|
|
13
|
+
autoload :CreateListEntryResponse, "no_response/models/operations/createlistentry_response.rb"
|
|
12
14
|
autoload :CreateWebhookEndpointResponse, "no_response/models/operations/createwebhookendpoint_response.rb"
|
|
13
15
|
autoload :DeleteAccountRequest, "no_response/models/operations/deleteaccount_request.rb"
|
|
14
16
|
autoload :DeleteAccountResponse, "no_response/models/operations/deleteaccount_response.rb"
|
|
@@ -16,6 +18,8 @@ module NoResponse
|
|
|
16
18
|
autoload :DeleteAssessmentResponse, "no_response/models/operations/deleteassessment_response.rb"
|
|
17
19
|
autoload :DeleteIntegrationRequest, "no_response/models/operations/deleteintegration_request.rb"
|
|
18
20
|
autoload :DeleteIntegrationResponse, "no_response/models/operations/deleteintegration_response.rb"
|
|
21
|
+
autoload :DeleteListEntryRequest, "no_response/models/operations/deletelistentry_request.rb"
|
|
22
|
+
autoload :DeleteListEntryResponse, "no_response/models/operations/deletelistentry_response.rb"
|
|
19
23
|
autoload :DeleteWebhookEndpointRequest, "no_response/models/operations/deletewebhookendpoint_request.rb"
|
|
20
24
|
autoload :DeleteWebhookEndpointResponse, "no_response/models/operations/deletewebhookendpoint_response.rb"
|
|
21
25
|
autoload :GetAccountRequest, "no_response/models/operations/getaccount_request.rb"
|
|
@@ -31,6 +35,8 @@ module NoResponse
|
|
|
31
35
|
autoload :ListIntegrationsResponse, "no_response/models/operations/listintegrations_response.rb"
|
|
32
36
|
autoload :ListKeysRequest, "no_response/models/operations/listkeys_request.rb"
|
|
33
37
|
autoload :ListKeysResponse, "no_response/models/operations/listkeys_response.rb"
|
|
38
|
+
autoload :ListListEntriesRequest, "no_response/models/operations/listlistentries_request.rb"
|
|
39
|
+
autoload :ListListEntriesResponse, "no_response/models/operations/listlistentries_response.rb"
|
|
34
40
|
autoload :ListWebhookDeliveriesRequest, "no_response/models/operations/listwebhookdeliveries_request.rb"
|
|
35
41
|
autoload :ListWebhookDeliveriesResponse, "no_response/models/operations/listwebhookdeliveries_response.rb"
|
|
36
42
|
autoload :ListWebhookEndpointsResponse, "no_response/models/operations/listwebhookendpoints_response.rb"
|
|
@@ -56,21 +56,29 @@ module NoResponse
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
)
|
|
59
|
+
# The list entry a list_match reason applied. No other reason carries it.
|
|
60
|
+
field(
|
|
61
|
+
:list_entry_id,
|
|
62
|
+
Crystalline::Nilable.new(::String),
|
|
63
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("list_entry_id")}}
|
|
64
|
+
)
|
|
59
65
|
|
|
60
66
|
sig {
|
|
61
67
|
params(
|
|
62
68
|
code: Models::Shared::ReasonCode,
|
|
63
69
|
direction: Models::Shared::Direction,
|
|
64
70
|
impact: Models::Shared::Impact,
|
|
65
|
-
identifier: T.nilable(Models::Shared::ReasonIdentifier)
|
|
71
|
+
identifier: T.nilable(Models::Shared::ReasonIdentifier),
|
|
72
|
+
list_entry_id: T.nilable(::String)
|
|
66
73
|
)
|
|
67
74
|
.void
|
|
68
75
|
}
|
|
69
|
-
def initialize(code:, direction:, impact:, identifier: nil)
|
|
76
|
+
def initialize(code:, direction:, impact:, identifier: nil, list_entry_id: nil)
|
|
70
77
|
@code = code
|
|
71
78
|
@direction = direction
|
|
72
79
|
@impact = impact
|
|
73
80
|
@identifier = identifier
|
|
81
|
+
@list_entry_id = list_entry_id
|
|
74
82
|
end
|
|
75
83
|
|
|
76
84
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -80,6 +88,7 @@ module NoResponse
|
|
|
80
88
|
return false unless @direction == other.direction
|
|
81
89
|
return false unless @impact == other.impact
|
|
82
90
|
return false unless @identifier == other.identifier
|
|
91
|
+
return false unless @list_entry_id == other.list_entry_id
|
|
83
92
|
true
|
|
84
93
|
end
|
|
85
94
|
end
|
|
@@ -16,6 +16,8 @@ module NoResponse
|
|
|
16
16
|
RISK_VERSION_AHEAD = new("risk_version_ahead")
|
|
17
17
|
KEY_LIMIT_REACHED = new("key_limit_reached")
|
|
18
18
|
SELF_REVOCATION = new("self_revocation")
|
|
19
|
+
LIST_ENTRY_EXISTS = new("list_entry_exists")
|
|
20
|
+
LIST_LIMIT_REACHED = new("list_limit_reached")
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
open!
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# One entry of an environment's list: an exact email or an email domain that decides an account whatever its score. An account matches when one of its admitted assessments sent the email, or an email of the domain. A block entry decides block for every flow and an allow entry decides allow; when both match, block wins. The account's risk carries the list_match reason with the entry's id, and its score stays the one the assessment's facts give. A held flow still waits for its investigation.
|
|
8
|
+
class ListEntry
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
# The entry's id: lst_ and a 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
|
+
# email matches one address, whatever the case of its local part. email_domain matches every address of the registrable domain and of its subdomains.
|
|
33
|
+
field(
|
|
34
|
+
:kind,
|
|
35
|
+
Models::Shared::ListEntryKind,
|
|
36
|
+
{
|
|
37
|
+
'format_json': {
|
|
38
|
+
'letter_case': ::NoResponse::Utils.field_name("kind"),
|
|
39
|
+
required: true,
|
|
40
|
+
'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::ListEntryKind, false)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
# The value the entry matches, in canonical form: an email lower-cased whole, or a domain lower-cased and taken to its registrable domain (mail.example.co.uk is stored as example.co.uk).
|
|
45
|
+
field(
|
|
46
|
+
:value,
|
|
47
|
+
::String,
|
|
48
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("value"), required: true}}
|
|
49
|
+
)
|
|
50
|
+
# block decides block for the accounts the entry matches; allow decides allow. Block wins when both match.
|
|
51
|
+
field(
|
|
52
|
+
:action,
|
|
53
|
+
Models::Shared::ListEntryAction,
|
|
54
|
+
{
|
|
55
|
+
'format_json': {
|
|
56
|
+
'letter_case': ::NoResponse::Utils.field_name("action"),
|
|
57
|
+
required: true,
|
|
58
|
+
'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::ListEntryAction, false)
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
field(
|
|
64
|
+
:created_at,
|
|
65
|
+
::String,
|
|
66
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("created_at"), required: true}}
|
|
67
|
+
)
|
|
68
|
+
# The external user id of the member who added the entry through the console, or the prefix (nrk_<environment>_<key id>) of the management key that added it.
|
|
69
|
+
field(
|
|
70
|
+
:created_by,
|
|
71
|
+
::String,
|
|
72
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("created_by"), required: true}}
|
|
73
|
+
)
|
|
74
|
+
# Why the entry exists, for the people who manage the list. It is shown with the entry and decides nothing.
|
|
75
|
+
field(
|
|
76
|
+
:note,
|
|
77
|
+
Crystalline::Nilable.new(::String),
|
|
78
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("note")}}
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
sig {
|
|
82
|
+
params(
|
|
83
|
+
id: ::String,
|
|
84
|
+
workspace_id: ::String,
|
|
85
|
+
environment: Models::Shared::KeyEnvironment,
|
|
86
|
+
kind: Models::Shared::ListEntryKind,
|
|
87
|
+
value: ::String,
|
|
88
|
+
action: Models::Shared::ListEntryAction,
|
|
89
|
+
created_at: ::String,
|
|
90
|
+
created_by: ::String,
|
|
91
|
+
note: T.nilable(::String)
|
|
92
|
+
)
|
|
93
|
+
.void
|
|
94
|
+
}
|
|
95
|
+
def initialize(id:, workspace_id:, environment:, kind:, value:, action:, created_at:, created_by:, note: nil)
|
|
96
|
+
@id = id
|
|
97
|
+
@workspace_id = workspace_id
|
|
98
|
+
@environment = environment
|
|
99
|
+
@kind = kind
|
|
100
|
+
@value = value
|
|
101
|
+
@action = action
|
|
102
|
+
@created_at = created_at
|
|
103
|
+
@created_by = created_by
|
|
104
|
+
@note = note
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
108
|
+
def ==(other)
|
|
109
|
+
return false unless other.is_a?(self.class)
|
|
110
|
+
return false unless @id == other.id
|
|
111
|
+
return false unless @workspace_id == other.workspace_id
|
|
112
|
+
return false unless @environment == other.environment
|
|
113
|
+
return false unless @kind == other.kind
|
|
114
|
+
return false unless @value == other.value
|
|
115
|
+
return false unless @action == other.action
|
|
116
|
+
return false unless @created_at == other.created_at
|
|
117
|
+
return false unless @created_by == other.created_by
|
|
118
|
+
return false unless @note == other.note
|
|
119
|
+
true
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::ListEntry
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::ListEntry
|
|
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 kind
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def kind=(str_)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def value
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def value=(str_)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def action
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def action=(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 note
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def note=(str_)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# ListEntryAction - block decides block for the accounts the entry matches; allow decides allow. Block wins when both match.
|
|
8
|
+
class ListEntryAction
|
|
9
|
+
include ::Crystalline::Enum
|
|
10
|
+
enums do
|
|
11
|
+
BLOCK = new("block")
|
|
12
|
+
ALLOW = new("allow")
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
open!
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|