<?php
defined('ABSPATH') || exit;

/**
 * R-LLM SEO Quota Ajax
 */
add_action('wp_ajax_r_llm_seo_quota_poll', 'r_llm_seo_quota_poll_ajax');

function r_llm_seo_quota_poll_ajax(): void
{
	if (!check_ajax_referer('llm_seo_nonce', 'nonce', false)) {
		wp_send_json_error(['message' => 'bad_nonce'], 403);
	}

	if (!function_exists('r_llm_seo_user_can_use') || !r_llm_seo_user_can_use()) {
		wp_send_json_error(['message' => 'permission_denied'], 403);
	}

	$quota = function_exists('r_llm_seo_quota_get_cache') ? r_llm_seo_quota_get_cache() : null;
	$line  = function_exists('r_llm_seo_format_quota_message') ? r_llm_seo_format_quota_message($quota) : '';

	wp_send_json_success([
		'quota' => $quota,
		'line'  => $line,
	]);
}