class Thoth::PostApiController
Public Instance Methods
check_name()
click to toggle source
Returns a response indicating whether the specified post name is valid and not already taken. Returns an HTTP 200 response on success or an HTTP 500 response on error.
Query Parameters¶ ↑
- name
-
post name to check
Sample Response¶ ↑
{"valid":true,"unique":true}
# File lib/thoth/controller/api/post.rb, line 46 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 => Post.name_valid?(name), :unique => Post.name_unique?(name) }) end
delete()
click to toggle source
Deletes the specified comment. Returns an HTTP 200 response on success, an HTTP 500 response on error, or an HTTP 404 response if the specified comment does not exist.
Query Parameters (POST only)¶ ↑
- id
-
comment id
- token
-
form token
Sample Response¶ ↑
Success¶ ↑
{"success":true}
Failure¶ ↑
{"error":"The comment could not be deleted due to a database error."}
# File lib/thoth/controller/api/post.rb, line 82 def delete error_403 unless auth_key_valid? && form_token_valid? error_405 unless request.post? error_404 unless request[:id] && @comment = Comment[request[:id]] response['Content-Type'] = 'application/json' if @comment.destroy Ramaze::Cache.action.clear JSON.generate({:success => true}) else respond(JSON.generate({ :error => 'The comment could not be deleted due to a database error.' }, 500)) end end
suggest_name()
click to toggle source
Suggests a valid and unique name for the specified post title. Returns an HTTP 200 response on success or an HTTP 500 response on error.
Query Parameters¶ ↑
- title
-
post title
Sample Response¶ ↑
{"name":"ninjas-are-awesome"}
# File lib/thoth/controller/api/post.rb, line 110 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" => Post.suggest_name(request[:title])}) end