noresponse 10.0.11 → 10.0.12
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/models/shared/attendeedecided.rb +89 -0
- data/lib/no_response/models/shared/attendeedecided.rbi +44 -0
- data/lib/no_response/models/shared/attendeedecidedevent.rb +70 -0
- data/lib/no_response/models/shared/attendeedecidedevent.rbi +38 -0
- data/lib/no_response/models/shared/attendeeflagged.rb +95 -0
- data/lib/no_response/models/shared/attendeeflagged.rbi +44 -0
- data/lib/no_response/models/shared/attendeeflaggedevent.rb +70 -0
- data/lib/no_response/models/shared/attendeeflaggedevent.rbi +38 -0
- data/lib/no_response/models/shared/attendeeflaggedmatchstate.rb +19 -0
- data/lib/no_response/models/shared/attendeeflaggedmatchstate.rbi +9 -0
- data/lib/no_response/models/shared/screeningcompleted.rb +146 -0
- data/lib/no_response/models/shared/screeningcompleted.rbi +74 -0
- data/lib/no_response/models/shared/screeningcompletedbyband.rb +52 -0
- data/lib/no_response/models/shared/screeningcompletedbyband.rbi +38 -0
- data/lib/no_response/models/shared/screeningcompletedevent.rb +70 -0
- data/lib/no_response/models/shared/screeningcompletedevent.rbi +38 -0
- data/lib/no_response/models/shared/screeningcompletedstatus.rb +17 -0
- data/lib/no_response/models/shared/screeningcompletedstatus.rbi +9 -0
- data/lib/no_response/models/shared/webhookdeliveryattempt.rb +1 -1
- data/lib/no_response/models/shared/webhookreplay.rb +1 -1
- data/lib/no_response/models/shared.rb +9 -0
- data/lib/no_response/sdkconfiguration.rb +2 -2
- data/lib/no_response/webhook_verification.rb +8 -2
- metadata +19 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5d85291717a92183c2302b31d3d0f62582b5561a73c71ad96653471708f6f320
|
|
4
|
+
data.tar.gz: 21707ffd2be377765fbb485bb748edfd1f4aade4891ca596926088ccc0f7acc9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: faaf0a015394cdd88127765ae24a0674c25196b492d0b45b9b161af3b970c84ebe96a78e03939e39f843ca56e3327da05f0b635dd7b37d2fe80c6dc90d88dd75
|
|
7
|
+
data.tar.gz: 926780bbb6c32c1fe083c8600d760c1e78c30f23e4bab8d5d5d694b0d95afb173f17082c8e3a8de294888462bd38468bbc38f90b098c3520513702d9ad60395e
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# A reviewer recorded a decision on an attendee. The decision's note stays in the API. Sent once per recorded review; an attendee's latest review is its decision, so order by decided_at.
|
|
8
|
+
class AttendeeDecided
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
# The attendee's event.
|
|
13
|
+
field(
|
|
14
|
+
:event_id,
|
|
15
|
+
::String,
|
|
16
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("event_id"), required: true}}
|
|
17
|
+
)
|
|
18
|
+
# The attendee decided on.
|
|
19
|
+
field(
|
|
20
|
+
:attendee_id,
|
|
21
|
+
::String,
|
|
22
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("attendee_id"), required: true}}
|
|
23
|
+
)
|
|
24
|
+
# The recorded review.
|
|
25
|
+
field(
|
|
26
|
+
:review_id,
|
|
27
|
+
::String,
|
|
28
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("review_id"), required: true}}
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
field(
|
|
32
|
+
:decision,
|
|
33
|
+
Models::Shared::AttendeeDecision,
|
|
34
|
+
{
|
|
35
|
+
'format_json': {
|
|
36
|
+
'letter_case': ::NoResponse::Utils.field_name("decision"),
|
|
37
|
+
required: true,
|
|
38
|
+
'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::AttendeeDecision, false)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
# Who decided: the member's external user id, or the API key's label, as the attendee's decided_by.
|
|
43
|
+
field(
|
|
44
|
+
:decided_by,
|
|
45
|
+
::String,
|
|
46
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("decided_by"), required: true}}
|
|
47
|
+
)
|
|
48
|
+
# When the decision was recorded; equal to the event's created_at.
|
|
49
|
+
field(
|
|
50
|
+
:decided_at,
|
|
51
|
+
::String,
|
|
52
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("decided_at"), required: true}}
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
sig {
|
|
56
|
+
params(
|
|
57
|
+
event_id: ::String,
|
|
58
|
+
attendee_id: ::String,
|
|
59
|
+
review_id: ::String,
|
|
60
|
+
decision: Models::Shared::AttendeeDecision,
|
|
61
|
+
decided_by: ::String,
|
|
62
|
+
decided_at: ::String
|
|
63
|
+
)
|
|
64
|
+
.void
|
|
65
|
+
}
|
|
66
|
+
def initialize(event_id:, attendee_id:, review_id:, decision:, decided_by:, decided_at:)
|
|
67
|
+
@event_id = event_id
|
|
68
|
+
@attendee_id = attendee_id
|
|
69
|
+
@review_id = review_id
|
|
70
|
+
@decision = decision
|
|
71
|
+
@decided_by = decided_by
|
|
72
|
+
@decided_at = decided_at
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
76
|
+
def ==(other)
|
|
77
|
+
return false unless other.is_a?(self.class)
|
|
78
|
+
return false unless @event_id == other.event_id
|
|
79
|
+
return false unless @attendee_id == other.attendee_id
|
|
80
|
+
return false unless @review_id == other.review_id
|
|
81
|
+
return false unless @decision == other.decision
|
|
82
|
+
return false unless @decided_by == other.decided_by
|
|
83
|
+
return false unless @decided_at == other.decided_at
|
|
84
|
+
true
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::AttendeeDecided
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::AttendeeDecided
|
|
9
|
+
def event_id
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def event_id=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def attendee_id
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def attendee_id=(str_)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def review_id
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def review_id=(str_)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def decision
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def decision=(str_)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def decided_by
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def decided_by=(str_)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def decided_at
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def decided_at=(str_)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# The attendee.decided event.
|
|
8
|
+
class AttendeeDecidedEvent
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
# The event id, equal to the NR-Webhook-Id header and across redeliveries and every endpoint the event fans out to.
|
|
13
|
+
field :id, ::String, {'format_json': {'letter_case': ::NoResponse::Utils.field_name("id"), required: true}}
|
|
14
|
+
# When the event was created. Equal across redeliveries; the signing timestamp header is per delivery.
|
|
15
|
+
field(
|
|
16
|
+
:created_at,
|
|
17
|
+
::String,
|
|
18
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("created_at"), required: true}}
|
|
19
|
+
)
|
|
20
|
+
# A reviewer recorded a decision on an attendee. The decision's note stays in the API. Sent once per recorded review; an attendee's latest review is its decision, so order by decided_at.
|
|
21
|
+
field(
|
|
22
|
+
:data,
|
|
23
|
+
Models::Shared::AttendeeDecided,
|
|
24
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("data"), required: true}}
|
|
25
|
+
)
|
|
26
|
+
# Always attendee.decided.
|
|
27
|
+
field :type, ::String, {'format_json': {'letter_case': ::NoResponse::Utils.field_name("type"), required: true}}
|
|
28
|
+
# Present, and true, only on an event sent by POST /v1/webhooks/{endpoint_id}/test: its data is a fixed example assessment, not one of the workspace's, so a receiver acknowledges it and applies nothing. Real events have no test member.
|
|
29
|
+
field(
|
|
30
|
+
:test,
|
|
31
|
+
Crystalline::Nilable.new(Crystalline::Boolean.new),
|
|
32
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("test")}}
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
sig {
|
|
36
|
+
params(
|
|
37
|
+
id: ::String,
|
|
38
|
+
created_at: ::String,
|
|
39
|
+
data: Models::Shared::AttendeeDecided,
|
|
40
|
+
type: ::String,
|
|
41
|
+
test: T.nilable(T::Boolean)
|
|
42
|
+
)
|
|
43
|
+
.void
|
|
44
|
+
}
|
|
45
|
+
def initialize(id:, created_at:, data:, type: "attendee.decided", test: nil)
|
|
46
|
+
@id = id
|
|
47
|
+
@created_at = created_at
|
|
48
|
+
@data = data
|
|
49
|
+
unless type == "attendee.decided"
|
|
50
|
+
raise ArgumentError, "Invalid value for type"
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
@type = "attendee.decided"
|
|
54
|
+
@test = test
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
58
|
+
def ==(other)
|
|
59
|
+
return false unless other.is_a?(self.class)
|
|
60
|
+
return false unless @id == other.id
|
|
61
|
+
return false unless @created_at == other.created_at
|
|
62
|
+
return false unless @data == other.data
|
|
63
|
+
return false unless @type == other.type
|
|
64
|
+
return false unless @test == other.test
|
|
65
|
+
true
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::AttendeeDecidedEvent
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::AttendeeDecidedEvent
|
|
9
|
+
def id
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def id=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def created_at
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def created_at=(str_)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def data
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def data=(str_)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def type
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def type=(str_)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test=(str_)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# A screening recorded a finding on an attendee. It says which attendee and how severe, not what they posted, who they are or why: GET the attendee report for the findings. Sent once per screening that flags the attendee, so a re-screen of someone on watch announces them again.
|
|
8
|
+
class AttendeeFlagged
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
# The attendee's event.
|
|
13
|
+
field(
|
|
14
|
+
:event_id,
|
|
15
|
+
::String,
|
|
16
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("event_id"), required: true}}
|
|
17
|
+
)
|
|
18
|
+
# The flagged attendee.
|
|
19
|
+
field(
|
|
20
|
+
:attendee_id,
|
|
21
|
+
::String,
|
|
22
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("attendee_id"), required: true}}
|
|
23
|
+
)
|
|
24
|
+
# The screening that flagged them.
|
|
25
|
+
field(
|
|
26
|
+
:screening_id,
|
|
27
|
+
::String,
|
|
28
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("screening_id"), required: true}}
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
field(
|
|
32
|
+
:highest_band,
|
|
33
|
+
Models::Shared::HighestBand,
|
|
34
|
+
{
|
|
35
|
+
'format_json': {
|
|
36
|
+
'letter_case': ::NoResponse::Utils.field_name("highest_band"),
|
|
37
|
+
required: true,
|
|
38
|
+
'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::HighestBand, false)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
# How sure the screening is that the accounts it read are the attendee's. A finding on a possible match is at most moderate, on a probable match at most high.
|
|
43
|
+
field(
|
|
44
|
+
:match_state,
|
|
45
|
+
Models::Shared::AttendeeFlaggedMatchState,
|
|
46
|
+
{
|
|
47
|
+
'format_json': {
|
|
48
|
+
'letter_case': ::NoResponse::Utils.field_name("match_state"),
|
|
49
|
+
required: true,
|
|
50
|
+
'decoder': ::NoResponse::Utils.enum_from_string(Models::Shared::AttendeeFlaggedMatchState, false)
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
# When the screening recorded the finding; equal to the event's created_at.
|
|
55
|
+
field(
|
|
56
|
+
:flagged_at,
|
|
57
|
+
::String,
|
|
58
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("flagged_at"), required: true}}
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
sig {
|
|
62
|
+
params(
|
|
63
|
+
event_id: ::String,
|
|
64
|
+
attendee_id: ::String,
|
|
65
|
+
screening_id: ::String,
|
|
66
|
+
highest_band: Models::Shared::HighestBand,
|
|
67
|
+
match_state: Models::Shared::AttendeeFlaggedMatchState,
|
|
68
|
+
flagged_at: ::String
|
|
69
|
+
)
|
|
70
|
+
.void
|
|
71
|
+
}
|
|
72
|
+
def initialize(event_id:, attendee_id:, screening_id:, highest_band:, match_state:, flagged_at:)
|
|
73
|
+
@event_id = event_id
|
|
74
|
+
@attendee_id = attendee_id
|
|
75
|
+
@screening_id = screening_id
|
|
76
|
+
@highest_band = highest_band
|
|
77
|
+
@match_state = match_state
|
|
78
|
+
@flagged_at = flagged_at
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
82
|
+
def ==(other)
|
|
83
|
+
return false unless other.is_a?(self.class)
|
|
84
|
+
return false unless @event_id == other.event_id
|
|
85
|
+
return false unless @attendee_id == other.attendee_id
|
|
86
|
+
return false unless @screening_id == other.screening_id
|
|
87
|
+
return false unless @highest_band == other.highest_band
|
|
88
|
+
return false unless @match_state == other.match_state
|
|
89
|
+
return false unless @flagged_at == other.flagged_at
|
|
90
|
+
true
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::AttendeeFlagged
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::AttendeeFlagged
|
|
9
|
+
def event_id
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def event_id=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def attendee_id
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def attendee_id=(str_)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def screening_id
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def screening_id=(str_)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def highest_band
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def highest_band=(str_)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def match_state
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def match_state=(str_)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def flagged_at
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def flagged_at=(str_)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# The attendee.flagged event.
|
|
8
|
+
class AttendeeFlaggedEvent
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
# The event id, equal to the NR-Webhook-Id header and across redeliveries and every endpoint the event fans out to.
|
|
13
|
+
field :id, ::String, {'format_json': {'letter_case': ::NoResponse::Utils.field_name("id"), required: true}}
|
|
14
|
+
# When the event was created. Equal across redeliveries; the signing timestamp header is per delivery.
|
|
15
|
+
field(
|
|
16
|
+
:created_at,
|
|
17
|
+
::String,
|
|
18
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("created_at"), required: true}}
|
|
19
|
+
)
|
|
20
|
+
# A screening recorded a finding on an attendee. It says which attendee and how severe, not what they posted, who they are or why: GET the attendee report for the findings. Sent once per screening that flags the attendee, so a re-screen of someone on watch announces them again.
|
|
21
|
+
field(
|
|
22
|
+
:data,
|
|
23
|
+
Models::Shared::AttendeeFlagged,
|
|
24
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("data"), required: true}}
|
|
25
|
+
)
|
|
26
|
+
# Always attendee.flagged.
|
|
27
|
+
field :type, ::String, {'format_json': {'letter_case': ::NoResponse::Utils.field_name("type"), required: true}}
|
|
28
|
+
# Present, and true, only on an event sent by POST /v1/webhooks/{endpoint_id}/test: its data is a fixed example assessment, not one of the workspace's, so a receiver acknowledges it and applies nothing. Real events have no test member.
|
|
29
|
+
field(
|
|
30
|
+
:test,
|
|
31
|
+
Crystalline::Nilable.new(Crystalline::Boolean.new),
|
|
32
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("test")}}
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
sig {
|
|
36
|
+
params(
|
|
37
|
+
id: ::String,
|
|
38
|
+
created_at: ::String,
|
|
39
|
+
data: Models::Shared::AttendeeFlagged,
|
|
40
|
+
type: ::String,
|
|
41
|
+
test: T.nilable(T::Boolean)
|
|
42
|
+
)
|
|
43
|
+
.void
|
|
44
|
+
}
|
|
45
|
+
def initialize(id:, created_at:, data:, type: "attendee.flagged", test: nil)
|
|
46
|
+
@id = id
|
|
47
|
+
@created_at = created_at
|
|
48
|
+
@data = data
|
|
49
|
+
unless type == "attendee.flagged"
|
|
50
|
+
raise ArgumentError, "Invalid value for type"
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
@type = "attendee.flagged"
|
|
54
|
+
@test = test
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
58
|
+
def ==(other)
|
|
59
|
+
return false unless other.is_a?(self.class)
|
|
60
|
+
return false unless @id == other.id
|
|
61
|
+
return false unless @created_at == other.created_at
|
|
62
|
+
return false unless @data == other.data
|
|
63
|
+
return false unless @type == other.type
|
|
64
|
+
return false unless @test == other.test
|
|
65
|
+
true
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::AttendeeFlaggedEvent
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::AttendeeFlaggedEvent
|
|
9
|
+
def id
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def id=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def created_at
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def created_at=(str_)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def data
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def data=(str_)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def type
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def type=(str_)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test=(str_)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# AttendeeFlaggedMatchState - How sure the screening is that the accounts it read are the attendee's. A finding on a possible match is at most moderate, on a probable match at most high.
|
|
8
|
+
class AttendeeFlaggedMatchState < T::Enum
|
|
9
|
+
enums do
|
|
10
|
+
CONFIRMED = new("confirmed")
|
|
11
|
+
PROBABLE = new("probable")
|
|
12
|
+
POSSIBLE = new("possible")
|
|
13
|
+
NONE_FOUND = new("none_found")
|
|
14
|
+
INACCESSIBLE = new("inaccessible")
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# A screening of an event finished. It counts only the attendees this screening set out to reach, not who they are: read the roster with GET /v1/workspaces/{workspace_id}/events/{environment}/{event_id}/attendees, filtered by band, to act on them. attendees_screened + partial_coverage = attendees_total, attendees_flagged is the sum of by_band, and no_footprint counts screened attendees with no flag whose accounts were not found. A cancelled screening sends no event.
|
|
8
|
+
class ScreeningCompleted
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
# The screening that finished.
|
|
13
|
+
field(
|
|
14
|
+
:screening_id,
|
|
15
|
+
::String,
|
|
16
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("screening_id"), required: true}}
|
|
17
|
+
)
|
|
18
|
+
# The event it screened.
|
|
19
|
+
field(
|
|
20
|
+
:event_id,
|
|
21
|
+
::String,
|
|
22
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("event_id"), required: true}}
|
|
23
|
+
)
|
|
24
|
+
# completed reached every attendee; partial left some not fully covered (partial_coverage); failed covered nobody.
|
|
25
|
+
field(
|
|
26
|
+
:status,
|
|
27
|
+
Models::Shared::ScreeningCompletedStatus,
|
|
28
|
+
{
|
|
29
|
+
'format_json': {
|
|
30
|
+
'letter_case': ::NoResponse::Utils.field_name("status"),
|
|
31
|
+
required: true,
|
|
32
|
+
'decoder': ::NoResponse::Utils.enum_from_string(Models::Shared::ScreeningCompletedStatus, false)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
)
|
|
36
|
+
# Every attendee the screening set out to reach: those no screening had reached and those on watch or escalated.
|
|
37
|
+
field(
|
|
38
|
+
:attendees_total,
|
|
39
|
+
::Integer,
|
|
40
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("attendees_total"), required: true}}
|
|
41
|
+
)
|
|
42
|
+
# Attendees the screening covered, flagged or not.
|
|
43
|
+
field(
|
|
44
|
+
:attendees_screened,
|
|
45
|
+
::Integer,
|
|
46
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("attendees_screened"), required: true}}
|
|
47
|
+
)
|
|
48
|
+
# Screened attendees with a finding: the sum of by_band.
|
|
49
|
+
field(
|
|
50
|
+
:attendees_flagged,
|
|
51
|
+
::Integer,
|
|
52
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("attendees_flagged"), required: true}}
|
|
53
|
+
)
|
|
54
|
+
# Screened attendees by the band of their most severe finding.
|
|
55
|
+
field(
|
|
56
|
+
:by_band,
|
|
57
|
+
Models::Shared::ScreeningCompletedByBand,
|
|
58
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("by_band"), required: true}}
|
|
59
|
+
)
|
|
60
|
+
# Screened attendees with no finding whose accounts were not found (match_state none_found). A clean result for someone with no visible accounts is not the same as a clean result for someone whose accounts were read.
|
|
61
|
+
field(
|
|
62
|
+
:no_footprint,
|
|
63
|
+
::Integer,
|
|
64
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("no_footprint"), required: true}}
|
|
65
|
+
)
|
|
66
|
+
# Attendees the screening did not fully cover. Read each one's coverage on its attendee.
|
|
67
|
+
field(
|
|
68
|
+
:partial_coverage,
|
|
69
|
+
::Integer,
|
|
70
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("partial_coverage"), required: true}}
|
|
71
|
+
)
|
|
72
|
+
# When the screening finished; equal to the event's created_at.
|
|
73
|
+
field(
|
|
74
|
+
:finished_at,
|
|
75
|
+
::String,
|
|
76
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("finished_at"), required: true}}
|
|
77
|
+
)
|
|
78
|
+
# Why a partial or failed screening stopped before reaching everyone, as the screening resource says: expired, worker_attempts_exhausted, attempts_exhausted or screening_unavailable.
|
|
79
|
+
field(
|
|
80
|
+
:error_code,
|
|
81
|
+
Crystalline::Nilable.new(::String),
|
|
82
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("error_code")}}
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
sig {
|
|
86
|
+
params(
|
|
87
|
+
screening_id: ::String,
|
|
88
|
+
event_id: ::String,
|
|
89
|
+
status: Models::Shared::ScreeningCompletedStatus,
|
|
90
|
+
attendees_total: ::Integer,
|
|
91
|
+
attendees_screened: ::Integer,
|
|
92
|
+
attendees_flagged: ::Integer,
|
|
93
|
+
by_band: Models::Shared::ScreeningCompletedByBand,
|
|
94
|
+
no_footprint: ::Integer,
|
|
95
|
+
partial_coverage: ::Integer,
|
|
96
|
+
finished_at: ::String,
|
|
97
|
+
error_code: T.nilable(::String)
|
|
98
|
+
)
|
|
99
|
+
.void
|
|
100
|
+
}
|
|
101
|
+
def initialize(
|
|
102
|
+
screening_id:,
|
|
103
|
+
event_id:,
|
|
104
|
+
status:,
|
|
105
|
+
attendees_total:,
|
|
106
|
+
attendees_screened:,
|
|
107
|
+
attendees_flagged:,
|
|
108
|
+
by_band:,
|
|
109
|
+
no_footprint:,
|
|
110
|
+
partial_coverage:,
|
|
111
|
+
finished_at:,
|
|
112
|
+
error_code: nil
|
|
113
|
+
)
|
|
114
|
+
@screening_id = screening_id
|
|
115
|
+
@event_id = event_id
|
|
116
|
+
@status = status
|
|
117
|
+
@attendees_total = attendees_total
|
|
118
|
+
@attendees_screened = attendees_screened
|
|
119
|
+
@attendees_flagged = attendees_flagged
|
|
120
|
+
@by_band = by_band
|
|
121
|
+
@no_footprint = no_footprint
|
|
122
|
+
@partial_coverage = partial_coverage
|
|
123
|
+
@finished_at = finished_at
|
|
124
|
+
@error_code = error_code
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
128
|
+
def ==(other)
|
|
129
|
+
return false unless other.is_a?(self.class)
|
|
130
|
+
return false unless @screening_id == other.screening_id
|
|
131
|
+
return false unless @event_id == other.event_id
|
|
132
|
+
return false unless @status == other.status
|
|
133
|
+
return false unless @attendees_total == other.attendees_total
|
|
134
|
+
return false unless @attendees_screened == other.attendees_screened
|
|
135
|
+
return false unless @attendees_flagged == other.attendees_flagged
|
|
136
|
+
return false unless @by_band == other.by_band
|
|
137
|
+
return false unless @no_footprint == other.no_footprint
|
|
138
|
+
return false unless @partial_coverage == other.partial_coverage
|
|
139
|
+
return false unless @finished_at == other.finished_at
|
|
140
|
+
return false unless @error_code == other.error_code
|
|
141
|
+
true
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::ScreeningCompleted
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::ScreeningCompleted
|
|
9
|
+
def screening_id
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def screening_id=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def event_id
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def event_id=(str_)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def status
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def status=(str_)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def attendees_total
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def attendees_total=(str_)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def attendees_screened
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def attendees_screened=(str_)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def attendees_flagged
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def attendees_flagged=(str_)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def by_band
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def by_band=(str_)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def no_footprint
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def no_footprint=(str_)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def partial_coverage
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def partial_coverage=(str_)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def finished_at
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def finished_at=(str_)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def error_code
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def error_code=(str_)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# Screened attendees by the band of their most severe finding.
|
|
8
|
+
class ScreeningCompletedByBand
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
field(
|
|
13
|
+
:critical,
|
|
14
|
+
::Integer,
|
|
15
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("critical"), required: true}}
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
field :high, ::Integer, {'format_json': {'letter_case': ::NoResponse::Utils.field_name("high"), required: true}}
|
|
19
|
+
|
|
20
|
+
field(
|
|
21
|
+
:moderate,
|
|
22
|
+
::Integer,
|
|
23
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("moderate"), required: true}}
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
field :low, ::Integer, {'format_json': {'letter_case': ::NoResponse::Utils.field_name("low"), required: true}}
|
|
27
|
+
|
|
28
|
+
field :info, ::Integer, {'format_json': {'letter_case': ::NoResponse::Utils.field_name("info"), required: true}}
|
|
29
|
+
|
|
30
|
+
sig { params(critical: ::Integer, high: ::Integer, moderate: ::Integer, low: ::Integer, info: ::Integer).void }
|
|
31
|
+
def initialize(critical:, high:, moderate:, low:, info:)
|
|
32
|
+
@critical = critical
|
|
33
|
+
@high = high
|
|
34
|
+
@moderate = moderate
|
|
35
|
+
@low = low
|
|
36
|
+
@info = info
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
40
|
+
def ==(other)
|
|
41
|
+
return false unless other.is_a?(self.class)
|
|
42
|
+
return false unless @critical == other.critical
|
|
43
|
+
return false unless @high == other.high
|
|
44
|
+
return false unless @moderate == other.moderate
|
|
45
|
+
return false unless @low == other.low
|
|
46
|
+
return false unless @info == other.info
|
|
47
|
+
true
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::ScreeningCompletedByBand
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::ScreeningCompletedByBand
|
|
9
|
+
def critical
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def critical=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def high
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def high=(str_)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def moderate
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def moderate=(str_)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def low
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def low=(str_)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def info
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def info=(str_)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# The screening.completed event.
|
|
8
|
+
class ScreeningCompletedEvent
|
|
9
|
+
extend T::Sig
|
|
10
|
+
include Crystalline::MetadataFields
|
|
11
|
+
|
|
12
|
+
# The event id, equal to the NR-Webhook-Id header and across redeliveries and every endpoint the event fans out to.
|
|
13
|
+
field :id, ::String, {'format_json': {'letter_case': ::NoResponse::Utils.field_name("id"), required: true}}
|
|
14
|
+
# When the event was created. Equal across redeliveries; the signing timestamp header is per delivery.
|
|
15
|
+
field(
|
|
16
|
+
:created_at,
|
|
17
|
+
::String,
|
|
18
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("created_at"), required: true}}
|
|
19
|
+
)
|
|
20
|
+
# A screening of an event finished. It counts only the attendees this screening set out to reach, not who they are: read the roster with GET /v1/workspaces/{workspace_id}/events/{environment}/{event_id}/attendees, filtered by band, to act on them. attendees_screened + partial_coverage = attendees_total, attendees_flagged is the sum of by_band, and no_footprint counts screened attendees with no flag whose accounts were not found. A cancelled screening sends no event.
|
|
21
|
+
field(
|
|
22
|
+
:data,
|
|
23
|
+
Models::Shared::ScreeningCompleted,
|
|
24
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("data"), required: true}}
|
|
25
|
+
)
|
|
26
|
+
# Always screening.completed.
|
|
27
|
+
field :type, ::String, {'format_json': {'letter_case': ::NoResponse::Utils.field_name("type"), required: true}}
|
|
28
|
+
# Present, and true, only on an event sent by POST /v1/webhooks/{endpoint_id}/test: its data is a fixed example assessment, not one of the workspace's, so a receiver acknowledges it and applies nothing. Real events have no test member.
|
|
29
|
+
field(
|
|
30
|
+
:test,
|
|
31
|
+
Crystalline::Nilable.new(Crystalline::Boolean.new),
|
|
32
|
+
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("test")}}
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
sig {
|
|
36
|
+
params(
|
|
37
|
+
id: ::String,
|
|
38
|
+
created_at: ::String,
|
|
39
|
+
data: Models::Shared::ScreeningCompleted,
|
|
40
|
+
type: ::String,
|
|
41
|
+
test: T.nilable(T::Boolean)
|
|
42
|
+
)
|
|
43
|
+
.void
|
|
44
|
+
}
|
|
45
|
+
def initialize(id:, created_at:, data:, type: "screening.completed", test: nil)
|
|
46
|
+
@id = id
|
|
47
|
+
@created_at = created_at
|
|
48
|
+
@data = data
|
|
49
|
+
unless type == "screening.completed"
|
|
50
|
+
raise ArgumentError, "Invalid value for type"
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
@type = "screening.completed"
|
|
54
|
+
@test = test
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
58
|
+
def ==(other)
|
|
59
|
+
return false unless other.is_a?(self.class)
|
|
60
|
+
return false unless @id == other.id
|
|
61
|
+
return false unless @created_at == other.created_at
|
|
62
|
+
return false unless @data == other.data
|
|
63
|
+
return false unless @type == other.type
|
|
64
|
+
return false unless @test == other.test
|
|
65
|
+
true
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class NoResponse::Models::Shared::ScreeningCompletedEvent
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class NoResponse::Models::Shared::ScreeningCompletedEvent
|
|
9
|
+
def id
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def id=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def created_at
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def created_at=(str_)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def data
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def data=(str_)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def type
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def type=(str_)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test=(str_)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module NoResponse
|
|
5
|
+
module Models
|
|
6
|
+
module Shared
|
|
7
|
+
# ScreeningCompletedStatus - completed reached every attendee; partial left some not fully covered (partial_coverage); failed covered nobody.
|
|
8
|
+
class ScreeningCompletedStatus < T::Enum
|
|
9
|
+
enums do
|
|
10
|
+
COMPLETED = new("completed")
|
|
11
|
+
PARTIAL = new("partial")
|
|
12
|
+
FAILED = new("failed")
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -15,7 +15,7 @@ module NoResponse
|
|
|
15
15
|
::String,
|
|
16
16
|
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("event_id"), required: true}}
|
|
17
17
|
)
|
|
18
|
-
# The event's type, as its body's type: assessment.updated, endpoint.verification, account.deleted, workspace.deleted, webhook_endpoint.disabled, account.risk_changed, audit.event, or a type added later.
|
|
18
|
+
# The event's type, as its body's type: assessment.updated, endpoint.verification, account.deleted, workspace.deleted, webhook_endpoint.disabled, account.risk_changed, audit.event, screening.completed, attendee.flagged, attendee.decided, or a type added later.
|
|
19
19
|
field(
|
|
20
20
|
:event_type,
|
|
21
21
|
::String,
|
|
@@ -21,7 +21,7 @@ module NoResponse
|
|
|
21
21
|
::String,
|
|
22
22
|
{'format_json': {'letter_case': ::NoResponse::Utils.field_name("event_id"), required: true}}
|
|
23
23
|
)
|
|
24
|
-
# The event's type, as its body's type: assessment.updated, endpoint.verification, account.deleted, workspace.deleted, webhook_endpoint.disabled, account.risk_changed, audit.event, or a type added later.
|
|
24
|
+
# The event's type, as its body's type: assessment.updated, endpoint.verification, account.deleted, workspace.deleted, webhook_endpoint.disabled, account.risk_changed, audit.event, screening.completed, attendee.flagged, attendee.decided, or a type added later.
|
|
25
25
|
field(
|
|
26
26
|
:event_type,
|
|
27
27
|
::String,
|
|
@@ -75,7 +75,12 @@ module NoResponse
|
|
|
75
75
|
autoload :AttendeeBatchItem, "no_response/models/shared/attendeebatchitem.rb"
|
|
76
76
|
autoload :AttendeeBatchItemOutcome, "no_response/models/shared/attendeebatchitemoutcome.rb"
|
|
77
77
|
autoload :AttendeeBatchRequest, "no_response/models/shared/attendeebatchrequest.rb"
|
|
78
|
+
autoload :AttendeeDecided, "no_response/models/shared/attendeedecided.rb"
|
|
79
|
+
autoload :AttendeeDecidedEvent, "no_response/models/shared/attendeedecidedevent.rb"
|
|
78
80
|
autoload :AttendeeDecision, "no_response/models/shared/attendeedecision.rb"
|
|
81
|
+
autoload :AttendeeFlagged, "no_response/models/shared/attendeeflagged.rb"
|
|
82
|
+
autoload :AttendeeFlaggedEvent, "no_response/models/shared/attendeeflaggedevent.rb"
|
|
83
|
+
autoload :AttendeeFlaggedMatchState, "no_response/models/shared/attendeeflaggedmatchstate.rb"
|
|
79
84
|
autoload :AttendeeIdentity, "no_response/models/shared/attendeeidentity.rb"
|
|
80
85
|
autoload :AttendeeList, "no_response/models/shared/attendeelist.rb"
|
|
81
86
|
autoload :AttendeeReport, "no_response/models/shared/attendeereport.rb"
|
|
@@ -348,6 +353,10 @@ module NoResponse
|
|
|
348
353
|
autoload :ScopeEnum, "no_response/models/shared/scope_enum.rb"
|
|
349
354
|
autoload :Screening, "no_response/models/shared/screening.rb"
|
|
350
355
|
autoload :ScreeningCancelRequest, "no_response/models/shared/screeningcancelrequest.rb"
|
|
356
|
+
autoload :ScreeningCompleted, "no_response/models/shared/screeningcompleted.rb"
|
|
357
|
+
autoload :ScreeningCompletedByBand, "no_response/models/shared/screeningcompletedbyband.rb"
|
|
358
|
+
autoload :ScreeningCompletedEvent, "no_response/models/shared/screeningcompletedevent.rb"
|
|
359
|
+
autoload :ScreeningCompletedStatus, "no_response/models/shared/screeningcompletedstatus.rb"
|
|
351
360
|
autoload :ScreeningDepth, "no_response/models/shared/screeningdepth.rb"
|
|
352
361
|
autoload :ScreeningList, "no_response/models/shared/screeninglist.rb"
|
|
353
362
|
autoload :ScreeningRequest, "no_response/models/shared/screeningrequest.rb"
|
|
@@ -95,9 +95,9 @@ module NoResponse
|
|
|
95
95
|
|
|
96
96
|
@language = "ruby"
|
|
97
97
|
@openapi_doc_version = "1"
|
|
98
|
-
@sdk_version = "10.0.
|
|
98
|
+
@sdk_version = "10.0.12"
|
|
99
99
|
@gen_version = "internal"
|
|
100
|
-
@user_agent = "noresponse-sdk/ruby 10.0.
|
|
100
|
+
@user_agent = "noresponse-sdk/ruby 10.0.12 internal 1 noresponse"
|
|
101
101
|
end
|
|
102
102
|
|
|
103
103
|
sig { returns([String, T::Hash[Symbol, String]]) }
|
|
@@ -45,7 +45,10 @@ module NoResponse
|
|
|
45
45
|
"workspace.deleted" => Models::Shared::WorkspaceDeletedEvent,
|
|
46
46
|
"webhook_endpoint.disabled" => Models::Shared::WebhookEndpointDisabledEvent,
|
|
47
47
|
"account.risk_changed" => Models::Shared::AccountRiskChangedEvent,
|
|
48
|
-
"audit.event" => Models::Shared::AuditEventEvent
|
|
48
|
+
"audit.event" => Models::Shared::AuditEventEvent,
|
|
49
|
+
"screening.completed" => Models::Shared::ScreeningCompletedEvent,
|
|
50
|
+
"attendee.flagged" => Models::Shared::AttendeeFlaggedEvent,
|
|
51
|
+
"attendee.decided" => Models::Shared::AttendeeDecidedEvent
|
|
49
52
|
}
|
|
50
53
|
)
|
|
51
54
|
private_constant :EVENT_TYPE
|
|
@@ -76,7 +79,10 @@ module NoResponse
|
|
|
76
79
|
Models::Shared::WorkspaceDeletedEvent,
|
|
77
80
|
Models::Shared::WebhookEndpointDisabledEvent,
|
|
78
81
|
Models::Shared::AccountRiskChangedEvent,
|
|
79
|
-
Models::Shared::AuditEventEvent
|
|
82
|
+
Models::Shared::AuditEventEvent,
|
|
83
|
+
Models::Shared::ScreeningCompletedEvent,
|
|
84
|
+
Models::Shared::AttendeeFlaggedEvent,
|
|
85
|
+
Models::Shared::AttendeeDecidedEvent
|
|
80
86
|
)
|
|
81
87
|
)
|
|
82
88
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: noresponse
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 10.0.
|
|
4
|
+
version: 10.0.12
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- NoResponse
|
|
@@ -872,8 +872,18 @@ files:
|
|
|
872
872
|
- lib/no_response/models/shared/attendeebatchitemoutcome.rbi
|
|
873
873
|
- lib/no_response/models/shared/attendeebatchrequest.rb
|
|
874
874
|
- lib/no_response/models/shared/attendeebatchrequest.rbi
|
|
875
|
+
- lib/no_response/models/shared/attendeedecided.rb
|
|
876
|
+
- lib/no_response/models/shared/attendeedecided.rbi
|
|
877
|
+
- lib/no_response/models/shared/attendeedecidedevent.rb
|
|
878
|
+
- lib/no_response/models/shared/attendeedecidedevent.rbi
|
|
875
879
|
- lib/no_response/models/shared/attendeedecision.rb
|
|
876
880
|
- lib/no_response/models/shared/attendeedecision.rbi
|
|
881
|
+
- lib/no_response/models/shared/attendeeflagged.rb
|
|
882
|
+
- lib/no_response/models/shared/attendeeflagged.rbi
|
|
883
|
+
- lib/no_response/models/shared/attendeeflaggedevent.rb
|
|
884
|
+
- lib/no_response/models/shared/attendeeflaggedevent.rbi
|
|
885
|
+
- lib/no_response/models/shared/attendeeflaggedmatchstate.rb
|
|
886
|
+
- lib/no_response/models/shared/attendeeflaggedmatchstate.rbi
|
|
877
887
|
- lib/no_response/models/shared/attendeeidentity.rb
|
|
878
888
|
- lib/no_response/models/shared/attendeeidentity.rbi
|
|
879
889
|
- lib/no_response/models/shared/attendeelist.rb
|
|
@@ -1434,6 +1444,14 @@ files:
|
|
|
1434
1444
|
- lib/no_response/models/shared/screening_platform.rbi
|
|
1435
1445
|
- lib/no_response/models/shared/screeningcancelrequest.rb
|
|
1436
1446
|
- lib/no_response/models/shared/screeningcancelrequest.rbi
|
|
1447
|
+
- lib/no_response/models/shared/screeningcompleted.rb
|
|
1448
|
+
- lib/no_response/models/shared/screeningcompleted.rbi
|
|
1449
|
+
- lib/no_response/models/shared/screeningcompletedbyband.rb
|
|
1450
|
+
- lib/no_response/models/shared/screeningcompletedbyband.rbi
|
|
1451
|
+
- lib/no_response/models/shared/screeningcompletedevent.rb
|
|
1452
|
+
- lib/no_response/models/shared/screeningcompletedevent.rbi
|
|
1453
|
+
- lib/no_response/models/shared/screeningcompletedstatus.rb
|
|
1454
|
+
- lib/no_response/models/shared/screeningcompletedstatus.rbi
|
|
1437
1455
|
- lib/no_response/models/shared/screeningdepth.rb
|
|
1438
1456
|
- lib/no_response/models/shared/screeningdepth.rbi
|
|
1439
1457
|
- lib/no_response/models/shared/screeninglist.rb
|