class Decidim::Meetings::Admin::UpdateMinutes

panel.
This command is executed when the user changes a Minutes from the admin

def call

Broadcasts :ok if successful, :invalid otherwise.

Updates the minute if valid.
def call
  return broadcast(:invalid) if form.invalid?
  transaction do
    update_minutes!
  end
  broadcast(:ok, minutes)
end

def initialize(form, current_meeting, minutes)

minutes - The current instance of the minutes to be updated.
current_meeting - The current instance of the meeting.
form - The form from which to get the data.

Initializes a UpdateMinutes Command.
def initialize(form, current_meeting, minutes)
  @form = form
  @current_meeting = current_meeting
  @minutes = minutes
end

def update_minutes!

def update_minutes!
  log_info = {
    resource: {
      title: @current_meeting.title
    },
    participatory_space: {
      title: @current_meeting.participatory_space.title
    }
  }
  @minutes = Decidim.traceability.update!(
    minutes,
    form.current_user,
    {
      description: form.description,
      video_url: form.video_url,
      audio_url: form.audio_url,
      visible: form.visible,
      meeting: current_meeting
    },
    log_info
  )
end