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
@@ -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,92 +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 content of the guide.
29
- sig { returns(T::Hash[Symbol, T.anything]) }
30
- attr_accessor :content
31
-
32
- # The unique identifier for the guide.
33
- sig { returns(String) }
34
- attr_accessor :guide_id
35
-
36
- # The key of the guide.
37
- sig { returns(String) }
38
- attr_accessor :guide_key
39
-
40
- # The step reference of the guide.
41
- sig { returns(String) }
42
- attr_accessor :guide_step_ref
43
-
44
- # The data of the guide.
45
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
46
- attr_reader :data
47
-
48
- sig { params(data: T::Hash[Symbol, T.anything]).void }
49
- attr_writer :data
50
-
51
- # The tenant ID of the guide.
52
- sig { returns(T.nilable(String)) }
53
- attr_reader :tenant
54
-
55
- sig { params(tenant: String).void }
56
- attr_writer :tenant
57
-
58
21
  sig do
59
22
  params(
60
23
  user_id: String,
61
- message_id: String,
62
- channel_id: String,
63
- content: T::Hash[Symbol, T.anything],
64
- guide_id: String,
65
- guide_key: String,
66
- guide_step_ref: String,
67
- data: T::Hash[Symbol, T.anything],
68
- tenant: String,
69
24
  request_options: Knockapi::RequestOptions::OrHash
70
25
  ).returns(T.attached_class)
71
26
  end
72
- def self.new(
73
- user_id:,
74
- message_id:,
75
- # The unique identifier for the channel.
76
- channel_id:,
77
- # The content of the guide.
78
- content:,
79
- # The unique identifier for the guide.
80
- guide_id:,
81
- # The key of the guide.
82
- guide_key:,
83
- # The step reference of the guide.
84
- guide_step_ref:,
85
- # The data of the guide.
86
- data: nil,
87
- # The tenant ID of the guide.
88
- tenant: nil,
89
- request_options: {}
90
- )
27
+ def self.new(user_id:, request_options: {})
91
28
  end
92
29
 
93
30
  sig do
94
31
  override.returns(
95
- {
96
- user_id: String,
97
- message_id: String,
98
- channel_id: String,
99
- content: T::Hash[Symbol, T.anything],
100
- guide_id: String,
101
- guide_key: String,
102
- guide_step_ref: String,
103
- data: T::Hash[Symbol, T.anything],
104
- tenant: String,
105
- request_options: Knockapi::RequestOptions
106
- }
32
+ { user_id: String, request_options: Knockapi::RequestOptions }
107
33
  )
108
34
  end
109
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