Newer
Older
class V1::LearningObjects::AttachmentController < ApplicationController
before_action :set_objects
before_action :authorize!
# DELETE /learning_objects/:learning_object_id/attachments/:id
def destroy
return render status: :not_found if @learning_object.nil? || @attachment.nil?
DeleteBitstreamWorker.perform_async(@attachment.id)
@attachment.destroy
render status: :ok
end
private
def attachment_params
params.permit(:learning_object_id, :id)
end
def set_objects
@learning_object = LearningObject.find(attachment_params[:learning_object_id])
@attachment = LearningObject::Attachment.find(attachment_params[:id])
return render status: :unauthorized unless @learning_object.attachments.include? @attachment
authorize(@learning_object, :destroy?)
end
end