knockapi 1.38.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 +48 -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 +3 -3
  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 -82
  33. data/lib/knockapi/models/users/guide_mark_message_as_interacted_params.rb +2 -82
  34. data/lib/knockapi/models/users/guide_mark_message_as_seen_params.rb +2 -82
  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 +79 -42
  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 +9 -9
  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 -99
  82. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_params.rbi +3 -99
  83. data/rbi/knockapi/models/users/guide_mark_message_as_seen_params.rbi +3 -99
  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 +56 -42
  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 +6 -6
  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 -63
  129. data/sig/knockapi/models/users/guide_mark_message_as_interacted_params.rbs +4 -63
  130. data/sig/knockapi/models/users/guide_mark_message_as_seen_params.rbs +4 -63
  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 +22 -18
  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
@@ -3,7 +3,7 @@
3
3
  module Knockapi
4
4
  module Models
5
5
  module Users
6
- class GuideMarkMessageAsInteractedParams < Knockapi::Internal::Type::BaseModel
6
+ class GuideMarkMessageAsInteractedParams < Knockapi::Models::Users::GuideInteractedRequest
7
7
  extend Knockapi::Internal::Type::RequestParameters::Converter
8
8
  include Knockapi::Internal::Type::RequestParameters
9
9
 
@@ -18,114 +18,18 @@ module Knockapi
18
18
  sig { returns(String) }
19
19
  attr_accessor :user_id
20
20
 
21
- sig { returns(String) }
22
- attr_accessor :message_id
23
-
24
- # The unique identifier for the channel.
25
- sig { returns(String) }
26
- attr_accessor :channel_id
27
-
28
- # The unique identifier for the guide.
29
- sig { returns(String) }
30
- attr_accessor :guide_id
31
-
32
- # The key of the guide.
33
- sig { returns(String) }
34
- attr_accessor :guide_key
35
-
36
- # The step reference of the guide.
37
- sig { returns(String) }
38
- attr_accessor :guide_step_ref
39
-
40
- # The content of the guide.
41
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
42
- attr_reader :content
43
-
44
- sig { params(content: T::Hash[Symbol, T.anything]).void }
45
- attr_writer :content
46
-
47
- # The data of the guide.
48
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
49
- attr_reader :data
50
-
51
- sig { params(data: T::Hash[Symbol, T.anything]).void }
52
- attr_writer :data
53
-
54
- # Whether the guide is final.
55
- sig { returns(T.nilable(T::Boolean)) }
56
- attr_reader :is_final
57
-
58
- sig { params(is_final: T::Boolean).void }
59
- attr_writer :is_final
60
-
61
- # The metadata of the guide.
62
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
63
- attr_reader :metadata
64
-
65
- sig { params(metadata: T::Hash[Symbol, T.anything]).void }
66
- attr_writer :metadata
67
-
68
- # The tenant ID of the guide.
69
- sig { returns(T.nilable(String)) }
70
- attr_accessor :tenant
71
-
72
21
  sig do
73
22
  params(
74
23
  user_id: String,
75
- message_id: String,
76
- channel_id: String,
77
- guide_id: String,
78
- guide_key: String,
79
- guide_step_ref: String,
80
- content: T::Hash[Symbol, T.anything],
81
- data: T::Hash[Symbol, T.anything],
82
- is_final: T::Boolean,
83
- metadata: T::Hash[Symbol, T.anything],
84
- tenant: T.nilable(String),
85
24
  request_options: Knockapi::RequestOptions::OrHash
86
25
  ).returns(T.attached_class)
87
26
  end
88
- def self.new(
89
- user_id:,
90
- message_id:,
91
- # The unique identifier for the channel.
92
- channel_id:,
93
- # The unique identifier for the guide.
94
- guide_id:,
95
- # The key of the guide.
96
- guide_key:,
97
- # The step reference of the guide.
98
- guide_step_ref:,
99
- # The content of the guide.
100
- content: nil,
101
- # The data of the guide.
102
- data: nil,
103
- # Whether the guide is final.
104
- is_final: nil,
105
- # The metadata of the guide.
106
- metadata: nil,
107
- # The tenant ID of the guide.
108
- tenant: nil,
109
- request_options: {}
110
- )
27
+ def self.new(user_id:, request_options: {})
111
28
  end
112
29
 
113
30
  sig do
114
31
  override.returns(
115
- {
116
- user_id: String,
117
- message_id: String,
118
- channel_id: String,
119
- guide_id: String,
120
- guide_key: String,
121
- guide_step_ref: String,
122
- content: T::Hash[Symbol, T.anything],
123
- data: T::Hash[Symbol, T.anything],
124
- is_final: T::Boolean,
125
- metadata: T::Hash[Symbol, T.anything],
126
- tenant: T.nilable(String),
127
- request_options: Knockapi::RequestOptions
128
- }
32
+ { user_id: String, request_options: Knockapi::RequestOptions }
129
33
  )
130
34
  end
131
35
  def to_hash
@@ -3,7 +3,7 @@
3
3
  module Knockapi
4
4
  module Models
5
5
  module Users
6
- class GuideMarkMessageAsSeenParams < Knockapi::Internal::Type::BaseModel
6
+ class GuideMarkMessageAsSeenParams < Knockapi::Models::Users::GuideSeenRequest
7
7
  extend Knockapi::Internal::Type::RequestParameters::Converter
8
8
  include Knockapi::Internal::Type::RequestParameters
9
9
 
@@ -18,114 +18,18 @@ module Knockapi
18
18
  sig { returns(String) }
19
19
  attr_accessor :user_id
20
20
 
21
- sig { returns(String) }
22
- attr_accessor :message_id
23
-
24
- # The unique identifier for the channel.
25
- sig { returns(String) }
26
- attr_accessor :channel_id
27
-
28
- # The unique identifier for the guide.
29
- sig { returns(String) }
30
- attr_accessor :guide_id
31
-
32
- # The key of the guide.
33
- sig { returns(String) }
34
- attr_accessor :guide_key
35
-
36
- # The step reference of the guide.
37
- sig { returns(String) }
38
- attr_accessor :guide_step_ref
39
-
40
- # The content of the guide.
41
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
42
- attr_reader :content
43
-
44
- sig { params(content: T::Hash[Symbol, T.anything]).void }
45
- attr_writer :content
46
-
47
- # The data of the guide.
48
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
49
- attr_reader :data
50
-
51
- sig { params(data: T::Hash[Symbol, T.anything]).void }
52
- attr_writer :data
53
-
54
- # Whether the guide is final.
55
- sig { returns(T.nilable(T::Boolean)) }
56
- attr_reader :is_final
57
-
58
- sig { params(is_final: T::Boolean).void }
59
- attr_writer :is_final
60
-
61
- # The metadata of the guide.
62
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
63
- attr_reader :metadata
64
-
65
- sig { params(metadata: T::Hash[Symbol, T.anything]).void }
66
- attr_writer :metadata
67
-
68
- # The tenant ID of the guide.
69
- sig { returns(T.nilable(String)) }
70
- attr_accessor :tenant
71
-
72
21
  sig do
73
22
  params(
74
23
  user_id: String,
75
- message_id: String,
76
- channel_id: String,
77
- guide_id: String,
78
- guide_key: String,
79
- guide_step_ref: String,
80
- content: T::Hash[Symbol, T.anything],
81
- data: T::Hash[Symbol, T.anything],
82
- is_final: T::Boolean,
83
- metadata: T::Hash[Symbol, T.anything],
84
- tenant: T.nilable(String),
85
24
  request_options: Knockapi::RequestOptions::OrHash
86
25
  ).returns(T.attached_class)
87
26
  end
88
- def self.new(
89
- user_id:,
90
- message_id:,
91
- # The unique identifier for the channel.
92
- channel_id:,
93
- # The unique identifier for the guide.
94
- guide_id:,
95
- # The key of the guide.
96
- guide_key:,
97
- # The step reference of the guide.
98
- guide_step_ref:,
99
- # The content of the guide.
100
- content: nil,
101
- # The data of the guide.
102
- data: nil,
103
- # Whether the guide is final.
104
- is_final: nil,
105
- # The metadata of the guide.
106
- metadata: nil,
107
- # The tenant ID of the guide.
108
- tenant: nil,
109
- request_options: {}
110
- )
27
+ def self.new(user_id:, request_options: {})
111
28
  end
112
29
 
113
30
  sig do
114
31
  override.returns(
115
- {
116
- user_id: String,
117
- message_id: String,
118
- channel_id: String,
119
- guide_id: String,
120
- guide_key: String,
121
- guide_step_ref: String,
122
- content: T::Hash[Symbol, T.anything],
123
- data: T::Hash[Symbol, T.anything],
124
- is_final: T::Boolean,
125
- metadata: T::Hash[Symbol, T.anything],
126
- tenant: T.nilable(String),
127
- request_options: Knockapi::RequestOptions
128
- }
32
+ { user_id: String, request_options: Knockapi::RequestOptions }
129
33
  )
130
34
  end
131
35
  def to_hash
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ module Users
6
+ class GuideResetGuideEngagementsParams < Knockapi::Internal::Type::BaseModel
7
+ extend Knockapi::Internal::Type::RequestParameters::Converter
8
+ include Knockapi::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Knockapi::Users::GuideResetGuideEngagementsParams,
14
+ Knockapi::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :user_id
20
+
21
+ # The key of the guide.
22
+ sig { returns(String) }
23
+ attr_accessor :guide_key
24
+
25
+ # The tenant ID of the guide.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :tenant
28
+
29
+ sig { params(tenant: String).void }
30
+ attr_writer :tenant
31
+
32
+ sig do
33
+ params(
34
+ user_id: String,
35
+ guide_key: String,
36
+ tenant: String,
37
+ request_options: Knockapi::RequestOptions::OrHash
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ user_id:,
42
+ # The key of the guide.
43
+ guide_key:,
44
+ # The tenant ID of the guide.
45
+ tenant: nil,
46
+ request_options: {}
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ user_id: String,
54
+ guide_key: String,
55
+ tenant: String,
56
+ request_options: Knockapi::RequestOptions
57
+ }
58
+ )
59
+ end
60
+ def to_hash
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,97 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ module Users
6
+ class GuideSeenRequest < Knockapi::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Knockapi::Users::GuideSeenRequest,
11
+ Knockapi::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The unique identifier for the channel.
16
+ sig { returns(String) }
17
+ attr_accessor :channel_id
18
+
19
+ # The content of the guide.
20
+ sig { returns(T::Hash[Symbol, T.anything]) }
21
+ attr_accessor :content
22
+
23
+ # The unique identifier for the guide.
24
+ sig { returns(String) }
25
+ attr_accessor :guide_id
26
+
27
+ # The key of the guide.
28
+ sig { returns(String) }
29
+ attr_accessor :guide_key
30
+
31
+ # The step reference of the guide.
32
+ sig { returns(String) }
33
+ attr_accessor :guide_step_ref
34
+
35
+ # The data of the guide.
36
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
37
+ attr_reader :data
38
+
39
+ sig { params(data: T::Hash[Symbol, T.anything]).void }
40
+ attr_writer :data
41
+
42
+ # The tenant ID of the guide.
43
+ sig { returns(T.nilable(String)) }
44
+ attr_reader :tenant
45
+
46
+ sig { params(tenant: String).void }
47
+ attr_writer :tenant
48
+
49
+ # A request to mark a guide as seen.
50
+ sig do
51
+ params(
52
+ channel_id: String,
53
+ content: T::Hash[Symbol, T.anything],
54
+ guide_id: String,
55
+ guide_key: String,
56
+ guide_step_ref: String,
57
+ data: T::Hash[Symbol, T.anything],
58
+ tenant: String
59
+ ).returns(T.attached_class)
60
+ end
61
+ def self.new(
62
+ # The unique identifier for the channel.
63
+ channel_id:,
64
+ # The content of the guide.
65
+ content:,
66
+ # The unique identifier for the guide.
67
+ guide_id:,
68
+ # The key of the guide.
69
+ guide_key:,
70
+ # The step reference of the guide.
71
+ guide_step_ref:,
72
+ # The data of the guide.
73
+ data: nil,
74
+ # The tenant ID of the guide.
75
+ tenant: nil
76
+ )
77
+ end
78
+
79
+ sig do
80
+ override.returns(
81
+ {
82
+ channel_id: String,
83
+ content: T::Hash[Symbol, T.anything],
84
+ guide_id: String,
85
+ guide_key: String,
86
+ guide_step_ref: String,
87
+ data: T::Hash[Symbol, T.anything],
88
+ tenant: String
89
+ }
90
+ )
91
+ end
92
+ def to_hash
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ module Users
6
+ class GuideUnarchiveGuideMessageParams < Knockapi::Internal::Type::BaseModel
7
+ extend Knockapi::Internal::Type::RequestParameters::Converter
8
+ include Knockapi::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Knockapi::Users::GuideUnarchiveGuideMessageParams,
14
+ Knockapi::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :user_id
20
+
21
+ # The key of the guide.
22
+ sig { returns(String) }
23
+ attr_accessor :guide_key
24
+
25
+ # The tenant ID of the guide.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :tenant
28
+
29
+ sig { params(tenant: String).void }
30
+ attr_writer :tenant
31
+
32
+ sig do
33
+ params(
34
+ user_id: String,
35
+ guide_key: String,
36
+ tenant: String,
37
+ request_options: Knockapi::RequestOptions::OrHash
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ user_id:,
42
+ # The key of the guide.
43
+ guide_key:,
44
+ # The tenant ID of the guide.
45
+ tenant: nil,
46
+ request_options: {}
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ user_id: String,
54
+ guide_key: String,
55
+ tenant: String,
56
+ request_options: Knockapi::RequestOptions
57
+ }
58
+ )
59
+ end
60
+ def to_hash
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,72 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ module Users
6
+ class PreferenceCenterBrandingConfig < Knockapi::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Knockapi::Users::PreferenceCenterBrandingConfig,
11
+ Knockapi::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The icon URL for the preference center. Must point to a valid image with an
16
+ # image MIME type.
17
+ sig { returns(T.nilable(String)) }
18
+ attr_accessor :icon_url
19
+
20
+ # The logo URL for the preference center. Must point to a valid image with an
21
+ # image MIME type.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :logo_url
24
+
25
+ # The primary color for the preference center, provided as a hex value.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_accessor :primary_color
28
+
29
+ # The primary color contrast for the preference center, provided as a hex value.
30
+ sig { returns(T.nilable(String)) }
31
+ attr_accessor :primary_color_contrast
32
+
33
+ # The branding for the preference center, sourced from public environment
34
+ # variables.
35
+ sig do
36
+ params(
37
+ icon_url: T.nilable(String),
38
+ logo_url: T.nilable(String),
39
+ primary_color: T.nilable(String),
40
+ primary_color_contrast: T.nilable(String)
41
+ ).returns(T.attached_class)
42
+ end
43
+ def self.new(
44
+ # The icon URL for the preference center. Must point to a valid image with an
45
+ # image MIME type.
46
+ icon_url: nil,
47
+ # The logo URL for the preference center. Must point to a valid image with an
48
+ # image MIME type.
49
+ logo_url: nil,
50
+ # The primary color for the preference center, provided as a hex value.
51
+ primary_color: nil,
52
+ # The primary color contrast for the preference center, provided as a hex value.
53
+ primary_color_contrast: nil
54
+ )
55
+ end
56
+
57
+ sig do
58
+ override.returns(
59
+ {
60
+ icon_url: T.nilable(String),
61
+ logo_url: T.nilable(String),
62
+ primary_color: T.nilable(String),
63
+ primary_color_contrast: T.nilable(String)
64
+ }
65
+ )
66
+ end
67
+ def to_hash
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ module Users
6
+ class PreferenceCenterGenerateSignedURLParams < Knockapi::Internal::Type::BaseModel
7
+ extend Knockapi::Internal::Type::RequestParameters::Converter
8
+ include Knockapi::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Knockapi::Users::PreferenceCenterGenerateSignedURLParams,
14
+ Knockapi::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :user_id
20
+
21
+ sig do
22
+ params(
23
+ user_id: String,
24
+ request_options: Knockapi::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(user_id:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ { user_id: String, request_options: Knockapi::RequestOptions }
33
+ )
34
+ end
35
+ def to_hash
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,41 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ module Users
6
+ class PreferenceCenterGenerateSignedURLResponse < Knockapi::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Knockapi::Models::Users::PreferenceCenterGenerateSignedURLResponse,
11
+ Knockapi::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The signed JWT token for the preference center, usable as the `/p/{token}` path
16
+ # segment.
17
+ sig { returns(String) }
18
+ attr_accessor :token
19
+
20
+ # The full URL to the preference center for the user.
21
+ sig { returns(String) }
22
+ attr_accessor :url
23
+
24
+ # A signed preference center URL and token for a user.
25
+ sig { params(token: String, url: String).returns(T.attached_class) }
26
+ def self.new(
27
+ # The signed JWT token for the preference center, usable as the `/p/{token}` path
28
+ # segment.
29
+ token:,
30
+ # The full URL to the preference center for the user.
31
+ url:
32
+ )
33
+ end
34
+
35
+ sig { override.returns({ token: String, url: String }) }
36
+ def to_hash
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ module Users
6
+ class PreferenceCenterGetConfigParams < Knockapi::Internal::Type::BaseModel
7
+ extend Knockapi::Internal::Type::RequestParameters::Converter
8
+ include Knockapi::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Knockapi::Users::PreferenceCenterGetConfigParams,
14
+ Knockapi::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :user_id
20
+
21
+ sig do
22
+ params(
23
+ user_id: String,
24
+ request_options: Knockapi::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(user_id:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ { user_id: String, request_options: Knockapi::RequestOptions }
33
+ )
34
+ end
35
+ def to_hash
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end