knockapi 1.39.0 → 1.40.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 (153) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -0
  3. data/README.md +1 -1
  4. data/lib/knockapi/models/audience_add_members_params.rb +3 -30
  5. data/lib/knockapi/models/audience_member_request.rb +32 -0
  6. data/lib/knockapi/models/audience_remove_members_params.rb +3 -30
  7. data/lib/knockapi/models/list_messages_response.rb +26 -0
  8. data/lib/knockapi/models/list_schedules_response.rb +26 -0
  9. data/lib/knockapi/models/list_subscriptions_response.rb +26 -0
  10. data/lib/knockapi/models/message.rb +37 -11
  11. data/lib/knockapi/models/{message_get_content_response.rb → message_contents.rb} +30 -156
  12. data/lib/knockapi/models/message_event.rb +8 -8
  13. data/lib/knockapi/models/message_in_app_feed_button_set_block.rb +76 -0
  14. data/lib/knockapi/models/message_in_app_feed_content_block.rb +55 -0
  15. data/lib/knockapi/models/messages/batch_archive_params.rb +2 -10
  16. data/lib/knockapi/models/messages/batch_get_content_response.rb +1 -495
  17. data/lib/knockapi/models/messages/batch_mark_as_read_params.rb +2 -10
  18. data/lib/knockapi/models/messages/batch_mark_as_seen_params.rb +2 -10
  19. data/lib/knockapi/models/messages/batch_mark_as_unread_params.rb +2 -10
  20. data/lib/knockapi/models/messages/batch_mark_as_unseen_params.rb +2 -10
  21. data/lib/knockapi/models/messages/batch_messages_status_request.rb +20 -0
  22. data/lib/knockapi/models/messages/batch_unarchive_params.rb +2 -10
  23. data/lib/knockapi/models/preference_set_commercial_subscribed_setting.rb +19 -0
  24. data/lib/knockapi/models/recipients/preference_set.rb +26 -4
  25. data/lib/knockapi/models/recipients/preference_set_request.rb +26 -4
  26. data/lib/knockapi/models/recipients/slack_channel_data.rb +9 -1
  27. data/lib/knockapi/models/users/bulk_set_preferences_params.rb +26 -4
  28. data/lib/knockapi/models/users/feed_list_items_response.rb +5 -128
  29. data/lib/knockapi/models/users/{guide_mark_message_as_archived_response.rb → guide_action_response.rb} +1 -1
  30. data/lib/knockapi/models/users/guide_archived_request.rb +72 -0
  31. data/lib/knockapi/models/users/guide_interacted_request.rb +60 -0
  32. data/lib/knockapi/models/users/guide_mark_message_as_archived_params.rb +2 -70
  33. data/lib/knockapi/models/users/guide_mark_message_as_interacted_params.rb +2 -58
  34. data/lib/knockapi/models/users/guide_mark_message_as_seen_params.rb +2 -66
  35. data/lib/knockapi/models/users/guide_reset_guide_engagements_params.rb +39 -0
  36. data/lib/knockapi/models/users/guide_seen_request.rb +68 -0
  37. data/lib/knockapi/models/users/guide_unarchive_guide_message_params.rb +39 -0
  38. data/lib/knockapi/models/users/preference_center_branding_config.rb +50 -0
  39. data/lib/knockapi/models/users/preference_center_generate_signed_url_params.rb +22 -0
  40. data/lib/knockapi/models/users/preference_center_generate_signed_url_response.rb +34 -0
  41. data/lib/knockapi/models/users/preference_center_get_config_params.rb +22 -0
  42. data/lib/knockapi/models/users/preference_center_get_config_response.rb +221 -0
  43. data/lib/knockapi/models.rb +16 -0
  44. data/lib/knockapi/resources/audiences.rb +2 -2
  45. data/lib/knockapi/resources/messages/batch.rb +2 -2
  46. data/lib/knockapi/resources/messages.rb +2 -2
  47. data/lib/knockapi/resources/objects.rb +1 -1
  48. data/lib/knockapi/resources/users/guides.rb +69 -21
  49. data/lib/knockapi/resources/users/preference_center.rb +60 -0
  50. data/lib/knockapi/resources/users.rb +7 -1
  51. data/lib/knockapi/version.rb +1 -1
  52. data/lib/knockapi.rb +21 -4
  53. data/rbi/knockapi/models/audience_add_members_params.rbi +3 -56
  54. data/rbi/knockapi/models/audience_member_request.rbi +55 -0
  55. data/rbi/knockapi/models/audience_remove_members_params.rbi +3 -57
  56. data/rbi/knockapi/models/list_messages_response.rbi +46 -0
  57. data/rbi/knockapi/models/list_schedules_response.rbi +49 -0
  58. data/rbi/knockapi/models/list_subscriptions_response.rbi +52 -0
  59. data/rbi/knockapi/models/message.rbi +50 -18
  60. data/rbi/knockapi/models/{message_get_content_response.rbi → message_contents.rbi} +43 -299
  61. data/rbi/knockapi/models/message_event.rbi +19 -19
  62. data/rbi/knockapi/models/message_in_app_feed_button_set_block.rbi +133 -0
  63. data/rbi/knockapi/models/message_in_app_feed_content_block.rbi +97 -0
  64. data/rbi/knockapi/models/messages/batch_archive_params.rbi +6 -22
  65. data/rbi/knockapi/models/messages/batch_get_content_response.rbi +1 -879
  66. data/rbi/knockapi/models/messages/batch_mark_as_read_params.rbi +6 -22
  67. data/rbi/knockapi/models/messages/batch_mark_as_seen_params.rbi +6 -22
  68. data/rbi/knockapi/models/messages/batch_mark_as_unread_params.rbi +6 -22
  69. data/rbi/knockapi/models/messages/batch_mark_as_unseen_params.rbi +6 -22
  70. data/rbi/knockapi/models/messages/batch_messages_status_request.rbi +33 -0
  71. data/rbi/knockapi/models/messages/batch_unarchive_params.rbi +6 -22
  72. data/rbi/knockapi/models/preference_set_commercial_subscribed_setting.rbi +36 -0
  73. data/rbi/knockapi/models/recipients/preference_set.rbi +50 -5
  74. data/rbi/knockapi/models/recipients/preference_set_request.rbi +56 -5
  75. data/rbi/knockapi/models/recipients/slack_channel_data.rbi +8 -0
  76. data/rbi/knockapi/models/users/bulk_set_preferences_params.rbi +56 -5
  77. data/rbi/knockapi/models/users/feed_list_items_response.rbi +4 -251
  78. data/rbi/knockapi/models/users/{guide_mark_message_as_seen_response.rbi → guide_action_response.rbi} +2 -2
  79. data/rbi/knockapi/models/users/guide_archived_request.rbi +102 -0
  80. data/rbi/knockapi/models/users/guide_interacted_request.rbi +89 -0
  81. data/rbi/knockapi/models/users/guide_mark_message_as_archived_params.rbi +3 -82
  82. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_params.rbi +3 -69
  83. data/rbi/knockapi/models/users/guide_mark_message_as_seen_params.rbi +3 -77
  84. data/rbi/knockapi/models/users/guide_reset_guide_engagements_params.rbi +65 -0
  85. data/rbi/knockapi/models/users/guide_seen_request.rbi +97 -0
  86. data/rbi/knockapi/models/users/guide_unarchive_guide_message_params.rbi +65 -0
  87. data/rbi/knockapi/models/users/preference_center_branding_config.rbi +72 -0
  88. data/rbi/knockapi/models/users/preference_center_generate_signed_url_params.rbi +40 -0
  89. data/rbi/knockapi/models/users/preference_center_generate_signed_url_response.rbi +41 -0
  90. data/rbi/knockapi/models/users/preference_center_get_config_params.rbi +40 -0
  91. data/rbi/knockapi/models/users/preference_center_get_config_response.rbi +476 -0
  92. data/rbi/knockapi/models.rbi +18 -0
  93. data/rbi/knockapi/resources/audiences.rbi +2 -3
  94. data/rbi/knockapi/resources/messages/batch.rbi +1 -3
  95. data/rbi/knockapi/resources/messages.rbi +1 -1
  96. data/rbi/knockapi/resources/objects.rbi +10 -2
  97. data/rbi/knockapi/resources/users/guides.rbi +45 -11
  98. data/rbi/knockapi/resources/users/preference_center.rbi +48 -0
  99. data/rbi/knockapi/resources/users.rbi +15 -2
  100. data/sig/knockapi/models/audience_add_members_params.rbs +4 -23
  101. data/sig/knockapi/models/audience_member_request.rbs +22 -0
  102. data/sig/knockapi/models/audience_remove_members_params.rbs +4 -26
  103. data/sig/knockapi/models/list_messages_response.rbs +22 -0
  104. data/sig/knockapi/models/list_schedules_response.rbs +22 -0
  105. data/sig/knockapi/models/list_subscriptions_response.rbs +25 -0
  106. data/sig/knockapi/models/message.rbs +28 -5
  107. data/sig/knockapi/models/message_contents.rbs +286 -0
  108. data/sig/knockapi/models/message_event.rbs +16 -16
  109. data/sig/knockapi/models/message_in_app_feed_button_set_block.rbs +54 -0
  110. data/sig/knockapi/models/message_in_app_feed_content_block.rbs +46 -0
  111. data/sig/knockapi/models/messages/batch_archive_params.rbs +4 -13
  112. data/sig/knockapi/models/messages/batch_get_content_response.rbs +1 -391
  113. data/sig/knockapi/models/messages/batch_mark_as_read_params.rbs +4 -13
  114. data/sig/knockapi/models/messages/batch_mark_as_seen_params.rbs +4 -13
  115. data/sig/knockapi/models/messages/batch_mark_as_unread_params.rbs +4 -13
  116. data/sig/knockapi/models/messages/batch_mark_as_unseen_params.rbs +4 -13
  117. data/sig/knockapi/models/messages/batch_messages_status_request.rbs +15 -0
  118. data/sig/knockapi/models/messages/batch_unarchive_params.rbs +4 -13
  119. data/sig/knockapi/models/preference_set_commercial_subscribed_setting.rbs +14 -0
  120. data/sig/knockapi/models/recipients/preference_set.rbs +13 -4
  121. data/sig/knockapi/models/recipients/preference_set_request.rbs +13 -4
  122. data/sig/knockapi/models/recipients/slack_channel_data.rbs +10 -1
  123. data/sig/knockapi/models/users/bulk_set_preferences_params.rbs +13 -4
  124. data/sig/knockapi/models/users/feed_list_items_response.rbs +2 -100
  125. data/sig/knockapi/models/users/{guide_mark_message_as_seen_response.rbs → guide_action_response.rbs} +2 -2
  126. data/sig/knockapi/models/users/guide_archived_request.rbs +58 -0
  127. data/sig/knockapi/models/users/guide_interacted_request.rbs +51 -0
  128. data/sig/knockapi/models/users/guide_mark_message_as_archived_params.rbs +4 -51
  129. data/sig/knockapi/models/users/guide_mark_message_as_interacted_params.rbs +4 -44
  130. data/sig/knockapi/models/users/guide_mark_message_as_seen_params.rbs +4 -49
  131. data/sig/knockapi/models/users/guide_reset_guide_engagements_params.rbs +36 -0
  132. data/sig/knockapi/models/users/guide_seen_request.rbs +56 -0
  133. data/sig/knockapi/models/users/guide_unarchive_guide_message_params.rbs +36 -0
  134. data/sig/knockapi/models/users/preference_center_branding_config.rbs +37 -0
  135. data/sig/knockapi/models/users/preference_center_generate_signed_url_params.rbs +25 -0
  136. data/sig/knockapi/models/users/preference_center_generate_signed_url_response.rbs +18 -0
  137. data/sig/knockapi/models/users/preference_center_get_config_params.rbs +25 -0
  138. data/sig/knockapi/models/users/preference_center_get_config_response.rbs +189 -0
  139. data/sig/knockapi/models.rbs +16 -0
  140. data/sig/knockapi/resources/audiences.rbs +2 -2
  141. data/sig/knockapi/resources/messages.rbs +1 -1
  142. data/sig/knockapi/resources/objects.rbs +1 -1
  143. data/sig/knockapi/resources/users/guides.rbs +17 -6
  144. data/sig/knockapi/resources/users/preference_center.rbs +19 -0
  145. data/sig/knockapi/resources/users.rbs +3 -1
  146. metadata +65 -14
  147. data/lib/knockapi/models/users/guide_mark_message_as_interacted_response.rb +0 -21
  148. data/lib/knockapi/models/users/guide_mark_message_as_seen_response.rb +0 -21
  149. data/rbi/knockapi/models/users/guide_mark_message_as_archived_response.rbi +0 -33
  150. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_response.rbi +0 -33
  151. data/sig/knockapi/models/message_get_content_response.rbs +0 -384
  152. data/sig/knockapi/models/users/guide_mark_message_as_archived_response.rbs +0 -15
  153. data/sig/knockapi/models/users/guide_mark_message_as_interacted_response.rbs +0 -15
@@ -37,7 +37,6 @@ module Knockapi
37
37
  sig do
38
38
  params(
39
39
  user_id: String,
40
- message_id: String,
41
40
  channel_id: String,
42
41
  guide_id: String,
43
42
  guide_key: String,
@@ -46,12 +45,11 @@ module Knockapi
46
45
  tenant: String,
47
46
  unthrottled: T::Boolean,
48
47
  request_options: Knockapi::RequestOptions::OrHash
49
- ).returns(Knockapi::Models::Users::GuideMarkMessageAsArchivedResponse)
48
+ ).returns(Knockapi::Users::GuideActionResponse)
50
49
  end
51
50
  def mark_message_as_archived(
52
51
  # The unique identifier of the user.
53
52
  user_id,
54
- message_id,
55
53
  # The unique identifier for the channel.
56
54
  channel_id:,
57
55
  # The unique identifier for the guide.
@@ -76,7 +74,6 @@ module Knockapi
76
74
  sig do
77
75
  params(
78
76
  user_id: String,
79
- message_id: String,
80
77
  channel_id: String,
81
78
  guide_id: String,
82
79
  guide_key: String,
@@ -84,14 +81,11 @@ module Knockapi
84
81
  metadata: T::Hash[Symbol, T.anything],
85
82
  tenant: String,
86
83
  request_options: Knockapi::RequestOptions::OrHash
87
- ).returns(
88
- Knockapi::Models::Users::GuideMarkMessageAsInteractedResponse
89
- )
84
+ ).returns(Knockapi::Users::GuideActionResponse)
90
85
  end
91
86
  def mark_message_as_interacted(
92
87
  # The unique identifier of the user.
93
88
  user_id,
94
- message_id,
95
89
  # The unique identifier for the channel.
96
90
  channel_id:,
97
91
  # The unique identifier for the guide.
@@ -113,7 +107,6 @@ module Knockapi
113
107
  sig do
114
108
  params(
115
109
  user_id: String,
116
- message_id: String,
117
110
  channel_id: String,
118
111
  content: T::Hash[Symbol, T.anything],
119
112
  guide_id: String,
@@ -122,12 +115,11 @@ module Knockapi
122
115
  data: T::Hash[Symbol, T.anything],
123
116
  tenant: String,
124
117
  request_options: Knockapi::RequestOptions::OrHash
125
- ).returns(Knockapi::Models::Users::GuideMarkMessageAsSeenResponse)
118
+ ).returns(Knockapi::Users::GuideActionResponse)
126
119
  end
127
120
  def mark_message_as_seen(
128
121
  # The unique identifier of the user.
129
122
  user_id,
130
- message_id,
131
123
  # The unique identifier for the channel.
132
124
  channel_id:,
133
125
  # The content of the guide.
@@ -146,6 +138,48 @@ module Knockapi
146
138
  )
147
139
  end
148
140
 
141
+ # Resets the engagement state of a guide for a user, removing the guide's
142
+ # engagement log entry so the next interaction creates a fresh engagement.
143
+ sig do
144
+ params(
145
+ user_id: String,
146
+ guide_key: String,
147
+ tenant: String,
148
+ request_options: Knockapi::RequestOptions::OrHash
149
+ ).returns(Knockapi::Users::GuideActionResponse)
150
+ end
151
+ def reset_guide_engagements(
152
+ # The unique identifier of the user.
153
+ user_id,
154
+ # The key of the guide.
155
+ guide_key:,
156
+ # The tenant ID of the guide.
157
+ tenant: nil,
158
+ request_options: {}
159
+ )
160
+ end
161
+
162
+ # Records that a guide has been unarchived, triggering any associated unarchived
163
+ # events.
164
+ sig do
165
+ params(
166
+ user_id: String,
167
+ guide_key: String,
168
+ tenant: String,
169
+ request_options: Knockapi::RequestOptions::OrHash
170
+ ).returns(Knockapi::Users::GuideActionResponse)
171
+ end
172
+ def unarchive_guide_message(
173
+ # The unique identifier of the user.
174
+ user_id,
175
+ # The key of the guide.
176
+ guide_key:,
177
+ # The tenant ID of the guide.
178
+ tenant: nil,
179
+ request_options: {}
180
+ )
181
+ end
182
+
149
183
  # @api private
150
184
  sig { params(client: Knockapi::Client).returns(T.attached_class) }
151
185
  def self.new(client:)
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Users
6
+ # The preference center is a hosted page where users can manage their notification
7
+ # preferences.
8
+ class PreferenceCenter
9
+ # Generates a signed preference center URL and token for the given user in the
10
+ # current environment.
11
+ sig do
12
+ params(
13
+ user_id: String,
14
+ request_options: Knockapi::RequestOptions::OrHash
15
+ ).returns(
16
+ Knockapi::Models::Users::PreferenceCenterGenerateSignedURLResponse
17
+ )
18
+ end
19
+ def generate_signed_url(
20
+ # The unique identifier of the user.
21
+ user_id,
22
+ request_options: {}
23
+ )
24
+ end
25
+
26
+ # Returns the preference center config with environment metadata for the given
27
+ # user.
28
+ sig do
29
+ params(
30
+ user_id: String,
31
+ request_options: Knockapi::RequestOptions::OrHash
32
+ ).returns(Knockapi::Models::Users::PreferenceCenterGetConfigResponse)
33
+ end
34
+ def get_config(
35
+ # The unique identifier of the user.
36
+ user_id,
37
+ request_options: {}
38
+ )
39
+ end
40
+
41
+ # @api private
42
+ sig { params(client: Knockapi::Client).returns(T.attached_class) }
43
+ def self.new(client:)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -20,6 +20,11 @@ module Knockapi
20
20
  sig { returns(Knockapi::Resources::Users::Bulk) }
21
21
  attr_reader :bulk
22
22
 
23
+ # The preference center is a hosted page where users can manage their notification
24
+ # preferences.
25
+ sig { returns(Knockapi::Resources::Users::PreferenceCenter) }
26
+ attr_reader :preference_center
27
+
23
28
  # Create or update a user with the provided identification data. When you identify
24
29
  # an existing user, the system merges the properties you specific with what is
25
30
  # currently set on the user, updating only the fields included in your requests.
@@ -408,7 +413,13 @@ module Knockapi
408
413
  )
409
414
  ]
410
415
  ),
411
- commercial_subscribed: T.nilable(T::Boolean),
416
+ commercial_subscribed:
417
+ T.nilable(
418
+ T.any(
419
+ T::Boolean,
420
+ Knockapi::PreferenceSetCommercialSubscribedSetting::OrHash
421
+ )
422
+ ),
412
423
  workflows:
413
424
  T.nilable(
414
425
  T::Hash[
@@ -438,7 +449,9 @@ module Knockapi
438
449
  # Channel preferences.
439
450
  channels: nil,
440
451
  # Whether the recipient is subscribed to commercial communications. When false,
441
- # the recipient will not receive commercial workflow notifications.
452
+ # the recipient will not receive commercial workflow notifications. Can also be
453
+ # set to a settings object with conditions that are evaluated at notification send
454
+ # time.
442
455
  commercial_subscribed: nil,
443
456
  # An object where the key is the workflow key and the values are the preference
444
457
  # settings for that workflow.
@@ -3,7 +3,7 @@ module Knockapi
3
3
  type audience_add_members_params =
4
4
  {
5
5
  key: String,
6
- members: ::Array[Knockapi::AudienceAddMembersParams::Member],
6
+ members: ::Array[Knockapi::AudienceMemberRequest],
7
7
  create_audience: bool
8
8
  }
9
9
  & Knockapi::Internal::Type::request_parameters
@@ -14,7 +14,7 @@ module Knockapi
14
14
 
15
15
  attr_accessor key: String
16
16
 
17
- attr_accessor members: ::Array[Knockapi::AudienceAddMembersParams::Member]
17
+ attr_accessor members: ::Array[Knockapi::AudienceMemberRequest]
18
18
 
19
19
  attr_reader create_audience: bool?
20
20
 
@@ -22,36 +22,17 @@ module Knockapi
22
22
 
23
23
  def initialize: (
24
24
  key: String,
25
- members: ::Array[Knockapi::AudienceAddMembersParams::Member],
25
+ members: ::Array[Knockapi::AudienceMemberRequest],
26
26
  ?create_audience: bool,
27
27
  ?request_options: Knockapi::request_opts
28
28
  ) -> void
29
29
 
30
30
  def to_hash: -> {
31
31
  key: String,
32
- members: ::Array[Knockapi::AudienceAddMembersParams::Member],
32
+ members: ::Array[Knockapi::AudienceMemberRequest],
33
33
  create_audience: bool,
34
34
  request_options: Knockapi::RequestOptions
35
35
  }
36
-
37
- type member =
38
- { user: Knockapi::InlineIdentifyUserRequest, tenant: String? }
39
-
40
- class Member < Knockapi::Internal::Type::BaseModel
41
- attr_accessor user: Knockapi::InlineIdentifyUserRequest
42
-
43
- attr_accessor tenant: String?
44
-
45
- def initialize: (
46
- user: Knockapi::InlineIdentifyUserRequest,
47
- ?tenant: String?
48
- ) -> void
49
-
50
- def to_hash: -> {
51
- user: Knockapi::InlineIdentifyUserRequest,
52
- tenant: String?
53
- }
54
- end
55
36
  end
56
37
  end
57
38
  end
@@ -0,0 +1,22 @@
1
+ module Knockapi
2
+ module Models
3
+ type audience_member_request =
4
+ { user: Knockapi::InlineIdentifyUserRequest, tenant: String? }
5
+
6
+ class AudienceMemberRequest < Knockapi::Internal::Type::BaseModel
7
+ attr_accessor user: Knockapi::InlineIdentifyUserRequest
8
+
9
+ attr_accessor tenant: String?
10
+
11
+ def initialize: (
12
+ user: Knockapi::InlineIdentifyUserRequest,
13
+ ?tenant: String?
14
+ ) -> void
15
+
16
+ def to_hash: -> {
17
+ user: Knockapi::InlineIdentifyUserRequest,
18
+ tenant: String?
19
+ }
20
+ end
21
+ end
22
+ end
@@ -1,10 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  type audience_remove_members_params =
4
- {
5
- key: String,
6
- members: ::Array[Knockapi::AudienceRemoveMembersParams::Member]
7
- }
4
+ { key: String, members: ::Array[Knockapi::AudienceMemberRequest] }
8
5
  & Knockapi::Internal::Type::request_parameters
9
6
 
10
7
  class AudienceRemoveMembersParams < Knockapi::Internal::Type::BaseModel
@@ -13,38 +10,19 @@ module Knockapi
13
10
 
14
11
  attr_accessor key: String
15
12
 
16
- attr_accessor members: ::Array[Knockapi::AudienceRemoveMembersParams::Member]
13
+ attr_accessor members: ::Array[Knockapi::AudienceMemberRequest]
17
14
 
18
15
  def initialize: (
19
16
  key: String,
20
- members: ::Array[Knockapi::AudienceRemoveMembersParams::Member],
17
+ members: ::Array[Knockapi::AudienceMemberRequest],
21
18
  ?request_options: Knockapi::request_opts
22
19
  ) -> void
23
20
 
24
21
  def to_hash: -> {
25
22
  key: String,
26
- members: ::Array[Knockapi::AudienceRemoveMembersParams::Member],
23
+ members: ::Array[Knockapi::AudienceMemberRequest],
27
24
  request_options: Knockapi::RequestOptions
28
25
  }
29
-
30
- type member =
31
- { user: Knockapi::InlineIdentifyUserRequest, tenant: String? }
32
-
33
- class Member < Knockapi::Internal::Type::BaseModel
34
- attr_accessor user: Knockapi::InlineIdentifyUserRequest
35
-
36
- attr_accessor tenant: String?
37
-
38
- def initialize: (
39
- user: Knockapi::InlineIdentifyUserRequest,
40
- ?tenant: String?
41
- ) -> void
42
-
43
- def to_hash: -> {
44
- user: Knockapi::InlineIdentifyUserRequest,
45
- tenant: String?
46
- }
47
- end
48
26
  end
49
27
  end
50
28
  end
@@ -0,0 +1,22 @@
1
+ module Knockapi
2
+ module Models
3
+ type list_messages_response =
4
+ { items: ::Array[Knockapi::Message], page_info: Knockapi::PageInfo }
5
+
6
+ class ListMessagesResponse < Knockapi::Internal::Type::BaseModel
7
+ attr_accessor items: ::Array[Knockapi::Message]
8
+
9
+ attr_accessor page_info: Knockapi::PageInfo
10
+
11
+ def initialize: (
12
+ items: ::Array[Knockapi::Message],
13
+ page_info: Knockapi::PageInfo
14
+ ) -> void
15
+
16
+ def to_hash: -> {
17
+ items: ::Array[Knockapi::Message],
18
+ page_info: Knockapi::PageInfo
19
+ }
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module Knockapi
2
+ module Models
3
+ type list_schedules_response =
4
+ { entries: ::Array[Knockapi::Schedule], page_info: Knockapi::PageInfo }
5
+
6
+ class ListSchedulesResponse < Knockapi::Internal::Type::BaseModel
7
+ attr_accessor entries: ::Array[Knockapi::Schedule]
8
+
9
+ attr_accessor page_info: Knockapi::PageInfo
10
+
11
+ def initialize: (
12
+ entries: ::Array[Knockapi::Schedule],
13
+ page_info: Knockapi::PageInfo
14
+ ) -> void
15
+
16
+ def to_hash: -> {
17
+ entries: ::Array[Knockapi::Schedule],
18
+ page_info: Knockapi::PageInfo
19
+ }
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,25 @@
1
+ module Knockapi
2
+ module Models
3
+ type list_subscriptions_response =
4
+ {
5
+ entries: ::Array[Knockapi::Recipients::Subscription],
6
+ page_info: Knockapi::PageInfo
7
+ }
8
+
9
+ class ListSubscriptionsResponse < Knockapi::Internal::Type::BaseModel
10
+ attr_accessor entries: ::Array[Knockapi::Recipients::Subscription]
11
+
12
+ attr_accessor page_info: Knockapi::PageInfo
13
+
14
+ def initialize: (
15
+ entries: ::Array[Knockapi::Recipients::Subscription],
16
+ page_info: Knockapi::PageInfo
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ entries: ::Array[Knockapi::Recipients::Subscription],
21
+ page_info: Knockapi::PageInfo
22
+ }
23
+ end
24
+ end
25
+ end
@@ -310,18 +310,41 @@ module Knockapi
310
310
  end
311
311
  end
312
312
 
313
- type recipient_snapshot = { email: String, name: String? }
313
+ type recipient_snapshot =
314
+ {
315
+ channel_id: String?,
316
+ email: String?,
317
+ name: String?,
318
+ user_id: String?,
319
+ via_incoming_webhook: bool?
320
+ }
314
321
 
315
322
  class RecipientSnapshot < Knockapi::Internal::Type::BaseModel
316
- attr_reader email: String?
323
+ attr_accessor channel_id: String?
317
324
 
318
- def email=: (String) -> String
325
+ attr_accessor email: String?
319
326
 
320
327
  attr_accessor name: String?
321
328
 
322
- def initialize: (?email: String, ?name: String?) -> void
329
+ attr_accessor user_id: String?
330
+
331
+ attr_accessor via_incoming_webhook: bool?
332
+
333
+ def initialize: (
334
+ ?channel_id: String?,
335
+ ?email: String?,
336
+ ?name: String?,
337
+ ?user_id: String?,
338
+ ?via_incoming_webhook: bool?
339
+ ) -> void
323
340
 
324
- def to_hash: -> { email: String, name: String? }
341
+ def to_hash: -> {
342
+ channel_id: String?,
343
+ email: String?,
344
+ name: String?,
345
+ user_id: String?,
346
+ via_incoming_webhook: bool?
347
+ }
325
348
  end
326
349
  end
327
350
  end