LearnPulse / app /controllers /markdown_attachments_controller.rb
Nambinintsoa Rovatiana RAMAROSON
first commit
874ae95
Raw
History Blame Contribute Delete
936 Bytes
class MarkdownAttachmentsController < ApplicationController
before_action :authenticate_user!, only: %i[create]
# POST /markdown_attachments
def create
form = MarkdownAttachments::CreateForm.new(authorize(MarkdownAttachment.new))
form.current_user = current_user
if form.validate(params[:markdown_attachment])
markdown_attachment = form.save
embed_code = MarkdownAttachments::EmbedCodeService.new(markdown_attachment, view_context).embed_code
render json: { errors: [], markdownEmbedCode: embed_code }
else
render json: { errors: form.errors.full_messages }
end
end
# GET /:id/:token
def download
markdown_attachment = authorize(MarkdownAttachment.where(token: params[:token]).find(params[:id]))
markdown_attachment.update!(last_accessed_at: Time.zone.now)
redirect_to(view_context.rails_public_blob_url(markdown_attachment.file), allow_other_host: true)
end
end