Sha256: 9f0ea726f2d979c6d2588da066c3f1ee89d3035385f4e0a938ecb24912f5bab3
Contents?: true
Size: 931 Bytes
Versions: 2
Compression:
Stored size: 931 Bytes
Contents
# frozen_string_literal: true module Decidim class DataPortabilityExportJob < ApplicationJob queue_as :default def perform(user, export_format = ::Decidim::DataPortabilityExporter::DEFAULT_EXPORT_FORMAT) filename = "#{SecureRandom.urlsafe_base64}.zip" path = Rails.root.join("tmp/#{filename}") password = SecureRandom.urlsafe_base64 generate_zip_file(user, path, password, export_format) save_or_upload_file(user, path) ExportMailer.data_portability_export(user, filename, password).deliver_later # Deletes temporary file File.delete(path) end private def generate_zip_file(user, path, password, export_format) DataPortabilityExporter.new(user, path, password, export_format).export end def save_or_upload_file(user, path) user.data_portability_file.attach(io: File.open(path, "rb"), filename: File.basename(path)) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
decidim-core-0.26.10 | app/jobs/decidim/data_portability_export_job.rb |
decidim-core-0.26.9 | app/jobs/decidim/data_portability_export_job.rb |