1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-13 23:48:55 +01:00
fab-manager/app/workers/availabilities_export_worker.rb

28 lines
735 B
Ruby
Raw Normal View History

2017-03-02 12:34:28 +01:00
class AvailabilitiesExportWorker
2017-03-02 12:34:16 +01:00
include Sidekiq::Worker
def perform(export_id)
export = Export.find(export_id)
unless export.user.is_admin?
raise SecurityError, 'Not allowed to export'
end
2017-03-02 12:34:28 +01:00
unless export.category == 'availabilities'
2017-03-02 12:34:16 +01:00
raise KeyError, 'Wrong worker called'
end
2017-03-02 12:34:28 +01:00
service = AvailabilitiesExportService.new
2017-03-02 12:34:16 +01:00
method_name = "export_#{export.export_type}"
2017-03-02 12:34:28 +01:00
if %w(index).include?(export.export_type) and service.respond_to?(method_name)
2017-03-02 12:34:16 +01:00
service.public_send(method_name, export)
NotificationCenter.call type: :notify_admin_export_complete,
receiver: export.user,
attached_object: export
end
end
end