Sha256: f9e7590d25e34e7f85fc8e986ac396f49d3c868be4a889f63b8874192daf3032
Contents?: true
Size: 1.09 KB
Versions: 8
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true module Decidim module Votings module Census module Admin # A command to launch the access codes generation class LaunchAccessCodesGeneration < Decidim::Command def initialize(dataset, user) @dataset = dataset @user = user end # Executes the command. Broadcast this events: # - :ok when everything is valid # - :invalid when the user is not present # # Returns nothing. def call return broadcast(:invalid) unless valid? update_dataset_status(dataset, :generating_codes, user) GenerateAccessCodesJob.perform_later(dataset, user) broadcast(:ok) end attr_reader :user, :dataset private def valid? user.present? && dataset&.data&.exists? && dataset.data_created? end def update_dataset_status(dataset, status, user) UpdateDataset.call(dataset, { status: }, user) end end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems