# frozen_string_literal: true

module Admin
  class LogsController < Admin::ApplicationController
    before_action :set_log, only: %i[show destroy]

    def index
      @logs = AuditLog::Log.order("id desc").includes(:user)
      @logs = @logs.where("action like ?", "%#{params[:q]}%") if params[:q].present?
      @logs = @logs.where("action = ?", params[:action_type]) if params[:action_type].present?
      @logs = @logs.where("created_at >= ?", Time.parse(params[:start_time])) if params[:start_time].present?
      @logs = @logs.where("created_at < ?", Time.parse(params[:end_time])) if params[:end_time].present?
      @pagy, @logs = pagy(
        @logs,
        items: 15
      )
    end

    def show; end

    private

      # Use callbacks to share common setup or constraints between actions.
      def set_log
        @log = AuditLog::Log.find(params[:id])
      end
  end
end
