class AuditoriaController < ApplicationController
	before_action :authenticate_usuario!
	before_action :autoriza_usuario!

	def index
		disponibiliza_dependencias
		if params[:q].blank?
			consulta = "id = 99999999999999" # não exibir nada quando não houver parametros
		end
		@q = PaperTrail::Version.where(consulta).order("created_at DESC").ransack(query_params)

		Rails.application.eager_load!
		models_nao_exibiveis = ["Schema migration", "Setting object", "Access grant", "Access token", "Application", "Version"]
		@models = ApplicationRecord.send(:subclasses).map { |model| [ model.model_name.human, model.model_name.name ] if models_nao_exibiveis.include?(model.model_name.human) == false  }.compact
		# ActiveRecord::Base.send(:subclasses).map { |model| model.model_name.human }
		@logs = @q.result.paginate(page: params[:page], per_page: 10)
	end

	def show
		@log = PaperTrail::Version.find( params[:id] )
	end

	private
	def disponibiliza_dependencias
		@usuarios = Usuario.order( :nome_completo )
		@acoes = [{acao: 'create', texto: 'Cadastro'},{acao: 'update', texto: 'Atualização'}, {acao: 'destroy', texto: 'Exclusão'}]
	end
end
