Class: Courier::Resources::WorkspacePreferences
- Inherits:
-
Object
- Object
- Courier::Resources::WorkspacePreferences
- Defined in:
- lib/courier/resources/workspace_preferences.rb,
lib/courier/resources/workspace_preferences/topics.rb,
sig/courier/resources/workspace_preferences.rbs,
sig/courier/resources/workspace_preferences/topics.rbs
Defined Under Namespace
Classes: Topics
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#archive(section_id, request_options: {}) ⇒ nil
Archive a workspace preference.
-
#create(name:, description: nil, has_custom_routing: nil, routing_options: nil, request_options: {}) ⇒ Courier::Models::WorkspacePreferenceGetResponse
Create a workspace preference.
-
#initialize(client:) ⇒ WorkspacePreferences
constructor
private
A new instance of WorkspacePreferences.
-
#list(request_options: {}) ⇒ Courier::Models::WorkspacePreferenceListResponse
List the workspace's preferences.
-
#publish(brand_id: nil, description: nil, heading: nil, request_options: {}) ⇒ Courier::Models::PublishPreferencesResponse
Some parameter documentations has been truncated, see Models::WorkspacePreferencePublishParams for more details.
-
#replace(section_id, name:, description: nil, has_custom_routing: nil, routing_options: nil, request_options: {}) ⇒ Courier::Models::WorkspacePreferenceGetResponse
Some parameter documentations has been truncated, see Models::WorkspacePreferenceReplaceParams for more details.
-
#retrieve(section_id, request_options: {}) ⇒ Courier::Models::WorkspacePreferenceGetResponse
Retrieve a workspace preference by id, including its topics.
Constructor Details
#initialize(client:) ⇒ WorkspacePreferences
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of WorkspacePreferences.
167 168 169 170 |
# File 'lib/courier/resources/workspace_preferences.rb', line 167 def initialize(client:) @client = client @topics = Courier::Resources::WorkspacePreferences::Topics.new(client: client) end |
Instance Attribute Details
#topics ⇒ Courier::Resources::WorkspacePreferences::Topics (readonly)
7 8 9 |
# File 'lib/courier/resources/workspace_preferences.rb', line 7 def topics @topics end |
Instance Method Details
#archive(section_id, request_options: {}) ⇒ nil
Archive a workspace preference. The workspace preference must be empty: delete its topics first, otherwise the request fails with 409.
90 91 92 93 94 95 96 97 |
# File 'lib/courier/resources/workspace_preferences.rb', line 90 def archive(section_id, params = {}) @client.request( method: :delete, path: ["preferences/sections/%1$s", section_id], model: NilClass, options: params[:request_options] ) end |
#create(name:, description: nil, has_custom_routing: nil, routing_options: nil, request_options: {}) ⇒ Courier::Models::WorkspacePreferenceGetResponse
Create a workspace preference. The workspace preference id is generated and returned. Topics are created inside a workspace preference via POST /preferences/sections/section_id/topics.
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/courier/resources/workspace_preferences.rb', line 28 def create(params) parsed, = Courier::WorkspacePreferenceCreateParams.dump_request(params) @client.request( method: :post, path: "preferences/sections", body: parsed, model: Courier::WorkspacePreferenceGetResponse, options: ) end |
#list(request_options: {}) ⇒ Courier::Models::WorkspacePreferenceListResponse
List the workspace's preferences. Each workspace preference embeds its topics. Scoped to the workspace of the API key.
69 70 71 72 73 74 75 76 |
# File 'lib/courier/resources/workspace_preferences.rb', line 69 def list(params = {}) @client.request( method: :get, path: "preferences/sections", model: Courier::WorkspacePreferenceListResponse, options: params[:request_options] ) end |
#publish(brand_id: nil, description: nil, heading: nil, request_options: {}) ⇒ Courier::Models::PublishPreferencesResponse
Some parameter documentations has been truncated, see Models::WorkspacePreferencePublishParams for more details.
Publish the workspace's preferences page. Takes a snapshot of every workspace preference with its topics under a new published version, making the current state visible on the hosted preferences page (non-draft).
119 120 121 122 123 124 125 126 127 128 |
# File 'lib/courier/resources/workspace_preferences.rb', line 119 def publish(params = {}) parsed, = Courier::WorkspacePreferencePublishParams.dump_request(params) @client.request( method: :post, path: "preferences/publish", body: parsed, model: Courier::PublishPreferencesResponse, options: ) end |
#replace(section_id, name:, description: nil, has_custom_routing: nil, routing_options: nil, request_options: {}) ⇒ Courier::Models::WorkspacePreferenceGetResponse
Some parameter documentations has been truncated, see Models::WorkspacePreferenceReplaceParams for more details.
Replace a workspace preference. Full document replacement; missing optional fields are cleared. Topics attached to the workspace preference are unaffected.
153 154 155 156 157 158 159 160 161 162 |
# File 'lib/courier/resources/workspace_preferences.rb', line 153 def replace(section_id, params) parsed, = Courier::WorkspacePreferenceReplaceParams.dump_request(params) @client.request( method: :put, path: ["preferences/sections/%1$s", section_id], body: parsed, model: Courier::WorkspacePreferenceGetResponse, options: ) end |
#retrieve(section_id, request_options: {}) ⇒ Courier::Models::WorkspacePreferenceGetResponse
Retrieve a workspace preference by id, including its topics.
50 51 52 53 54 55 56 57 |
# File 'lib/courier/resources/workspace_preferences.rb', line 50 def retrieve(section_id, params = {}) @client.request( method: :get, path: ["preferences/sections/%1$s", section_id], model: Courier::WorkspacePreferenceGetResponse, options: params[:request_options] ) end |