Files
codeocean/app/controllers/consumers_controller.rb
2021-05-14 22:03:06 +02:00

52 lines
1.0 KiB
Ruby

# frozen_string_literal: true
class ConsumersController < ApplicationController
include CommonBehavior
before_action :set_consumer, only: MEMBER_ACTIONS
def authorize!
authorize(@consumer || @consumers)
end
private :authorize!
def create
@consumer = Consumer.new(consumer_params)
authorize!
create_and_respond(object: @consumer)
end
def destroy
destroy_and_respond(object: @consumer)
end
def edit; end
def consumer_params
params[:consumer].permit(:name, :oauth_key, :oauth_secret) if params[:consumer].present?
end
private :consumer_params
def index
@consumers = Consumer.paginate(page: params[:page])
authorize!
end
def new
@consumer = Consumer.new(oauth_key: SecureRandom.hex, oauth_secret: SecureRandom.hex)
authorize!
end
def set_consumer
@consumer = Consumer.find(params[:id])
authorize!
end
private :set_consumer
def show; end
def update
update_and_respond(object: @consumer, params: consumer_params)
end
end