Files
fn_registry/python/functions/metabase/metabase_update_document.md
egutierrez cf70385bca feat(metabase): expansion cards y documents — export, model, ProseMirror validation, copy nativo
Cards: export_card (CSV/XLSX/JSON), create_model (type=model para fuentes MBQL).
Documents: prosemirror_card_embed helper (resizeNode envolviendo cardEmbed),
validacion automatica contra whitelist TipTap antes de enviar, copy_document
refactorizado al endpoint nativo POST /api/document/:id/copy.
Docs: dataset_query legacy vs MBQL5, template-tags, whitelist de nodos.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:03:19 +02:00

1.9 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
metabase_update_document function py infra 1.1.0 impure def metabase_update_document(client: MetabaseClient, document_id: int, *, validate: bool = True, **fields) -> dict Actualiza un document. Solo envia los campos pasados. Si se pasa 'document', valida el ProseMirror antes de enviar (evita documentos vacíos por nodos no soportados).
metabase
document
update
api
python
metabase_validate_document_payload_py_infra
false error_go_core
httpx
name desc
client instancia autenticada de MetabaseClient
name desc
document_id ID del document a actualizar
name desc
validate si True (default), valida el ProseMirror antes de enviar cuando se pasa 'document'
name desc
fields kwargs con campos a modificar: name, document (arbol ProseMirror), collection_id, archived
dict: document actualizado false
python/functions/metabase/documents.py

Ejemplo

from metabase.documents import prosemirror_card_embed

# Renombrar
metabase_update_document(client, 1, name="Nuevo titulo")

# Reemplazar contenido con card embebida
metabase_update_document(client, 1, document={
    "type": "doc",
    "content": [
        {"type": "heading", "attrs": {"level": 1},
         "content": [{"type": "text", "text": "Resumen"}]},
        prosemirror_card_embed(42, height=450),
    ]
})

# Mover a coleccion
metabase_update_document(client, 1, collection_id=5)

Notas

  • La validación es automática cuando se pasa document=.... Si contiene nodos que el frontend no renderiza (callout, taskList, etc.), lanza ValueError antes de enviar.
  • Usar blockquote en vez de callout para destacar texto.
  • Usar prosemirror_card_embed(card_id) en vez de cardEmbed desnudo.