class Admin::SubscriptionsController < Admin::ApplicationController
  before_action :set_active_menu
  before_action :set_subscription, only: %i[show edit update destroy]

  # GET /admin/subscriptions
  def index
    @pagy, @subscriptions = pagy(Subscription.order("id DESC"))
  end

  # GET /subscriptions/1
  def show
  end

  # GET /subscriptions/1/edit
  def edit
  end

  # PATCH/PUT /subscriptions/1
  def update
    respond_to do |format|
      if @subscription.update(subscription_params)
        format.html { redirect_to admin_subscription_url(@subscription), notice: "Subscription was successfully updated." }
      else
        format.html { render :edit, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /subscriptions/1
  def destroy
    @subscription.destroy

    respond_to do |format|
      format.html { redirect_to admin_subscriptions_url, notice: "Subscription was successfully destroyed." }
    end
  end

  # DELETE /admin/subscriptions
  def archive
    @ids = params[:selected_ids].split(",").reject(&:empty?).collect(&:to_i).reject { |d| d <= 0 }
    puts @ids
    Subscription.destroy(@ids)
    flash[:notice] = "#{@ids.size} items removed."
    redirect_to admin_subscriptions_path
  end

  private

  def set_active_menu
    @active_menu = "subscriptions"
  end

  # Use callbacks to share common setup or constraints between actions.
  def set_subscription
    @subscription = Subscription.find(params[:id])
  end

  # Only allow a list of trusted parameters through.
  def subscription_params
    params.require(:subscription).permit(:email)
  end
end
