Sha256: a758c57495699914a982639651f714c14d1a2b88c08b0b37b2fe863df9e89e6e

Contents?: true

Size: 1.3 KB

Versions: 7

Compression:

Stored size: 1.3 KB

Contents

# frozen_string_literal: true
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
require File.expand_path('../../lib/discourse_api', __FILE__)

config = DiscourseApi::ExampleHelper.load_yml

client = DiscourseApi::Client.new(config['host'] || 'http://localhost:3000')
client.api_key = config['api_key'] || "YOUR_API_KEY"
client.api_username = config['api_username'] || "YOUR_USERNAME"

response = client.create_topic(
    category: 1,
    skip_validations: true,
    auto_track: false,
    title: "Concert Master: A new way to choose",
    raw: "This is the raw markdown for my post"
)

# get topic_id and topic_slug from response
topic_id = response['topic_id']
topic_slug = response['topic_slug']

##
# available options (guessing from reading discourse source)
# status can be: ['autoclose', 'closed', 'archived', 'disabled', 'visible']
# enabled can be: [true, false]
##

# lock topic (note: api_username determines user that is performing action)
params = { status: 'closed', enabled: true, api_username: "YOUR USERNAME/USERS USERNAME" }
client.change_topic_status(topic_slug, topic_id, params)

# unlock topic (note: api_username determines user that is performing action)
params = { status: 'closed', enabled: false, api_username: "YOUR USERNAME/USERS USERNAME" }
client.change_topic_status(topic_slug, topic_id, params)

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
discourse_api-0.42.0 examples/change_topic_status.rb
discourse_api-0.41.0 examples/change_topic_status.rb
discourse_api-0.40.0 examples/change_topic_status.rb
discourse_api-0.39.3 examples/change_topic_status.rb
discourse_api-0.39.2 examples/change_topic_status.rb
discourse_api-0.39.1 examples/change_topic_status.rb
discourse_api-0.39.0 examples/change_topic_status.rb