<?php

// Verificar se a requisição é POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Obter o corpo da requisição
    $inputData = file_get_contents('php://input');

    // Tentar decodificar o JSON
    $data = json_decode($inputData, true);

    // Verificar se a decodificação foi bem-sucedida
    if (json_last_error() === JSON_ERROR_NONE) {
        // Verificar se os parâmetros 'mac_address' e 'mac_value' foram encontrados
        if (isset($data['mac_address']) && isset($data['mac_value'])) {
            $mac_address = $data['mac_address'];
            $mac_value = $data['mac_value'];

            // Caminho do arquivo JSON
            $jsonFile = $_SERVER['DOCUMENT_ROOT'] . '/api/device_keys.json';

            // Tentar carregar o arquivo JSON existente
            if (file_exists($jsonFile)) {
                $jsonContent = file_get_contents($jsonFile);
                $jsonData = json_decode($jsonContent, true);

                // Atualizar ou adicionar o valor do MAC Address
                $jsonData[$mac_address] = $mac_value;

                // Tentar salvar as alterações no arquivo JSON
                if (file_put_contents($jsonFile, json_encode($jsonData, JSON_PRETTY_PRINT))) {
                    echo json_encode(["message" => "Dados salvos com sucesso."]);
                } else {
                    echo json_encode(["message" => "Erro ao salvar os dados."]);
                }
            } else {
                echo json_encode(["message" => "Arquivo JSON não encontrado."]);
            }
        } else {
            echo json_encode(["message" => "Parâmetros 'mac_address' e 'mac_value' não encontrados."]);
        }
    } else {
        echo json_encode(["message" => "Erro ao decodificar JSON."]);
    }
} else {
    echo json_encode(["message" => "Método de requisição inválido."]);
}
?>
