class Settings::Verifications::ModerationController < Admin::BaseController

	def index
		@verification_requests = AccountVerificationRequest.order('created_at DESC').all
	end

	def approve

		ActiveRecord::Base.connected_to(role: :writing) do
			verification_request = AccountVerificationRequest.find(params[:id])

			# Mark user as verified
			account = verification_request.account
			ApplicationRecord.transaction do
				account.update!(is_verified: true)

				# Remove all traces
				verification_request.destroy
			end
		end

		# Notify user
		UserMailer.verification_approved(account.user).deliver_later!

		# Redirect back to the form with a proper message
		redirect_to settings_verifications_moderation_url, notice: I18n.t('verifications.moderation.approved_msg')
	end

	def reject
		ActiveRecord::Base.connected_to(role: :writing) do
			verification_request = AccountVerificationRequest.find(params[:id])
			verification_request.destroy()
		end
		redirect_to settings_verifications_moderation_url, notice: I18n.t('verifications.moderation.rejected_msg')
	end
end