Files
baclight/app/controllers/id_card/employer_logos_controller.rb
2026-05-06 13:28:16 -04:00

61 lines
1.5 KiB
Ruby

module IdCard
class EmployerLogosController < ApplicationController
# View Methods
def index
end
def show
end
def new
end
def create
file = logo_params["logo_file"]
employer_id = logo_params["employer_id"]
employer = Employer.find(employer_id)
setup = employer.id_card_setup
if setup.present? && file.present? && file.is_a?(ActionDispatch::Http::UploadedFile)
filename = file.original_filename
# binary_data = file.read
binary_data = File.binread(file)
meme_type = Marcel::MimeType.for(file)
employer_logo = IdCard::EmployerLogo.find_or_create_by(filename: filename, setup_id: setup.id)
employer_logo.update(image_data: binary_data)
render json: employer_logo, only: [:id], status: :ok
end
end
def edit
end
def update
end
def destroy
end
# API Methods
def image
logo_file = IdCard::EmployerLogo.find(params[:id])
puts params[:id]
logo_binary = logo_file.image_data
logo_filename = logo_file.filename
send_data logo_binary,
filename: logo_filename,
disposition: 'inline'
end
private
def logo_params
params.require(:id_card_employer_logo).permit(:logo_file, :employer_id)
end
end
end