trycourier 4.15.0 → 4.17.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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/lib/courier/client.rb +4 -0
  4. data/lib/courier/models/journeys/template_put_content_params.rb +28 -0
  5. data/lib/courier/models/journeys/template_put_locale_params.rb +34 -0
  6. data/lib/courier/models/journeys/template_retrieve_content_params.rb +42 -0
  7. data/lib/courier/models/preference_section_archive_params.rb +20 -0
  8. data/lib/courier/models/preference_section_create_params.rb +14 -0
  9. data/lib/courier/models/preference_section_create_request.rb +36 -0
  10. data/lib/courier/models/preference_section_get_response.rb +83 -0
  11. data/lib/courier/models/preference_section_list_params.rb +14 -0
  12. data/lib/courier/models/preference_section_list_response.rb +18 -0
  13. data/lib/courier/models/preference_section_publish_params.rb +14 -0
  14. data/lib/courier/models/preference_section_replace_params.rb +20 -0
  15. data/lib/courier/models/preference_section_replace_request.rb +37 -0
  16. data/lib/courier/models/preference_section_retrieve_params.rb +20 -0
  17. data/lib/courier/models/preference_sections/topic_archive_params.rb +28 -0
  18. data/lib/courier/models/preference_sections/topic_create_params.rb +22 -0
  19. data/lib/courier/models/preference_sections/topic_list_params.rb +22 -0
  20. data/lib/courier/models/preference_sections/topic_replace_params.rb +28 -0
  21. data/lib/courier/models/preference_sections/topic_retrieve_params.rb +28 -0
  22. data/lib/courier/models/preference_topic_create_request.rb +93 -0
  23. data/lib/courier/models/preference_topic_get_response.rb +124 -0
  24. data/lib/courier/models/preference_topic_list_response.rb +17 -0
  25. data/lib/courier/models/preference_topic_replace_request.rb +90 -0
  26. data/lib/courier/models/publish_preferences_response.rb +51 -0
  27. data/lib/courier/models.rb +32 -0
  28. data/lib/courier/resources/journeys/templates.rb +113 -0
  29. data/lib/courier/resources/preference_sections/topics.rb +173 -0
  30. data/lib/courier/resources/preference_sections.rb +155 -0
  31. data/lib/courier/version.rb +1 -1
  32. data/lib/courier.rb +27 -2
  33. data/rbi/courier/client.rbi +3 -0
  34. data/rbi/courier/models/journeys/template_put_content_params.rbi +48 -0
  35. data/rbi/courier/models/journeys/template_put_locale_params.rbi +58 -0
  36. data/rbi/courier/models/journeys/template_retrieve_content_params.rbi +65 -0
  37. data/rbi/courier/models/preference_section_archive_params.rbi +38 -0
  38. data/rbi/courier/models/preference_section_create_params.rbi +30 -0
  39. data/rbi/courier/models/preference_section_create_request.rbi +61 -0
  40. data/rbi/courier/models/preference_section_get_response.rbi +106 -0
  41. data/rbi/courier/models/preference_section_list_params.rbi +30 -0
  42. data/rbi/courier/models/preference_section_list_response.rbi +35 -0
  43. data/rbi/courier/models/preference_section_publish_params.rbi +30 -0
  44. data/rbi/courier/models/preference_section_replace_params.rbi +38 -0
  45. data/rbi/courier/models/preference_section_replace_request.rbi +62 -0
  46. data/rbi/courier/models/preference_section_retrieve_params.rbi +38 -0
  47. data/rbi/courier/models/preference_sections/topic_archive_params.rbi +48 -0
  48. data/rbi/courier/models/preference_sections/topic_create_params.rbi +40 -0
  49. data/rbi/courier/models/preference_sections/topic_list_params.rbi +40 -0
  50. data/rbi/courier/models/preference_sections/topic_replace_params.rbi +48 -0
  51. data/rbi/courier/models/preference_sections/topic_retrieve_params.rbi +48 -0
  52. data/rbi/courier/models/preference_topic_create_request.rbi +181 -0
  53. data/rbi/courier/models/preference_topic_get_response.rbi +209 -0
  54. data/rbi/courier/models/preference_topic_list_response.rbi +35 -0
  55. data/rbi/courier/models/preference_topic_replace_request.rbi +180 -0
  56. data/rbi/courier/models/publish_preferences_response.rbi +70 -0
  57. data/rbi/courier/models.rbi +38 -0
  58. data/rbi/courier/resources/journeys/templates.rbi +78 -0
  59. data/rbi/courier/resources/preference_sections/topics.rbi +149 -0
  60. data/rbi/courier/resources/preference_sections.rbi +113 -0
  61. data/sig/courier/client.rbs +2 -0
  62. data/sig/courier/models/journeys/template_put_content_params.rbs +34 -0
  63. data/sig/courier/models/journeys/template_put_locale_params.rbs +40 -0
  64. data/sig/courier/models/journeys/template_retrieve_content_params.rbs +36 -0
  65. data/sig/courier/models/preference_section_archive_params.rbs +23 -0
  66. data/sig/courier/models/preference_section_create_params.rbs +15 -0
  67. data/sig/courier/models/preference_section_create_request.rbs +30 -0
  68. data/sig/courier/models/preference_section_get_response.rbs +60 -0
  69. data/sig/courier/models/preference_section_list_params.rbs +15 -0
  70. data/sig/courier/models/preference_section_list_response.rbs +18 -0
  71. data/sig/courier/models/preference_section_publish_params.rbs +15 -0
  72. data/sig/courier/models/preference_section_replace_params.rbs +25 -0
  73. data/sig/courier/models/preference_section_replace_request.rbs +30 -0
  74. data/sig/courier/models/preference_section_retrieve_params.rbs +23 -0
  75. data/sig/courier/models/preference_sections/topic_archive_params.rbs +30 -0
  76. data/sig/courier/models/preference_sections/topic_create_params.rbs +27 -0
  77. data/sig/courier/models/preference_sections/topic_list_params.rbs +25 -0
  78. data/sig/courier/models/preference_sections/topic_replace_params.rbs +34 -0
  79. data/sig/courier/models/preference_sections/topic_retrieve_params.rbs +30 -0
  80. data/sig/courier/models/preference_topic_create_request.rbs +68 -0
  81. data/sig/courier/models/preference_topic_get_response.rbs +93 -0
  82. data/sig/courier/models/preference_topic_list_response.rbs +16 -0
  83. data/sig/courier/models/preference_topic_replace_request.rbs +68 -0
  84. data/sig/courier/models/publish_preferences_response.rbs +40 -0
  85. data/sig/courier/models.rbs +32 -0
  86. data/sig/courier/resources/journeys/templates.rbs +24 -0
  87. data/sig/courier/resources/preference_sections/topics.rbs +49 -0
  88. data/sig/courier/resources/preference_sections.rbs +42 -0
  89. metadata +77 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b99d61d48791e6c2136cf1a133cd904f2defefddbc398b23d4e5b3c9dd62594
4
- data.tar.gz: 003de52e76aa6754dc9e89adf48d3114c5151a4531489853e05cf94aae77a9b5
3
+ metadata.gz: 1ebaf44c61a0ef71f4361dcc7d1c86fd966ef63dad937597e9aa3305eac0eb0c
4
+ data.tar.gz: 77043c6e894d91ae5bfcab16c10deebe37297817112069e094a88f0927452aa8
5
5
  SHA512:
6
- metadata.gz: 77b2d8b6cb854d743638a03e5a6a922677fb1495804ed9cbac9ce719ad6951c90fca4e6b04ca69d25f6b99c3a4143b45973ce01ba48c84a5628cc3c1c763e8a7
7
- data.tar.gz: fec4e9f9dc6badbf6898829b212f4ab6d6b80119dbe8be9f75ebc63dce3fdb61404cb88c167a427c1a41ad95864f8515aa38809bef87aac741a82e80cfacf7ea
6
+ metadata.gz: eada95e02ef63ffe5351c64ccbafa522e8a36d02b0ad84c15a250c493684b9676538c2c72d72ee6c613096bfb2de1e40b00cef51134af44de63229937ad22036
7
+ data.tar.gz: 1579153d043a077c6d4561276bfbbabbd986ddb115bea3552b5301717bb9e5c80855176573fc50789dc9293fd20970db74f5d003f1e3fe7e890128d236b4b65c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.17.0 (2026-06-24)
4
+
5
+ Full Changelog: [v4.16.0...v4.17.0](https://github.com/trycourier/courier-ruby/compare/v4.16.0...v4.17.0)
6
+
7
+ ### Features
8
+
9
+ * **preferences:** workspace preference sections & nested topics endpoints ([d53ac7b](https://github.com/trycourier/courier-ruby/commit/d53ac7b093745632465f9b8fc4136964e48ed88f))
10
+
11
+ ## 4.16.0 (2026-06-23)
12
+
13
+ Full Changelog: [v4.15.0...v4.16.0](https://github.com/trycourier/courier-ruby/compare/v4.15.0...v4.16.0)
14
+
15
+ ### Features
16
+
17
+ * **journeys:** add content + locale endpoints to journey-scoped templates ([9309361](https://github.com/trycourier/courier-ruby/commit/93093616ebe031a0d3c4b5ffe5b365affa5d0c6a))
18
+
19
+
20
+ ### Documentation
21
+
22
+ * **journeys:** clarify checksum usage + re-trigger docs sync for journey content endpoints ([dfff96b](https://github.com/trycourier/courier-ruby/commit/dfff96ba54ef12d492fff54f5c1d973a3e3d9028))
23
+
3
24
  ## 4.15.0 (2026-06-17)
4
25
 
5
26
  Full Changelog: [v4.14.0...v4.15.0](https://github.com/trycourier/courier-ruby/compare/v4.14.0...v4.15.0)
@@ -66,6 +66,9 @@ module Courier
66
66
  # @return [Courier::Resources::RoutingStrategies]
67
67
  attr_reader :routing_strategies
68
68
 
69
+ # @return [Courier::Resources::PreferenceSections]
70
+ attr_reader :preference_sections
71
+
69
72
  # @return [Courier::Resources::Profiles]
70
73
  attr_reader :profiles
71
74
 
@@ -155,6 +158,7 @@ module Courier
155
158
  @requests = Courier::Resources::Requests.new(client: self)
156
159
  @notifications = Courier::Resources::Notifications.new(client: self)
157
160
  @routing_strategies = Courier::Resources::RoutingStrategies.new(client: self)
161
+ @preference_sections = Courier::Resources::PreferenceSections.new(client: self)
158
162
  @profiles = Courier::Resources::Profiles.new(client: self)
159
163
  @tenants = Courier::Resources::Tenants.new(client: self)
160
164
  @translations = Courier::Resources::Translations.new(client: self)
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ module Journeys
6
+ # @see Courier::Resources::Journeys::Templates#put_content
7
+ class TemplatePutContentParams < Courier::Models::NotificationContentPutRequest
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ # @!attribute template_id
12
+ #
13
+ # @return [String]
14
+ required :template_id, String
15
+
16
+ # @!attribute notification_id
17
+ #
18
+ # @return [String]
19
+ required :notification_id, String
20
+
21
+ # @!method initialize(template_id:, notification_id:, request_options: {})
22
+ # @param template_id [String]
23
+ # @param notification_id [String]
24
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ module Journeys
6
+ # @see Courier::Resources::Journeys::Templates#put_locale
7
+ class TemplatePutLocaleParams < Courier::Models::NotificationLocalePutRequest
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ # @!attribute template_id
12
+ #
13
+ # @return [String]
14
+ required :template_id, String
15
+
16
+ # @!attribute notification_id
17
+ #
18
+ # @return [String]
19
+ required :notification_id, String
20
+
21
+ # @!attribute locale_id
22
+ #
23
+ # @return [String]
24
+ required :locale_id, String
25
+
26
+ # @!method initialize(template_id:, notification_id:, locale_id:, request_options: {})
27
+ # @param template_id [String]
28
+ # @param notification_id [String]
29
+ # @param locale_id [String]
30
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ module Journeys
6
+ # @see Courier::Resources::Journeys::Templates#retrieve_content
7
+ class TemplateRetrieveContentParams < Courier::Internal::Type::BaseModel
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ # @!attribute template_id
12
+ #
13
+ # @return [String]
14
+ required :template_id, String
15
+
16
+ # @!attribute notification_id
17
+ #
18
+ # @return [String]
19
+ required :notification_id, String
20
+
21
+ # @!attribute version
22
+ # Accepts `draft`, `published`, or a version string (e.g., `v001`). Defaults to
23
+ # `published`.
24
+ #
25
+ # @return [String, nil]
26
+ optional :version, String
27
+
28
+ # @!method initialize(template_id:, notification_id:, version: nil, request_options: {})
29
+ # Some parameter documentations has been truncated, see
30
+ # {Courier::Models::Journeys::TemplateRetrieveContentParams} for more details.
31
+ #
32
+ # @param template_id [String]
33
+ #
34
+ # @param notification_id [String]
35
+ #
36
+ # @param version [String] Accepts `draft`, `published`, or a version string (e.g., `v001`). Defaults to `p
37
+ #
38
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::PreferenceSections#archive
6
+ class PreferenceSectionArchiveParams < Courier::Internal::Type::BaseModel
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!attribute section_id
11
+ #
12
+ # @return [String]
13
+ required :section_id, String
14
+
15
+ # @!method initialize(section_id:, request_options: {})
16
+ # @param section_id [String]
17
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::PreferenceSections#create
6
+ class PreferenceSectionCreateParams < Courier::Models::PreferenceSectionCreateRequest
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ class PreferenceSectionCreateRequest < Courier::Internal::Type::BaseModel
6
+ # @!attribute name
7
+ # Human-readable name for the section.
8
+ #
9
+ # @return [String]
10
+ required :name, String
11
+
12
+ # @!attribute has_custom_routing
13
+ # Whether the section defines custom routing for its topics.
14
+ #
15
+ # @return [Boolean, nil]
16
+ optional :has_custom_routing, Courier::Internal::Type::Boolean, nil?: true
17
+
18
+ # @!attribute routing_options
19
+ # Default channels for the section. Defaults to empty if omitted.
20
+ #
21
+ # @return [Array<Symbol, Courier::Models::ChannelClassification>, nil]
22
+ optional :routing_options,
23
+ -> { Courier::Internal::Type::ArrayOf[enum: Courier::ChannelClassification] },
24
+ nil?: true
25
+
26
+ # @!method initialize(name:, has_custom_routing: nil, routing_options: nil)
27
+ # Request body for creating a preference section.
28
+ #
29
+ # @param name [String] Human-readable name for the section.
30
+ #
31
+ # @param has_custom_routing [Boolean, nil] Whether the section defines custom routing for its topics.
32
+ #
33
+ # @param routing_options [Array<Symbol, Courier::Models::ChannelClassification>, nil] Default channels for the section. Defaults to empty if omitted.
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::PreferenceSections#create
6
+ class PreferenceSectionGetResponse < Courier::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The preference section id.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created
14
+ # ISO-8601 timestamp of when the section was created.
15
+ #
16
+ # @return [String]
17
+ required :created, String
18
+
19
+ # @!attribute has_custom_routing
20
+ # Whether the section defines custom routing for its topics.
21
+ #
22
+ # @return [Boolean]
23
+ required :has_custom_routing, Courier::Internal::Type::Boolean
24
+
25
+ # @!attribute name
26
+ # Human-readable name.
27
+ #
28
+ # @return [String]
29
+ required :name, String
30
+
31
+ # @!attribute routing_options
32
+ # Default channels for the section. May be empty.
33
+ #
34
+ # @return [Array<Symbol, Courier::Models::ChannelClassification>]
35
+ required :routing_options, -> { Courier::Internal::Type::ArrayOf[enum: Courier::ChannelClassification] }
36
+
37
+ # @!attribute topics
38
+ # The topics contained in this section.
39
+ #
40
+ # @return [Array<Courier::Models::PreferenceTopicGetResponse>]
41
+ required :topics, -> { Courier::Internal::Type::ArrayOf[Courier::PreferenceTopicGetResponse] }
42
+
43
+ # @!attribute creator
44
+ # Id of the creator.
45
+ #
46
+ # @return [String, nil]
47
+ optional :creator, String, nil?: true
48
+
49
+ # @!attribute updated
50
+ # ISO-8601 timestamp of the last update.
51
+ #
52
+ # @return [String, nil]
53
+ optional :updated, String, nil?: true
54
+
55
+ # @!attribute updater
56
+ # Id of the last updater.
57
+ #
58
+ # @return [String, nil]
59
+ optional :updater, String, nil?: true
60
+
61
+ # @!method initialize(id:, created:, has_custom_routing:, name:, routing_options:, topics:, creator: nil, updated: nil, updater: nil)
62
+ # A preference section in your workspace, including its topics.
63
+ #
64
+ # @param id [String] The preference section id.
65
+ #
66
+ # @param created [String] ISO-8601 timestamp of when the section was created.
67
+ #
68
+ # @param has_custom_routing [Boolean] Whether the section defines custom routing for its topics.
69
+ #
70
+ # @param name [String] Human-readable name.
71
+ #
72
+ # @param routing_options [Array<Symbol, Courier::Models::ChannelClassification>] Default channels for the section. May be empty.
73
+ #
74
+ # @param topics [Array<Courier::Models::PreferenceTopicGetResponse>] The topics contained in this section.
75
+ #
76
+ # @param creator [String, nil] Id of the creator.
77
+ #
78
+ # @param updated [String, nil] ISO-8601 timestamp of the last update.
79
+ #
80
+ # @param updater [String, nil] Id of the last updater.
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::PreferenceSections#list
6
+ class PreferenceSectionListParams < Courier::Internal::Type::BaseModel
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::PreferenceSections#list
6
+ class PreferenceSectionListResponse < Courier::Internal::Type::BaseModel
7
+ # @!attribute results
8
+ #
9
+ # @return [Array<Courier::Models::PreferenceSectionGetResponse>]
10
+ required :results, -> { Courier::Internal::Type::ArrayOf[Courier::PreferenceSectionGetResponse] }
11
+
12
+ # @!method initialize(results:)
13
+ # The workspace's preference sections, each with its topics.
14
+ #
15
+ # @param results [Array<Courier::Models::PreferenceSectionGetResponse>]
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::PreferenceSections#publish
6
+ class PreferenceSectionPublishParams < Courier::Internal::Type::BaseModel
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::PreferenceSections#replace
6
+ class PreferenceSectionReplaceParams < Courier::Models::PreferenceSectionReplaceRequest
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!attribute section_id
11
+ #
12
+ # @return [String]
13
+ required :section_id, String
14
+
15
+ # @!method initialize(section_id:, request_options: {})
16
+ # @param section_id [String]
17
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ class PreferenceSectionReplaceRequest < Courier::Internal::Type::BaseModel
6
+ # @!attribute name
7
+ # Human-readable name for the section.
8
+ #
9
+ # @return [String]
10
+ required :name, String
11
+
12
+ # @!attribute has_custom_routing
13
+ # Whether the section defines custom routing for its topics.
14
+ #
15
+ # @return [Boolean, nil]
16
+ optional :has_custom_routing, Courier::Internal::Type::Boolean, nil?: true
17
+
18
+ # @!attribute routing_options
19
+ # Default channels for the section. Omit to clear.
20
+ #
21
+ # @return [Array<Symbol, Courier::Models::ChannelClassification>, nil]
22
+ optional :routing_options,
23
+ -> { Courier::Internal::Type::ArrayOf[enum: Courier::ChannelClassification] },
24
+ nil?: true
25
+
26
+ # @!method initialize(name:, has_custom_routing: nil, routing_options: nil)
27
+ # Request body for replacing a preference section. Full document replacement;
28
+ # missing optional fields are cleared.
29
+ #
30
+ # @param name [String] Human-readable name for the section.
31
+ #
32
+ # @param has_custom_routing [Boolean, nil] Whether the section defines custom routing for its topics.
33
+ #
34
+ # @param routing_options [Array<Symbol, Courier::Models::ChannelClassification>, nil] Default channels for the section. Omit to clear.
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ # @see Courier::Resources::PreferenceSections#retrieve
6
+ class PreferenceSectionRetrieveParams < Courier::Internal::Type::BaseModel
7
+ extend Courier::Internal::Type::RequestParameters::Converter
8
+ include Courier::Internal::Type::RequestParameters
9
+
10
+ # @!attribute section_id
11
+ #
12
+ # @return [String]
13
+ required :section_id, String
14
+
15
+ # @!method initialize(section_id:, request_options: {})
16
+ # @param section_id [String]
17
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ module PreferenceSections
6
+ # @see Courier::Resources::PreferenceSections::Topics#archive
7
+ class TopicArchiveParams < Courier::Internal::Type::BaseModel
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ # @!attribute section_id
12
+ #
13
+ # @return [String]
14
+ required :section_id, String
15
+
16
+ # @!attribute topic_id
17
+ #
18
+ # @return [String]
19
+ required :topic_id, String
20
+
21
+ # @!method initialize(section_id:, topic_id:, request_options: {})
22
+ # @param section_id [String]
23
+ # @param topic_id [String]
24
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ module PreferenceSections
6
+ # @see Courier::Resources::PreferenceSections::Topics#create
7
+ class TopicCreateParams < Courier::Models::PreferenceTopicCreateRequest
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ # @!attribute section_id
12
+ #
13
+ # @return [String]
14
+ required :section_id, String
15
+
16
+ # @!method initialize(section_id:, request_options: {})
17
+ # @param section_id [String]
18
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ module PreferenceSections
6
+ # @see Courier::Resources::PreferenceSections::Topics#list
7
+ class TopicListParams < Courier::Internal::Type::BaseModel
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ # @!attribute section_id
12
+ #
13
+ # @return [String]
14
+ required :section_id, String
15
+
16
+ # @!method initialize(section_id:, request_options: {})
17
+ # @param section_id [String]
18
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ module PreferenceSections
6
+ # @see Courier::Resources::PreferenceSections::Topics#replace
7
+ class TopicReplaceParams < Courier::Models::PreferenceTopicReplaceRequest
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ # @!attribute section_id
12
+ #
13
+ # @return [String]
14
+ required :section_id, String
15
+
16
+ # @!attribute topic_id
17
+ #
18
+ # @return [String]
19
+ required :topic_id, String
20
+
21
+ # @!method initialize(section_id:, topic_id:, request_options: {})
22
+ # @param section_id [String]
23
+ # @param topic_id [String]
24
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ module PreferenceSections
6
+ # @see Courier::Resources::PreferenceSections::Topics#retrieve
7
+ class TopicRetrieveParams < Courier::Internal::Type::BaseModel
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ # @!attribute section_id
12
+ #
13
+ # @return [String]
14
+ required :section_id, String
15
+
16
+ # @!attribute topic_id
17
+ #
18
+ # @return [String]
19
+ required :topic_id, String
20
+
21
+ # @!method initialize(section_id:, topic_id:, request_options: {})
22
+ # @param section_id [String]
23
+ # @param topic_id [String]
24
+ # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
25
+ end
26
+ end
27
+ end
28
+ end