# frozen_string_literal: true
module ESM
module Command
module Request
class Accept < ApplicationCommand
#################################
#
# Arguments (required first, then order matters)
#
# Required: Duh
argument :uuid, required: true, checked_against: /[0-9a-fA-F]{4}/
#
# Configuration
#
change_attribute :enabled, modifiable: false
change_attribute :allowed_in_text_channels, default: false
change_attribute :allowlist_enabled, modifiable: false
command_type :player
#################################
def on_execute
request = current_user.pending_requests.where(uuid_short: arguments.uuid).first
check_for_request!(request)
request.respond(true)
end
private
def check_for_request!(request)
raise_error!(:invalid_request_id, user: current_user.mention) if request.nil?
end
end
end
end
end