class Decidim::Meetings::JoinMeeting

def call

Broadcasts :ok if successful, :invalid otherwise.

and there are available slots.
Creates a meeting registration if the meeting has registrations enabled
def call
  return broadcast(:invalid) unless can_join_meeting?
  return broadcast(:invalid_form) unless registration_form.valid?
  return broadcast(:invalid) if answer_questionnaire == :invalid
  meeting.with_lock do
    create_registration
    accept_invitation
    send_email_confirmation
    send_notification_confirmation
    notify_admin_over_percentage
    increment_score
  end
  follow_meeting
  broadcast(:ok)
end