# frozen_string_literal: true

# License: AGPL-3.0-or-later WITH WTO-AP-3.0-or-later
# Full license explanation at https://github.com/houdiniproject/houdini/blob/master/LICENSE
class EventDiscountsController < ApplicationController
  include Controllers::Event::Current
  include Controllers::Event::Authorization
  before_action :authenticate_event_editor!, except: [:index]

  def create
    render json: { data: {event_discount: current_event.event_discounts.create(event_discount_params[:event_discount]) } }
  end

  def index
    render json: QueryEventDiscounts.with_event_ids([current_event.id])
  end

  def update

    current_event_discount.update event_discount_params[:event_discount]
    render json: { status: 200, data: current_event_discount }
  end

  def destroy
    current_event_discount.destroy
  end

  private
  
  def current_event_discount
    current_event.event_discounts.find(params[:id])
  end

  def event_discount_params
    params.required(:event_discount).permit(:code, :name, :percent)
  end
end