trycourier 4.18.2 → 4.19.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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/lib/courier/models/publish_preferences_request.rb +40 -0
  4. data/lib/courier/models/users/bulk_preference_topic.rb +59 -0
  5. data/lib/courier/models/users/preference_bulk_replace_params.rb +93 -0
  6. data/lib/courier/models/users/preference_bulk_replace_response.rb +27 -0
  7. data/lib/courier/models/users/preference_bulk_update_params.rb +92 -0
  8. data/lib/courier/models/users/preference_bulk_update_response.rb +48 -0
  9. data/lib/courier/models/workspace_preference_create_request.rb +9 -1
  10. data/lib/courier/models/workspace_preference_get_response.rb +9 -1
  11. data/lib/courier/models/workspace_preference_publish_params.rb +1 -1
  12. data/lib/courier/models/workspace_preference_replace_request.rb +13 -1
  13. data/lib/courier/models/workspace_preference_topic_create_request.rb +9 -1
  14. data/lib/courier/models/workspace_preference_topic_get_response.rb +9 -1
  15. data/lib/courier/models/workspace_preference_topic_replace_request.rb +13 -1
  16. data/lib/courier/models.rb +2 -0
  17. data/lib/courier/resources/users/preferences.rb +96 -0
  18. data/lib/courier/resources/workspace_preferences/topics.rb +6 -2
  19. data/lib/courier/resources/workspace_preferences.rb +22 -4
  20. data/lib/courier/version.rb +1 -1
  21. data/lib/courier.rb +6 -0
  22. data/rbi/courier/models/publish_preferences_request.rbi +58 -0
  23. data/rbi/courier/models/users/bulk_preference_topic.rbi +99 -0
  24. data/rbi/courier/models/users/preference_bulk_replace_params.rbi +188 -0
  25. data/rbi/courier/models/users/preference_bulk_replace_response.rbi +50 -0
  26. data/rbi/courier/models/users/preference_bulk_update_params.rbi +186 -0
  27. data/rbi/courier/models/users/preference_bulk_update_response.rbi +94 -0
  28. data/rbi/courier/models/workspace_preference_create_request.rbi +8 -0
  29. data/rbi/courier/models/workspace_preference_get_response.rbi +8 -0
  30. data/rbi/courier/models/workspace_preference_publish_params.rbi +1 -1
  31. data/rbi/courier/models/workspace_preference_replace_request.rbi +10 -0
  32. data/rbi/courier/models/workspace_preference_topic_create_request.rbi +8 -0
  33. data/rbi/courier/models/workspace_preference_topic_get_response.rbi +8 -0
  34. data/rbi/courier/models/workspace_preference_topic_replace_request.rbi +10 -0
  35. data/rbi/courier/models.rbi +2 -0
  36. data/rbi/courier/resources/users/preferences.rbi +83 -0
  37. data/rbi/courier/resources/workspace_preferences/topics.rbi +7 -0
  38. data/rbi/courier/resources/workspace_preferences.rbi +23 -4
  39. data/sig/courier/models/publish_preferences_request.rbs +26 -0
  40. data/sig/courier/models/users/bulk_preference_topic.rbs +48 -0
  41. data/sig/courier/models/users/preference_bulk_replace_params.rbs +87 -0
  42. data/sig/courier/models/users/preference_bulk_replace_response.rbs +27 -0
  43. data/sig/courier/models/users/preference_bulk_update_params.rbs +87 -0
  44. data/sig/courier/models/users/preference_bulk_update_response.rbs +39 -0
  45. data/sig/courier/models/workspace_preference_create_request.rbs +5 -0
  46. data/sig/courier/models/workspace_preference_get_response.rbs +5 -0
  47. data/sig/courier/models/workspace_preference_publish_params.rbs +1 -1
  48. data/sig/courier/models/workspace_preference_replace_request.rbs +5 -0
  49. data/sig/courier/models/workspace_preference_topic_create_request.rbs +5 -0
  50. data/sig/courier/models/workspace_preference_topic_get_response.rbs +5 -0
  51. data/sig/courier/models/workspace_preference_topic_replace_request.rbs +5 -0
  52. data/sig/courier/models.rbs +2 -0
  53. data/sig/courier/resources/users/preferences.rbs +14 -0
  54. data/sig/courier/resources/workspace_preferences/topics.rbs +2 -0
  55. data/sig/courier/resources/workspace_preferences.rbs +5 -0
  56. metadata +19 -1
@@ -12,6 +12,7 @@ module Courier
12
12
  sig do
13
13
  params(
14
14
  name: String,
15
+ description: T.nilable(String),
15
16
  has_custom_routing: T.nilable(T::Boolean),
16
17
  routing_options:
17
18
  T.nilable(T::Array[Courier::ChannelClassification::OrSymbol]),
@@ -21,6 +22,8 @@ module Courier
21
22
  def create(
22
23
  # Human-readable name for the workspace preference.
23
24
  name:,
25
+ # Optional description shown under the section on the hosted preferences page.
26
+ description: nil,
24
27
  # Whether the workspace preference defines custom routing for its topics.
25
28
  has_custom_routing: nil,
26
29
  # Default channels for the workspace preference. Defaults to empty if omitted.
@@ -72,11 +75,23 @@ module Courier
72
75
  # preference with its topics under a new published version, making the current
73
76
  # state visible on the hosted preferences page (non-draft).
74
77
  sig do
75
- params(request_options: Courier::RequestOptions::OrHash).returns(
76
- Courier::PublishPreferencesResponse
77
- )
78
+ params(
79
+ brand_id: T.nilable(String),
80
+ description: T.nilable(String),
81
+ heading: T.nilable(String),
82
+ request_options: Courier::RequestOptions::OrHash
83
+ ).returns(Courier::PublishPreferencesResponse)
78
84
  end
79
- def publish(request_options: {})
85
+ def publish(
86
+ # Brand for the hosted page - "default" (workspace default brand), "none" (no
87
+ # brand), or a specific brand id. Defaults to "default".
88
+ brand_id: nil,
89
+ # Description shown under the heading on the hosted preferences page.
90
+ description: nil,
91
+ # Heading shown at the top of the hosted preferences page.
92
+ heading: nil,
93
+ request_options: {}
94
+ )
80
95
  end
81
96
 
82
97
  # Replace a workspace preference. Full document replacement; missing optional
@@ -85,6 +100,7 @@ module Courier
85
100
  params(
86
101
  section_id: String,
87
102
  name: String,
103
+ description: T.nilable(String),
88
104
  has_custom_routing: T.nilable(T::Boolean),
89
105
  routing_options:
90
106
  T.nilable(T::Array[Courier::ChannelClassification::OrSymbol]),
@@ -96,6 +112,9 @@ module Courier
96
112
  section_id,
97
113
  # Human-readable name for the workspace preference.
98
114
  name:,
115
+ # Optional description shown under the section on the hosted preferences page.
116
+ # Omit to clear.
117
+ description: nil,
99
118
  # Whether the workspace preference defines custom routing for its topics.
100
119
  has_custom_routing: nil,
101
120
  # Default channels for the workspace preference. Omit to clear.
@@ -0,0 +1,26 @@
1
+ module Courier
2
+ module Models
3
+ type publish_preferences_request =
4
+ { brand_id: String?, description: String?, heading: String? }
5
+
6
+ class PublishPreferencesRequest < Courier::Internal::Type::BaseModel
7
+ attr_accessor brand_id: String?
8
+
9
+ attr_accessor description: String?
10
+
11
+ attr_accessor heading: String?
12
+
13
+ def initialize: (
14
+ ?brand_id: String?,
15
+ ?description: String?,
16
+ ?heading: String?
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ brand_id: String?,
21
+ description: String?,
22
+ heading: String?
23
+ }
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,48 @@
1
+ module Courier
2
+ module Models
3
+ module Users
4
+ type bulk_preference_topic =
5
+ {
6
+ custom_routing: ::Array[Courier::Models::channel_classification],
7
+ has_custom_routing: bool,
8
+ status: Courier::Models::Users::BulkPreferenceTopic::status,
9
+ topic_id: String
10
+ }
11
+
12
+ class BulkPreferenceTopic < Courier::Internal::Type::BaseModel
13
+ attr_accessor custom_routing: ::Array[Courier::Models::channel_classification]
14
+
15
+ attr_accessor has_custom_routing: bool
16
+
17
+ attr_accessor status: Courier::Models::Users::BulkPreferenceTopic::status
18
+
19
+ attr_accessor topic_id: String
20
+
21
+ def initialize: (
22
+ custom_routing: ::Array[Courier::Models::channel_classification],
23
+ has_custom_routing: bool,
24
+ status: Courier::Models::Users::BulkPreferenceTopic::status,
25
+ topic_id: String
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ custom_routing: ::Array[Courier::Models::channel_classification],
30
+ has_custom_routing: bool,
31
+ status: Courier::Models::Users::BulkPreferenceTopic::status,
32
+ topic_id: String
33
+ }
34
+
35
+ type status = :OPTED_IN | :OPTED_OUT
36
+
37
+ module Status
38
+ extend Courier::Internal::Type::Enum
39
+
40
+ OPTED_IN: :OPTED_IN
41
+ OPTED_OUT: :OPTED_OUT
42
+
43
+ def self?.values: -> ::Array[Courier::Models::Users::BulkPreferenceTopic::status]
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,87 @@
1
+ module Courier
2
+ module Models
3
+ module Users
4
+ type preference_bulk_replace_params =
5
+ {
6
+ user_id: String,
7
+ topics: ::Array[Courier::Users::PreferenceBulkReplaceParams::Topic],
8
+ tenant_id: String?
9
+ }
10
+ & Courier::Internal::Type::request_parameters
11
+
12
+ class PreferenceBulkReplaceParams < Courier::Internal::Type::BaseModel
13
+ extend Courier::Internal::Type::RequestParameters::Converter
14
+ include Courier::Internal::Type::RequestParameters
15
+
16
+ attr_accessor user_id: String
17
+
18
+ attr_accessor topics: ::Array[Courier::Users::PreferenceBulkReplaceParams::Topic]
19
+
20
+ attr_accessor tenant_id: String?
21
+
22
+ def initialize: (
23
+ user_id: String,
24
+ topics: ::Array[Courier::Users::PreferenceBulkReplaceParams::Topic],
25
+ ?tenant_id: String?,
26
+ ?request_options: Courier::request_opts
27
+ ) -> void
28
+
29
+ def to_hash: -> {
30
+ user_id: String,
31
+ topics: ::Array[Courier::Users::PreferenceBulkReplaceParams::Topic],
32
+ tenant_id: String?,
33
+ request_options: Courier::RequestOptions
34
+ }
35
+
36
+ type topic =
37
+ {
38
+ status: Courier::Models::Users::PreferenceBulkReplaceParams::Topic::status,
39
+ topic_id: String,
40
+ custom_routing: ::Array[Courier::Models::channel_classification],
41
+ has_custom_routing: bool
42
+ }
43
+
44
+ class Topic < Courier::Internal::Type::BaseModel
45
+ attr_accessor status: Courier::Models::Users::PreferenceBulkReplaceParams::Topic::status
46
+
47
+ attr_accessor topic_id: String
48
+
49
+ attr_reader custom_routing: ::Array[Courier::Models::channel_classification]?
50
+
51
+ def custom_routing=: (
52
+ ::Array[Courier::Models::channel_classification]
53
+ ) -> ::Array[Courier::Models::channel_classification]
54
+
55
+ attr_reader has_custom_routing: bool?
56
+
57
+ def has_custom_routing=: (bool) -> bool
58
+
59
+ def initialize: (
60
+ status: Courier::Models::Users::PreferenceBulkReplaceParams::Topic::status,
61
+ topic_id: String,
62
+ ?custom_routing: ::Array[Courier::Models::channel_classification],
63
+ ?has_custom_routing: bool
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ status: Courier::Models::Users::PreferenceBulkReplaceParams::Topic::status,
68
+ topic_id: String,
69
+ custom_routing: ::Array[Courier::Models::channel_classification],
70
+ has_custom_routing: bool
71
+ }
72
+
73
+ type status = :OPTED_IN | :OPTED_OUT
74
+
75
+ module Status
76
+ extend Courier::Internal::Type::Enum
77
+
78
+ OPTED_IN: :OPTED_IN
79
+ OPTED_OUT: :OPTED_OUT
80
+
81
+ def self?.values: -> ::Array[Courier::Models::Users::PreferenceBulkReplaceParams::Topic::status]
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,27 @@
1
+ module Courier
2
+ module Models
3
+ module Users
4
+ type preference_bulk_replace_response =
5
+ {
6
+ deleted: ::Array[String],
7
+ items: ::Array[Courier::Users::BulkPreferenceTopic]
8
+ }
9
+
10
+ class PreferenceBulkReplaceResponse < Courier::Internal::Type::BaseModel
11
+ attr_accessor deleted: ::Array[String]
12
+
13
+ attr_accessor items: ::Array[Courier::Users::BulkPreferenceTopic]
14
+
15
+ def initialize: (
16
+ deleted: ::Array[String],
17
+ items: ::Array[Courier::Users::BulkPreferenceTopic]
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ deleted: ::Array[String],
22
+ items: ::Array[Courier::Users::BulkPreferenceTopic]
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,87 @@
1
+ module Courier
2
+ module Models
3
+ module Users
4
+ type preference_bulk_update_params =
5
+ {
6
+ user_id: String,
7
+ topics: ::Array[Courier::Users::PreferenceBulkUpdateParams::Topic],
8
+ tenant_id: String?
9
+ }
10
+ & Courier::Internal::Type::request_parameters
11
+
12
+ class PreferenceBulkUpdateParams < Courier::Internal::Type::BaseModel
13
+ extend Courier::Internal::Type::RequestParameters::Converter
14
+ include Courier::Internal::Type::RequestParameters
15
+
16
+ attr_accessor user_id: String
17
+
18
+ attr_accessor topics: ::Array[Courier::Users::PreferenceBulkUpdateParams::Topic]
19
+
20
+ attr_accessor tenant_id: String?
21
+
22
+ def initialize: (
23
+ user_id: String,
24
+ topics: ::Array[Courier::Users::PreferenceBulkUpdateParams::Topic],
25
+ ?tenant_id: String?,
26
+ ?request_options: Courier::request_opts
27
+ ) -> void
28
+
29
+ def to_hash: -> {
30
+ user_id: String,
31
+ topics: ::Array[Courier::Users::PreferenceBulkUpdateParams::Topic],
32
+ tenant_id: String?,
33
+ request_options: Courier::RequestOptions
34
+ }
35
+
36
+ type topic =
37
+ {
38
+ status: Courier::Models::Users::PreferenceBulkUpdateParams::Topic::status,
39
+ topic_id: String,
40
+ custom_routing: ::Array[Courier::Models::channel_classification],
41
+ has_custom_routing: bool
42
+ }
43
+
44
+ class Topic < Courier::Internal::Type::BaseModel
45
+ attr_accessor status: Courier::Models::Users::PreferenceBulkUpdateParams::Topic::status
46
+
47
+ attr_accessor topic_id: String
48
+
49
+ attr_reader custom_routing: ::Array[Courier::Models::channel_classification]?
50
+
51
+ def custom_routing=: (
52
+ ::Array[Courier::Models::channel_classification]
53
+ ) -> ::Array[Courier::Models::channel_classification]
54
+
55
+ attr_reader has_custom_routing: bool?
56
+
57
+ def has_custom_routing=: (bool) -> bool
58
+
59
+ def initialize: (
60
+ status: Courier::Models::Users::PreferenceBulkUpdateParams::Topic::status,
61
+ topic_id: String,
62
+ ?custom_routing: ::Array[Courier::Models::channel_classification],
63
+ ?has_custom_routing: bool
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ status: Courier::Models::Users::PreferenceBulkUpdateParams::Topic::status,
68
+ topic_id: String,
69
+ custom_routing: ::Array[Courier::Models::channel_classification],
70
+ has_custom_routing: bool
71
+ }
72
+
73
+ type status = :OPTED_IN | :OPTED_OUT
74
+
75
+ module Status
76
+ extend Courier::Internal::Type::Enum
77
+
78
+ OPTED_IN: :OPTED_IN
79
+ OPTED_OUT: :OPTED_OUT
80
+
81
+ def self?.values: -> ::Array[Courier::Models::Users::PreferenceBulkUpdateParams::Topic::status]
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,39 @@
1
+ module Courier
2
+ module Models
3
+ module Users
4
+ type preference_bulk_update_response =
5
+ {
6
+ errors: ::Array[Courier::Models::Users::PreferenceBulkUpdateResponse::Error],
7
+ items: ::Array[Courier::Users::BulkPreferenceTopic]
8
+ }
9
+
10
+ class PreferenceBulkUpdateResponse < Courier::Internal::Type::BaseModel
11
+ attr_accessor errors: ::Array[Courier::Models::Users::PreferenceBulkUpdateResponse::Error]
12
+
13
+ attr_accessor items: ::Array[Courier::Users::BulkPreferenceTopic]
14
+
15
+ def initialize: (
16
+ errors: ::Array[Courier::Models::Users::PreferenceBulkUpdateResponse::Error],
17
+ items: ::Array[Courier::Users::BulkPreferenceTopic]
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ errors: ::Array[Courier::Models::Users::PreferenceBulkUpdateResponse::Error],
22
+ items: ::Array[Courier::Users::BulkPreferenceTopic]
23
+ }
24
+
25
+ type error = { reason: String, topic_id: String }
26
+
27
+ class Error < Courier::Internal::Type::BaseModel
28
+ attr_accessor reason: String
29
+
30
+ attr_accessor topic_id: String
31
+
32
+ def initialize: (reason: String, topic_id: String) -> void
33
+
34
+ def to_hash: -> { reason: String, topic_id: String }
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -3,6 +3,7 @@ module Courier
3
3
  type workspace_preference_create_request =
4
4
  {
5
5
  name: String,
6
+ description: String?,
6
7
  has_custom_routing: bool?,
7
8
  routing_options: ::Array[Courier::Models::channel_classification]?
8
9
  }
@@ -10,18 +11,22 @@ module Courier
10
11
  class WorkspacePreferenceCreateRequest < Courier::Internal::Type::BaseModel
11
12
  attr_accessor name: String
12
13
 
14
+ attr_accessor description: String?
15
+
13
16
  attr_accessor has_custom_routing: bool?
14
17
 
15
18
  attr_accessor routing_options: ::Array[Courier::Models::channel_classification]?
16
19
 
17
20
  def initialize: (
18
21
  name: String,
22
+ ?description: String?,
19
23
  ?has_custom_routing: bool?,
20
24
  ?routing_options: ::Array[Courier::Models::channel_classification]?
21
25
  ) -> void
22
26
 
23
27
  def to_hash: -> {
24
28
  name: String,
29
+ description: String?,
25
30
  has_custom_routing: bool?,
26
31
  routing_options: ::Array[Courier::Models::channel_classification]?
27
32
  }
@@ -9,6 +9,7 @@ module Courier
9
9
  routing_options: ::Array[Courier::Models::channel_classification],
10
10
  topics: ::Array[Courier::WorkspacePreferenceTopicGetResponse],
11
11
  creator: String?,
12
+ description: String?,
12
13
  updated: String?,
13
14
  updater: String?
14
15
  }
@@ -28,6 +29,8 @@ module Courier
28
29
 
29
30
  attr_accessor creator: String?
30
31
 
32
+ attr_accessor description: String?
33
+
31
34
  attr_accessor updated: String?
32
35
 
33
36
  attr_accessor updater: String?
@@ -40,6 +43,7 @@ module Courier
40
43
  routing_options: ::Array[Courier::Models::channel_classification],
41
44
  topics: ::Array[Courier::WorkspacePreferenceTopicGetResponse],
42
45
  ?creator: String?,
46
+ ?description: String?,
43
47
  ?updated: String?,
44
48
  ?updater: String?
45
49
  ) -> void
@@ -52,6 +56,7 @@ module Courier
52
56
  routing_options: ::Array[Courier::Models::channel_classification],
53
57
  topics: ::Array[Courier::WorkspacePreferenceTopicGetResponse],
54
58
  creator: String?,
59
+ description: String?,
55
60
  updated: String?,
56
61
  updater: String?
57
62
  }
@@ -3,7 +3,7 @@ module Courier
3
3
  type workspace_preference_publish_params =
4
4
  { } & Courier::Internal::Type::request_parameters
5
5
 
6
- class WorkspacePreferencePublishParams < Courier::Internal::Type::BaseModel
6
+ class WorkspacePreferencePublishParams < Courier::Models::PublishPreferencesRequest
7
7
  extend Courier::Internal::Type::RequestParameters::Converter
8
8
  include Courier::Internal::Type::RequestParameters
9
9
 
@@ -3,6 +3,7 @@ module Courier
3
3
  type workspace_preference_replace_request =
4
4
  {
5
5
  name: String,
6
+ description: String?,
6
7
  has_custom_routing: bool?,
7
8
  routing_options: ::Array[Courier::Models::channel_classification]?
8
9
  }
@@ -10,18 +11,22 @@ module Courier
10
11
  class WorkspacePreferenceReplaceRequest < Courier::Internal::Type::BaseModel
11
12
  attr_accessor name: String
12
13
 
14
+ attr_accessor description: String?
15
+
13
16
  attr_accessor has_custom_routing: bool?
14
17
 
15
18
  attr_accessor routing_options: ::Array[Courier::Models::channel_classification]?
16
19
 
17
20
  def initialize: (
18
21
  name: String,
22
+ ?description: String?,
19
23
  ?has_custom_routing: bool?,
20
24
  ?routing_options: ::Array[Courier::Models::channel_classification]?
21
25
  ) -> void
22
26
 
23
27
  def to_hash: -> {
24
28
  name: String,
29
+ description: String?,
25
30
  has_custom_routing: bool?,
26
31
  routing_options: ::Array[Courier::Models::channel_classification]?
27
32
  }
@@ -5,6 +5,7 @@ module Courier
5
5
  default_status: Courier::Models::WorkspacePreferenceTopicCreateRequest::default_status,
6
6
  name: String,
7
7
  allowed_preferences: ::Array[Courier::Models::WorkspacePreferenceTopicCreateRequest::allowed_preference]?,
8
+ description: String?,
8
9
  include_unsubscribe_header: bool?,
9
10
  routing_options: ::Array[Courier::Models::channel_classification]?,
10
11
  topic_data: ::Hash[Symbol, top]?
@@ -17,6 +18,8 @@ module Courier
17
18
 
18
19
  attr_accessor allowed_preferences: ::Array[Courier::Models::WorkspacePreferenceTopicCreateRequest::allowed_preference]?
19
20
 
21
+ attr_accessor description: String?
22
+
20
23
  attr_accessor include_unsubscribe_header: bool?
21
24
 
22
25
  attr_accessor routing_options: ::Array[Courier::Models::channel_classification]?
@@ -27,6 +30,7 @@ module Courier
27
30
  default_status: Courier::Models::WorkspacePreferenceTopicCreateRequest::default_status,
28
31
  name: String,
29
32
  ?allowed_preferences: ::Array[Courier::Models::WorkspacePreferenceTopicCreateRequest::allowed_preference]?,
33
+ ?description: String?,
30
34
  ?include_unsubscribe_header: bool?,
31
35
  ?routing_options: ::Array[Courier::Models::channel_classification]?,
32
36
  ?topic_data: ::Hash[Symbol, top]?
@@ -36,6 +40,7 @@ module Courier
36
40
  default_status: Courier::Models::WorkspacePreferenceTopicCreateRequest::default_status,
37
41
  name: String,
38
42
  allowed_preferences: ::Array[Courier::Models::WorkspacePreferenceTopicCreateRequest::allowed_preference]?,
43
+ description: String?,
39
44
  include_unsubscribe_header: bool?,
40
45
  routing_options: ::Array[Courier::Models::channel_classification]?,
41
46
  topic_data: ::Hash[Symbol, top]?
@@ -12,6 +12,7 @@ module Courier
12
12
  topic_data: ::Hash[Symbol, top],
13
13
  updated: String,
14
14
  creator: String?,
15
+ description: String?,
15
16
  updater: String?
16
17
  }
17
18
 
@@ -36,6 +37,8 @@ module Courier
36
37
 
37
38
  attr_accessor creator: String?
38
39
 
40
+ attr_accessor description: String?
41
+
39
42
  attr_accessor updater: String?
40
43
 
41
44
  def initialize: (
@@ -49,6 +52,7 @@ module Courier
49
52
  topic_data: ::Hash[Symbol, top],
50
53
  updated: String,
51
54
  ?creator: String?,
55
+ ?description: String?,
52
56
  ?updater: String?
53
57
  ) -> void
54
58
 
@@ -63,6 +67,7 @@ module Courier
63
67
  topic_data: ::Hash[Symbol, top],
64
68
  updated: String,
65
69
  creator: String?,
70
+ description: String?,
66
71
  updater: String?
67
72
  }
68
73
 
@@ -5,6 +5,7 @@ module Courier
5
5
  default_status: Courier::Models::WorkspacePreferenceTopicReplaceRequest::default_status,
6
6
  name: String,
7
7
  allowed_preferences: ::Array[Courier::Models::WorkspacePreferenceTopicReplaceRequest::allowed_preference]?,
8
+ description: String?,
8
9
  include_unsubscribe_header: bool?,
9
10
  routing_options: ::Array[Courier::Models::channel_classification]?,
10
11
  topic_data: ::Hash[Symbol, top]?
@@ -17,6 +18,8 @@ module Courier
17
18
 
18
19
  attr_accessor allowed_preferences: ::Array[Courier::Models::WorkspacePreferenceTopicReplaceRequest::allowed_preference]?
19
20
 
21
+ attr_accessor description: String?
22
+
20
23
  attr_accessor include_unsubscribe_header: bool?
21
24
 
22
25
  attr_accessor routing_options: ::Array[Courier::Models::channel_classification]?
@@ -27,6 +30,7 @@ module Courier
27
30
  default_status: Courier::Models::WorkspacePreferenceTopicReplaceRequest::default_status,
28
31
  name: String,
29
32
  ?allowed_preferences: ::Array[Courier::Models::WorkspacePreferenceTopicReplaceRequest::allowed_preference]?,
33
+ ?description: String?,
30
34
  ?include_unsubscribe_header: bool?,
31
35
  ?routing_options: ::Array[Courier::Models::channel_classification]?,
32
36
  ?topic_data: ::Hash[Symbol, top]?
@@ -36,6 +40,7 @@ module Courier
36
40
  default_status: Courier::Models::WorkspacePreferenceTopicReplaceRequest::default_status,
37
41
  name: String,
38
42
  allowed_preferences: ::Array[Courier::Models::WorkspacePreferenceTopicReplaceRequest::allowed_preference]?,
43
+ description: String?,
39
44
  include_unsubscribe_header: bool?,
40
45
  routing_options: ::Array[Courier::Models::channel_classification]?,
41
46
  topic_data: ::Hash[Symbol, top]?
@@ -403,6 +403,8 @@ module Courier
403
403
 
404
404
  class ProviderUpdateParams = Courier::Models::ProviderUpdateParams
405
405
 
406
+ class PublishPreferencesRequest = Courier::Models::PublishPreferencesRequest
407
+
406
408
  class PublishPreferencesResponse = Courier::Models::PublishPreferencesResponse
407
409
 
408
410
  class PutSubscriptionsRecipient = Courier::Models::PutSubscriptionsRecipient
@@ -8,6 +8,20 @@ module Courier
8
8
  ?request_options: Courier::request_opts
9
9
  ) -> Courier::Models::Users::PreferenceRetrieveResponse
10
10
 
11
+ def bulk_replace: (
12
+ String user_id,
13
+ topics: ::Array[Courier::Users::PreferenceBulkReplaceParams::Topic],
14
+ ?tenant_id: String?,
15
+ ?request_options: Courier::request_opts
16
+ ) -> Courier::Models::Users::PreferenceBulkReplaceResponse
17
+
18
+ def bulk_update: (
19
+ String user_id,
20
+ topics: ::Array[Courier::Users::PreferenceBulkUpdateParams::Topic],
21
+ ?tenant_id: String?,
22
+ ?request_options: Courier::request_opts
23
+ ) -> Courier::Models::Users::PreferenceBulkUpdateResponse
24
+
11
25
  def delete_topic: (
12
26
  String topic_id,
13
27
  user_id: String,
@@ -7,6 +7,7 @@ module Courier
7
7
  default_status: Courier::Models::WorkspacePreferenceTopicCreateRequest::default_status,
8
8
  name: String,
9
9
  ?allowed_preferences: ::Array[Courier::Models::WorkspacePreferenceTopicCreateRequest::allowed_preference]?,
10
+ ?description: String?,
10
11
  ?include_unsubscribe_header: bool?,
11
12
  ?routing_options: ::Array[Courier::Models::channel_classification]?,
12
13
  ?topic_data: ::Hash[Symbol, top]?,
@@ -36,6 +37,7 @@ module Courier
36
37
  default_status: Courier::Models::WorkspacePreferenceTopicReplaceRequest::default_status,
37
38
  name: String,
38
39
  ?allowed_preferences: ::Array[Courier::Models::WorkspacePreferenceTopicReplaceRequest::allowed_preference]?,
40
+ ?description: String?,
39
41
  ?include_unsubscribe_header: bool?,
40
42
  ?routing_options: ::Array[Courier::Models::channel_classification]?,
41
43
  ?topic_data: ::Hash[Symbol, top]?,
@@ -5,6 +5,7 @@ module Courier
5
5
 
6
6
  def create: (
7
7
  name: String,
8
+ ?description: String?,
8
9
  ?has_custom_routing: bool?,
9
10
  ?routing_options: ::Array[Courier::Models::channel_classification]?,
10
11
  ?request_options: Courier::request_opts
@@ -25,12 +26,16 @@ module Courier
25
26
  ) -> nil
26
27
 
27
28
  def publish: (
29
+ ?brand_id: String?,
30
+ ?description: String?,
31
+ ?heading: String?,
28
32
  ?request_options: Courier::request_opts
29
33
  ) -> Courier::PublishPreferencesResponse
30
34
 
31
35
  def replace: (
32
36
  String section_id,
33
37
  name: String,
38
+ ?description: String?,
34
39
  ?has_custom_routing: bool?,
35
40
  ?routing_options: ::Array[Courier::Models::channel_classification]?,
36
41
  ?request_options: Courier::request_opts