houdini/app/controllers/image_attachments_controller.rb
2020-06-15 10:26:57 -05:00

36 lines
1,006 B
Ruby

# frozen_string_literal: true
# License: AGPL-3.0-or-later WITH WTO-AP-3.0-or-later
# Full license explanation at https://github.com/houdiniproject/houdini/blob/master/LICENSE
class ImageAttachmentsController < ApplicationController
before_action :authenticate_confirmed_user!
def create
# must return json with a link attr
# http://editor.froala.com/server-integrations/php-image-upload
@image = ImageAttachment.new(clean_params_create)
if @image.save
render json: { link: url_for(@image.file) }
else
render json: @image.errors.full_messages, status: :unprocessable_entity
end
end
def remove
@image = ImageAttachment.select { |img| url_for(img.file) == clean_params_remove[:src] }.first
if @image
@image.destroy
render json: @image
else
render json: {}, status: :unprocessable_entity
end
end
private
def clean_params_create
params.require(:file)
end
def clean_params_remove
params.require(:src)
end
end