Method: Courier::ListsClient#update

Defined in:
lib/trycourier/lists/client.rb

#update(list_id:, request:, request_options: nil) ⇒ Lists::List

Create or replace an existing list with the supplied values.

Parameters:

  • list_id (String)

    A unique identifier representing the list you wish to retrieve.

  • request (Hash)

    Request of type Lists::ListPutParams, as a Hash

    • :name (String)

    • :preferences (Hash)

      • :categories (Commons::NOTIFICATION_PREFERENCES)

      • :notifications (Commons::NOTIFICATION_PREFERENCES)

  • request_options (RequestOptions) (defaults to: nil)

Returns:



73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/trycourier/lists/client.rb', line 73

def update(list_id:, request:, request_options: nil)
  response = @request_client.conn.put("/lists/#{list_id}") do |req|
    req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
    unless request_options&.authorization_token.nil?
      req.headers["Authorization"] =
        request_options.authorization_token
    end
    req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
    req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
  end
  Lists::List.from_json(json_object: response.body)
end