class Decidim::Meetings::DeclineInvitation

This command is executed when the user declines an invite to the meeting.

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_decline_invitation?
  decline_invitation
  broadcast(:ok)
end

def can_decline_invitation?

def can_decline_invitation?
  meeting.registrations_enabled? && invitation.present?
end

def decline_invitation

def decline_invitation
  invitation.decline!
end

def initialize(meeting, user)

user - The user that declines their invitation
meeting - The current instance of the meeting where user has been invited.

Initializes a DeclineInvitation Command.
def initialize(meeting, user)
  @meeting = meeting
  @user = user
end

def invitation

def invitation
  @invitation ||= meeting.invites.find_by(user:)
end