knockapi 1.11.2 → 1.13.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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +1 -1
  4. data/lib/knockapi/models/identify_user_request.rb +2 -2
  5. data/lib/knockapi/models/inline_identify_user_request.rb +2 -2
  6. data/lib/knockapi/models/inline_object_request.rb +2 -2
  7. data/lib/knockapi/models/message.rb +65 -65
  8. data/lib/knockapi/models/object_set_params.rb +2 -2
  9. data/lib/knockapi/models/objects/bulk_set_params.rb +2 -2
  10. data/lib/knockapi/models/recipients/channel_data.rb +25 -3
  11. data/lib/knockapi/models/recipients/channel_data_request.rb +24 -3
  12. data/lib/knockapi/models/recipients/inline_channel_data_request.rb +22 -1
  13. data/lib/knockapi/models/tenant_request.rb +2 -2
  14. data/lib/knockapi/models/tenant_set_params.rb +2 -2
  15. data/lib/knockapi/models/users/guide_get_channel_response.rb +9 -1
  16. data/lib/knockapi/resources/objects.rb +2 -2
  17. data/lib/knockapi/resources/tenants.rb +1 -1
  18. data/lib/knockapi/resources/users.rb +2 -2
  19. data/lib/knockapi/version.rb +1 -1
  20. data/rbi/knockapi/models/identify_user_request.rbi +3 -0
  21. data/rbi/knockapi/models/inline_identify_user_request.rbi +3 -0
  22. data/rbi/knockapi/models/inline_object_request.rbi +3 -0
  23. data/rbi/knockapi/models/message.rbi +76 -112
  24. data/rbi/knockapi/models/object_set_params.rbi +4 -0
  25. data/rbi/knockapi/models/objects/bulk_set_params.rbi +3 -0
  26. data/rbi/knockapi/models/recipients/channel_data.rbi +39 -2
  27. data/rbi/knockapi/models/recipients/channel_data_request.rbi +34 -0
  28. data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +31 -0
  29. data/rbi/knockapi/models/tenant_request.rbi +3 -0
  30. data/rbi/knockapi/models/tenant_set_params.rbi +3 -0
  31. data/rbi/knockapi/models/users/guide_get_channel_response.rbi +11 -0
  32. data/rbi/knockapi/resources/objects.rbi +2 -0
  33. data/rbi/knockapi/resources/tenants.rbi +1 -0
  34. data/rbi/knockapi/resources/users.rbi +2 -0
  35. data/sig/knockapi/models/message.rbs +37 -61
  36. data/sig/knockapi/models/recipients/channel_data.rbs +13 -0
  37. data/sig/knockapi/models/recipients/channel_data_request.rbs +11 -0
  38. data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +11 -0
  39. data/sig/knockapi/models/users/guide_get_channel_response.rbs +7 -0
  40. metadata +2 -2
@@ -94,6 +94,13 @@ module Knockapi
94
94
  sig { params(id: String).void }
95
95
  attr_writer :id
96
96
 
97
+ # Whether the guide is active.
98
+ sig { returns(T.nilable(T::Boolean)) }
99
+ attr_reader :active
100
+
101
+ sig { params(active: T::Boolean).void }
102
+ attr_writer :active
103
+
97
104
  # The content of the guide.
98
105
  sig { returns(T.nilable(String)) }
99
106
  attr_reader :content
@@ -118,6 +125,7 @@ module Knockapi
118
125
  sig do
119
126
  params(
120
127
  id: String,
128
+ active: T::Boolean,
121
129
  content: String,
122
130
  metadata: T::Hash[Symbol, T.anything],
123
131
  title: String
@@ -126,6 +134,8 @@ module Knockapi
126
134
  def self.new(
127
135
  # The unique identifier for the guide.
128
136
  id: nil,
137
+ # Whether the guide is active.
138
+ active: nil,
129
139
  # The content of the guide.
130
140
  content: nil,
131
141
  # The metadata of the guide.
@@ -139,6 +149,7 @@ module Knockapi
139
149
  override.returns(
140
150
  {
141
151
  id: String,
152
+ active: T::Boolean,
142
153
  content: String,
143
154
  metadata: T::Hash[Symbol, T.anything],
144
155
  title: String
@@ -355,6 +355,7 @@ module Knockapi
355
355
  T.any(
356
356
  Knockapi::Recipients::PushChannelData::OrHash,
357
357
  Knockapi::Recipients::OneSignalChannelData::OrHash,
358
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
358
359
  Knockapi::Recipients::SlackChannelData::OrHash,
359
360
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
360
361
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -402,6 +403,7 @@ module Knockapi
402
403
  T.any(
403
404
  Knockapi::Recipients::PushChannelData::OrHash,
404
405
  Knockapi::Recipients::OneSignalChannelData::OrHash,
406
+ Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData::OrHash,
405
407
  Knockapi::Recipients::SlackChannelData::OrHash,
406
408
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
407
409
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -72,6 +72,7 @@ module Knockapi
72
72
  T.any(
73
73
  Knockapi::Recipients::PushChannelData::OrHash,
74
74
  Knockapi::Recipients::OneSignalChannelData::OrHash,
75
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
75
76
  Knockapi::Recipients::SlackChannelData::OrHash,
76
77
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
77
78
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -26,6 +26,7 @@ module Knockapi
26
26
  T.any(
27
27
  Knockapi::Recipients::PushChannelData::OrHash,
28
28
  Knockapi::Recipients::OneSignalChannelData::OrHash,
29
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
29
30
  Knockapi::Recipients::SlackChannelData::OrHash,
30
31
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
31
32
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -344,6 +345,7 @@ module Knockapi
344
345
  T.any(
345
346
  Knockapi::Recipients::PushChannelData::OrHash,
346
347
  Knockapi::Recipients::OneSignalChannelData::OrHash,
348
+ Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData::OrHash,
347
349
  Knockapi::Recipients::SlackChannelData::OrHash,
348
350
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
349
351
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -4,35 +4,45 @@ module Knockapi
4
4
  {
5
5
  id: String,
6
6
  _typename: String,
7
+ channel_id: String,
8
+ engagement_statuses: ::Array[Knockapi::Models::Message::engagement_status],
9
+ inserted_at: Time,
10
+ recipient: Knockapi::Models::recipient_reference,
11
+ source: Knockapi::Message::Source,
12
+ status: Knockapi::Models::Message::status,
13
+ updated_at: Time,
7
14
  actors: ::Array[Knockapi::Models::recipient_reference],
8
15
  archived_at: Time?,
9
- channel_id: String,
10
16
  clicked_at: Time?,
11
17
  data: ::Hash[Symbol, top]?,
12
- engagement_statuses: ::Array[Knockapi::Models::Message::engagement_status],
13
- inserted_at: Time,
14
18
  interacted_at: Time?,
15
19
  link_clicked_at: Time?,
16
20
  metadata: ::Hash[Symbol, top]?,
17
21
  read_at: Time?,
18
- recipient: Knockapi::Models::recipient_reference,
19
22
  scheduled_at: Time?,
20
23
  seen_at: Time?,
21
- source: Knockapi::Message::Source,
22
- status: Knockapi::Models::Message::status,
23
24
  tenant: String?,
24
- updated_at: Time,
25
25
  workflow: String?
26
26
  }
27
27
 
28
28
  class Message < Knockapi::Internal::Type::BaseModel
29
- attr_reader id: String?
29
+ attr_accessor id: String
30
30
 
31
- def id=: (String) -> String
31
+ attr_accessor _typename: String
32
32
 
33
- attr_reader _typename: String?
33
+ attr_accessor channel_id: String
34
34
 
35
- def _typename=: (String) -> String
35
+ attr_accessor engagement_statuses: ::Array[Knockapi::Models::Message::engagement_status]
36
+
37
+ attr_accessor inserted_at: Time
38
+
39
+ attr_accessor recipient: Knockapi::Models::recipient_reference
40
+
41
+ attr_accessor source: Knockapi::Message::Source
42
+
43
+ attr_accessor status: Knockapi::Models::Message::status
44
+
45
+ attr_accessor updated_at: Time
36
46
 
37
47
  attr_reader actors: ::Array[Knockapi::Models::recipient_reference]?
38
48
 
@@ -42,24 +52,10 @@ module Knockapi
42
52
 
43
53
  attr_accessor archived_at: Time?
44
54
 
45
- attr_reader channel_id: String?
46
-
47
- def channel_id=: (String) -> String
48
-
49
55
  attr_accessor clicked_at: Time?
50
56
 
51
57
  attr_accessor data: ::Hash[Symbol, top]?
52
58
 
53
- attr_reader engagement_statuses: ::Array[Knockapi::Models::Message::engagement_status]?
54
-
55
- def engagement_statuses=: (
56
- ::Array[Knockapi::Models::Message::engagement_status]
57
- ) -> ::Array[Knockapi::Models::Message::engagement_status]
58
-
59
- attr_reader inserted_at: Time?
60
-
61
- def inserted_at=: (Time) -> Time
62
-
63
59
  attr_accessor interacted_at: Time?
64
60
 
65
61
  attr_accessor link_clicked_at: Time?
@@ -68,79 +64,59 @@ module Knockapi
68
64
 
69
65
  attr_accessor read_at: Time?
70
66
 
71
- attr_reader recipient: Knockapi::Models::recipient_reference?
72
-
73
- def recipient=: (
74
- Knockapi::Models::recipient_reference
75
- ) -> Knockapi::Models::recipient_reference
76
-
77
67
  attr_accessor scheduled_at: Time?
78
68
 
79
69
  attr_accessor seen_at: Time?
80
70
 
81
- attr_reader source: Knockapi::Message::Source?
82
-
83
- def source=: (Knockapi::Message::Source) -> Knockapi::Message::Source
84
-
85
- attr_reader status: Knockapi::Models::Message::status?
86
-
87
- def status=: (
88
- Knockapi::Models::Message::status
89
- ) -> Knockapi::Models::Message::status
90
-
91
71
  attr_accessor tenant: String?
92
72
 
93
- attr_reader updated_at: Time?
94
-
95
- def updated_at=: (Time) -> Time
96
-
97
73
  attr_accessor workflow: String?
98
74
 
99
75
  def initialize: (
100
- ?id: String,
101
- ?_typename: String,
76
+ id: String,
77
+ _typename: String,
78
+ channel_id: String,
79
+ engagement_statuses: ::Array[Knockapi::Models::Message::engagement_status],
80
+ inserted_at: Time,
81
+ recipient: Knockapi::Models::recipient_reference,
82
+ source: Knockapi::Message::Source,
83
+ status: Knockapi::Models::Message::status,
84
+ updated_at: Time,
102
85
  ?actors: ::Array[Knockapi::Models::recipient_reference],
103
86
  ?archived_at: Time?,
104
- ?channel_id: String,
105
87
  ?clicked_at: Time?,
106
88
  ?data: ::Hash[Symbol, top]?,
107
- ?engagement_statuses: ::Array[Knockapi::Models::Message::engagement_status],
108
- ?inserted_at: Time,
109
89
  ?interacted_at: Time?,
110
90
  ?link_clicked_at: Time?,
111
91
  ?metadata: ::Hash[Symbol, top]?,
112
92
  ?read_at: Time?,
113
- ?recipient: Knockapi::Models::recipient_reference,
114
93
  ?scheduled_at: Time?,
115
94
  ?seen_at: Time?,
116
- ?source: Knockapi::Message::Source,
117
- ?status: Knockapi::Models::Message::status,
118
95
  ?tenant: String?,
119
- ?updated_at: Time,
120
96
  ?workflow: String?
121
97
  ) -> void
122
98
 
123
99
  def to_hash: -> {
124
100
  id: String,
125
101
  _typename: String,
102
+ channel_id: String,
103
+ engagement_statuses: ::Array[Knockapi::Models::Message::engagement_status],
104
+ inserted_at: Time,
105
+ recipient: Knockapi::Models::recipient_reference,
106
+ source: Knockapi::Message::Source,
107
+ status: Knockapi::Models::Message::status,
108
+ updated_at: Time,
126
109
  actors: ::Array[Knockapi::Models::recipient_reference],
127
110
  archived_at: Time?,
128
- channel_id: String,
129
111
  clicked_at: Time?,
130
112
  data: ::Hash[Symbol, top]?,
131
- engagement_statuses: ::Array[Knockapi::Models::Message::engagement_status],
132
- inserted_at: Time,
133
113
  interacted_at: Time?,
134
114
  link_clicked_at: Time?,
135
115
  metadata: ::Hash[Symbol, top]?,
136
116
  read_at: Time?,
137
- recipient: Knockapi::Models::recipient_reference,
138
117
  scheduled_at: Time?,
139
118
  seen_at: Time?,
140
- source: Knockapi::Message::Source,
141
- status: Knockapi::Models::Message::status,
142
119
  tenant: String?,
143
- updated_at: Time,
144
120
  workflow: String?
145
121
  }
146
122
 
@@ -42,16 +42,28 @@ module Knockapi
42
42
  | Knockapi::Recipients::MsTeamsChannelData
43
43
  | Knockapi::Recipients::DiscordChannelData
44
44
  | Knockapi::Recipients::OneSignalChannelData
45
+ | Knockapi::Recipients::RecipientsChannelData::Data::AwsSnsPushChannelData
45
46
 
46
47
  module Data
47
48
  extend Knockapi::Internal::Type::Union
48
49
 
50
+ type aws_sns_push_channel_data = { target_arns: ::Array[String] }
51
+
52
+ class AwsSnsPushChannelData < Knockapi::Internal::Type::BaseModel
53
+ attr_accessor target_arns: ::Array[String]
54
+
55
+ def initialize: (target_arns: ::Array[String]) -> void
56
+
57
+ def to_hash: -> { target_arns: ::Array[String] }
58
+ end
59
+
49
60
  def self?.variants: -> ::Array[Knockapi::Models::Recipients::RecipientsChannelData::data]
50
61
  end
51
62
 
52
63
  type provider =
53
64
  :push_fcm
54
65
  | :push_apns
66
+ | :push_aws_sns
55
67
  | :push_expo
56
68
  | :push_one_signal
57
69
  | :chat_slack
@@ -64,6 +76,7 @@ module Knockapi
64
76
 
65
77
  PUSH_FCM: :push_fcm
66
78
  PUSH_APNS: :push_apns
79
+ PUSH_AWS_SNS: :push_aws_sns
67
80
  PUSH_EXPO: :push_expo
68
81
  PUSH_ONE_SIGNAL: :push_one_signal
69
82
  CHAT_SLACK: :chat_slack
@@ -18,6 +18,7 @@ module Knockapi
18
18
  type data =
19
19
  Knockapi::Recipients::PushChannelData
20
20
  | Knockapi::Recipients::OneSignalChannelData
21
+ | Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData
21
22
  | Knockapi::Recipients::SlackChannelData
22
23
  | Knockapi::Recipients::MsTeamsChannelData
23
24
  | Knockapi::Recipients::DiscordChannelData
@@ -25,6 +26,16 @@ module Knockapi
25
26
  module Data
26
27
  extend Knockapi::Internal::Type::Union
27
28
 
29
+ type aws_sns_push_channel_data = { target_arns: ::Array[String] }
30
+
31
+ class AwsSnsPushChannelData < Knockapi::Internal::Type::BaseModel
32
+ attr_accessor target_arns: ::Array[String]
33
+
34
+ def initialize: (target_arns: ::Array[String]) -> void
35
+
36
+ def to_hash: -> { target_arns: ::Array[String] }
37
+ end
38
+
28
39
  def self?.variants: -> ::Array[Knockapi::Models::Recipients::ChannelDataRequest::data]
29
40
  end
30
41
  end
@@ -4,6 +4,7 @@ module Knockapi
4
4
  type inline_channel_data_request_item =
5
5
  Knockapi::Recipients::PushChannelData
6
6
  | Knockapi::Recipients::OneSignalChannelData
7
+ | Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData
7
8
  | Knockapi::Recipients::SlackChannelData
8
9
  | Knockapi::Recipients::MsTeamsChannelData
9
10
  | Knockapi::Recipients::DiscordChannelData
@@ -11,6 +12,16 @@ module Knockapi
11
12
  module InlineChannelDataRequestItem
12
13
  extend Knockapi::Internal::Type::Union
13
14
 
15
+ type aws_sns_push_channel_data = { target_arns: ::Array[String] }
16
+
17
+ class AwsSnsPushChannelData < Knockapi::Internal::Type::BaseModel
18
+ attr_accessor target_arns: ::Array[String]
19
+
20
+ def initialize: (target_arns: ::Array[String]) -> void
21
+
22
+ def to_hash: -> { target_arns: ::Array[String] }
23
+ end
24
+
14
25
  def self?.variants: -> ::Array[Knockapi::Models::Recipients::inline_channel_data_request_item]
15
26
  end
16
27
 
@@ -25,6 +25,7 @@ module Knockapi
25
25
  type guide =
26
26
  {
27
27
  id: String,
28
+ active: bool,
28
29
  content: String,
29
30
  metadata: ::Hash[Symbol, top],
30
31
  title: String
@@ -35,6 +36,10 @@ module Knockapi
35
36
 
36
37
  def id=: (String) -> String
37
38
 
39
+ attr_reader active: bool?
40
+
41
+ def active=: (bool) -> bool
42
+
38
43
  attr_reader content: String?
39
44
 
40
45
  def content=: (String) -> String
@@ -49,6 +54,7 @@ module Knockapi
49
54
 
50
55
  def initialize: (
51
56
  ?id: String,
57
+ ?active: bool,
52
58
  ?content: String,
53
59
  ?metadata: ::Hash[Symbol, top],
54
60
  ?title: String
@@ -56,6 +62,7 @@ module Knockapi
56
62
 
57
63
  def to_hash: -> {
58
64
  id: String,
65
+ active: bool,
59
66
  content: String,
60
67
  metadata: ::Hash[Symbol, top],
61
68
  title: String
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knockapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.2
4
+ version: 1.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Knock
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-08-25 00:00:00.000000000 Z
11
+ date: 2025-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool