Support for per-user API keys

This commit is contained in:
Robin Ward
2013-10-22 15:53:08 -04:00
parent 5e2d8dcf37
commit 348e2e3ef2
45 changed files with 670 additions and 87 deletions
+22 -4
View File
@@ -1,10 +1,28 @@
class Admin::ApiController < Admin::AdminController
def index
render json: {key: SiteSetting.api_key}
render_serialized(ApiKey.all, ApiKeySerializer)
end
def generate_key
SiteSetting.generate_api_key!
render json: {key: SiteSetting.api_key}
def regenerate_key
api_key = ApiKey.where(id: params[:id]).first
raise Discourse::NotFound.new if api_key.blank?
api_key.regenerate!(current_user)
render_serialized(api_key, ApiKeySerializer)
end
def revoke_key
api_key = ApiKey.where(id: params[:id]).first
raise Discourse::NotFound.new if api_key.blank?
api_key.destroy
render nothing: true
end
def create_master_key
api_key = ApiKey.create_master_key
render_serialized(api_key, ApiKeySerializer)
end
end