false, 'message' => 'Falta usuario_id']); exit(); } $usuario_id = (int)$_GET['usuario_id']; $stmt = $pdo->prepare(" SELECT id, usuario_id, nombre, especie, raza, peso, chip, vacunado, fecha_nacimiento, estado, fecha_alta FROM mascotas WHERE usuario_id = ? ORDER BY nombre ASC "); $stmt->execute([$usuario_id]); $mascotas = $stmt->fetchAll(); echo json_encode([ 'success' => true, 'message' => 'Mascotas obtenidas correctamente', 'data' => $mascotas, 'total' => count($mascotas) ]); break; case 'POST': // Crear nueva mascota $input = json_decode(file_get_contents('php://input'), true); if (!isset($input['usuario_id']) || !isset($input['nombre'])) { http_response_code(400); echo json_encode(['success' => false, 'message' => 'Faltan campos obligatorios']); exit(); } $stmt = $pdo->prepare(" INSERT INTO mascotas ( usuario_id, nombre, especie, raza, peso, chip, vacunado, fecha_nacimiento, estado, fecha_alta ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'activo', NOW()) "); $stmt->execute([ $input['usuario_id'], $input['nombre'], $input['especie'] ?? 'Perro', $input['raza'] ?? '', $input['peso'] ?? null, $input['chip'] ?? null, $input['vacunado'] ?? 0 ]); $id = $pdo->lastInsertId(); echo json_encode([ 'success' => true, 'message' => 'Mascota añadida correctamente', 'data' => ['id' => $id] ]); break; case 'DELETE': // Eliminar mascota $input = json_decode(file_get_contents('php://input'), true); if (!isset($input['id']) || !isset($input['usuario_id'])) { http_response_code(400); echo json_encode(['success' => false, 'message' => 'Faltan datos']); exit(); } $stmt = $pdo->prepare("DELETE FROM mascotas WHERE id = ? AND usuario_id = ?"); $stmt->execute([$input['id'], $input['usuario_id']]); if ($stmt->rowCount() === 0) { http_response_code(404); echo json_encode(['success' => false, 'message' => 'Mascota no encontrada']); exit(); } echo json_encode([ 'success' => true, 'message' => 'Mascota eliminada correctamente' ]); break; default: http_response_code(405); echo json_encode(['success' => false, 'message' => 'Método no permitido']); break; } } catch (PDOException $e) { http_response_code(500); echo json_encode([ 'success' => false, 'message' => 'Error en el servidor', 'error' => $e->getMessage() ]); } ?>