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