Sha256: 1091f302b9f9f2e8706349c3e848a5fb8ab7ec7532036fef807db4fc24fd786e

Contents?: true

Size: 1.35 KB

Versions: 2

Compression:

Stored size: 1.35 KB

Contents

require_dependency 'master_api_key/application_controller'

module MasterApiKey
  class ApiKeysController < ApplicationController
    belongs_to_api_group :master_key
    skip_before_filter  :verify_authenticity_token
    before_filter :authorize_action

    # POST /api_keys
    def create
      begin
        @api_key = ApiKey.create! do |api_key|
          api_key.group = group_param
        end
        render json: { apiKey: @api_key}, status: :created
      rescue ActionController::ParameterMissing => e
        respond_with_error(e.message, :bad_request)
      end
    end

    # DELETE /api_keys/1
    def destroy
      begin
        ApiKey.delete_all(['id = ?', access_id_param])
        head :ok
      rescue ActionController::ParameterMissing => e
        respond_with_error(e.message, :bad_request)
      end
    end

    # DELETE /api_keys
    def destroy_by_access_token
      begin
        Rails.logger.warn "the api token is #{access_token_param}"
        ApiKey.delete_all(['api_token = ?', access_token_param])
        head :ok
      rescue ActionController::ParameterMissing => e
        respond_with_error(e.message, :bad_request)
      end
    end

    private

    def group_param
      params.require(:group)
    end

    def access_token_param
      params.require(:api_token)
    end

    def access_id_param
      params.require(:id)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
master_api_key-1.2.0 app/controllers/master_api_key/api_keys_controller.rb
master_api_key-1.1.1 app/controllers/master_api_key/api_keys_controller.rb