class ReportDownloadsController < ApplicationController
  include ProjectContext

  before_action :set_project, only: [:index, :create]

  include ProjectLayout

  def create
    authorize(Download)

    name = "#{@project.name.parameterize}_#{Time.now.strftime('%Y-%m-%d_%H-%M-%S')}"
    download = @project.downloads.create!(name: name, release_type: "reports")

    ProjectsChannel.broadcast_download_generation_update(download, I18n.t("report_downloads.download.pending"))
    GenerateReportsZipJob.perform_later(@project, download, name)
  end
end
