discourse/app/controllers/admin/api_controller.rb

31 lines
670 B
Ruby

# frozen_string_literal: true
class Admin::ApiController < Admin::AdminController
def index
render_serialized(ApiKey.where(hidden: false).to_a, ApiKeySerializer)
end
def regenerate_key
api_key = ApiKey.find_by(id: params[:id])
raise Discourse::NotFound if api_key.blank?
api_key.regenerate!(current_user)
render_serialized(api_key, ApiKeySerializer)
end
def revoke_key
api_key = ApiKey.find_by(id: params[:id])
raise Discourse::NotFound if api_key.blank?
api_key.destroy
render body: nil
end
def create_master_key
api_key = ApiKey.create_master_key
render_serialized(api_key, ApiKeySerializer)
end
end