<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Content-Type");
header("Access-Control-Allow-Methods: POST, OPTIONS");
header("Content-Type: application/json");
header("Access-Control-Max-Age: 86400");


require_once(__DIR__ . '/../../config.php');


 $data = json_decode(file_get_contents('php://input'), true);

 $slug_tienda = $data['slug_tienda'] ?? '';
 $nombre = $data['nombre'] ?? '';
 $tipo_documento = $data['tipo_documento'] ?? 'CC';
 $numero_documento = $data['numero_documento'] ?? '';
 $telefono = $data['telefono'] ?? null;
 $email = $data['email'] ?? null;
 $direccion = $data['direccion'] ?? null;
 $fecha_cumpleanos = $data['fecha_cumpleanos'] ?? null;

// --- LÍNEA CLAVE PARA CORREGIR EL ERROR ---
// Si la fecha de cumpleaños es una cadena vacía, la convertimos a null.
if ($fecha_cumpleanos === '') {
    $fecha_cumpleanos = null;
}

if (empty($slug_tienda) || empty($nombre) || empty($numero_documento)) {
    echo json_encode(['success' => false, 'message' => 'Faltan datos obligatorios (nombre, documento).']);
    exit;
}

 $sql = "INSERT INTO clientes (slug_tienda, nombre, tipo_documento, numero_documento, telefono, email, direccion, fecha_cumpleanos) 
        VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
 $stmt = $mysqli->prepare($sql);

// Enlazar parámetros. 's' para string, 'i' para integer (id), 'd' para double (date se trata como string)
// Usamos 's' para todos los parámetros que son texto o pueden ser null.
 $stmt->bind_param("ssssssss", $slug_tienda, $nombre, $tipo_documento, $numero_documento, $telefono, $email, $direccion, $fecha_cumpleanos);

if ($stmt->execute()) {
    $nuevo_id = $mysqli->insert_id;
    echo json_encode(['success' => true, 'message' => 'Cliente guardado correctamente.', 'id' => $nuevo_id]);
} else {
    // Manejar error de duplicado
    if ($mysqli->errno == 1062) {
        echo json_encode(['success' => false, 'message' => 'Ya existe un cliente con ese número de documento.']);
    } else {
        echo json_encode(['success' => false, 'message' => 'Error al guardar el cliente: ' . $stmt->error]);
    }
}

 $stmt->close();
 $mysqli->close();
?>