class Thoth::PageApiController
Public Instance Methods
check_name()
click to toggle source
Returns a response indicating whether the specified page name is valid and not already taken. Returns an HTTP 200 response on success.
Query Parameters¶ ↑
- name
-
page name to check
Sample Response¶ ↑
{"valid":true,"unique":true}
# File lib/thoth/controller/api/page.rb, line 45 def check_name error_403 unless auth_key_valid? unless request[:name] && request[:name].length > 0 error_400('Missing required parameter: name') end response['Content-Type'] = 'application/json' name = request[:name].to_s JSON.generate({ :valid => Page.name_valid?(name), :unique => Page.name_unique?(name) }) end
set_position()
click to toggle source
Sets the display position of the specified page. If the new position is already in use by another page, that page's position (and any others) will be adjusted as necessary. Returns an HTTP 200 response on success. This action only accepts POST requests.
POST Parameters¶ ↑
- id
-
page id
- position
-
new display position
Sample Response¶ ↑
Indicates that the display position for page id 42 was successfully set to 3.
{"id":42,"position":3}
# File lib/thoth/controller/api/page.rb, line 102 def set_position error_403 unless auth_key_valid? error_405 unless request.post? [:id, :position].each do |param| unless request[param] && request[param].length > 0 error_400("Missing required parameter: #{param}") end end id = request[:id].to_i position = request[:position].to_i unless page = Page[id] error_400("Invalid page id: #{id}") end begin Page.normalize_positions Page.set_position(page, position) rescue => e error_400("Error setting page position: #{e}") end JSON.generate({ :id => id, :position => position }) end
suggest_name()
click to toggle source
Suggests a valid and unique name for the specified page title. Returns an HTTP 200 response on success.
Query Parameters¶ ↑
- title
-
page title
Sample Response¶ ↑
{"name":"ninjas-are-awesome"}
# File lib/thoth/controller/api/page.rb, line 73 def suggest_name error_403 unless auth_key_valid? unless request[:title] && request[:title].length > 0 error_400('Missing required parameter: title') end response['Content-Type'] = 'application/json' JSON.generate({"name" => Page.suggest_name(request[:title])}) end