Class: RailsApiKeys::UI::ApiKeysController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ApplicationController
- RailsApiKeys::UI::ApiKeysController
- Defined in:
- app/controllers/rails_api_keys/ui/api_keys_controller.rb
Overview
HTML + JSON API key management (index / create / destroy).
Instance Method Summary collapse
Instance Method Details
#create ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'app/controllers/rails_api_keys/ui/api_keys_controller.rb', line 20 def create (:create, RailsApiKeys::ApiKey.new(owner: @api_key_owner)) api_key, raw_token = @api_key_owner.create_api_key!( name: api_key_params[:name], permission: api_key_params[:permission] ) respond_to do |format| format.html do flash[raw_token_flash_key] = raw_token redirect_back_after_change notice: t(".created") end format.json do render json: serialize_key(api_key).merge(raw_token: raw_token), status: :created end end rescue ActiveRecord::RecordInvalid => e respond_to do |format| format.html do redirect_back_after_change alert: e.record.errors..join(", ") end format.json do render json: { errors: e.record.errors. }, status: :unprocessable_content end end end |
#destroy ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 |
# File 'app/controllers/rails_api_keys/ui/api_keys_controller.rb', line 48 def destroy (:destroy, @api_key) @api_key.revoke! respond_to do |format| format.html do redirect_back_after_change notice: t(".revoked") end format.json { head :no_content } end end |
#index ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'app/controllers/rails_api_keys/ui/api_keys_controller.rb', line 10 def index (:index, RailsApiKeys::ApiKey) @api_keys = api_keys_scope.order(created_at: :desc) respond_to do |format| format.html format.json { render json: @api_keys.map { |key| serialize_key(key) } } end end |