<?php
/**
 * Manejo de la eliminación de la tabla y desactivación del plugin en la API.
 *
 * Este archivo ejecuta una solicitud a la API de Compibot cuando el plugin es desactivado
 * o desinstalado para actualizar su estado.
 *
 * @package Compibot
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Notifica a la API de Compibot sobre la desactivación o eliminación del plugin.
 *
 * Envía una solicitud a la API para actualizar el estado del plugin en el servidor.
 *
 * @param string $accion Define si la acción es 'deactivation' (desactivación) o 'uninstall' (desinstalación).
 * @return void
 */
function compibot_compibot_remove_table( $accion = 'deactivation' ) {
	$db_manager = new CompibotDatabaseManager();

	// Definimos la URL de la API.
	$url = 'https://panel.compibot.com/api/cms-deactivation/';

	// Obtenemos el token para poder pasarlo en la llamada API.
	$token = $db_manager->compibot_select( 'token', 'plugin_token_compibot_page', 60 );

	if ( $token ) {
		// Hacemos la llamada API al endpoint para actualizar el estado del plugin.
		$response = wp_remote_post(
			$url,
			array(
				'headers' => array(
					'Authorization' => 'Bearer ' . $token,
					'Content-Type'  => 'application/json',
				),
				'body'    => wp_json_encode(
					array(
						'accion' => $accion,
					)
				),
			)
		);

		// Verificamos si hubo algún error en la solicitud.
		if ( is_wp_error( $response ) ) {
			wp_die( 'Hubo un problema al desactivar el plugin. Por favor, contacta al soporte técnico. Error XXXXX' );
		}
	}
}
