API v2 row update fails with the documented data format
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, openapi
Línea de trabajo
Empieza comparando RowOCSController::updateRow() y PublicRowOCSController::updateRow() con createRow(), que, según indica el issue, ya acepta el formato de mapa documentado. Comprueba en openapi.json la estructura esperada de la solicitud e inspecciona RowDataInput para entender el fallo. El trabajo estará terminado cuando ambas rutas de actualización acepten el mapa documentado, rechacen las entradas no válidas con HTTP 400 y mantengan la compatibilidad con el formato de lista.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Steps to reproduce
PUT /ocs/v2.php/apps/tables/api/2/views/{v}/rows/{r} (or the public share route) with {"data": {"18": "x"}}, the columnId → value map openapi.json documents.
Expected behavior
The cell is updated, as with createRow() and API v1, which accept the map.
Actual behavior
HTTP 500, logged as "Cannot access offset of type string on string" in RowDataInput. Only the list form [{"columnId": 18, "value": "x"}] works, which is what the web UI sends.
Tables app version
main (2.4.x); also present on the Tables 2.0 pull requests
Database
MariaDB (dev instance); not database-specific unless noted
Additional info
Suggested fix: convert the map in RowOCSController::updateRow() and PublicRowOCSController::updateRow() as createRow() does, and answer 400 for anything else.
Found while reviewing #3178.
- Lenguaje dominante
- JavaScript
- Estrellas
- 220
- Forks
- 57
- Merge medio
- 1 d 13 h
- PR fusionados (30 d)
- 89
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nextcloud/tables
-
0. Needs triage accessibility bug
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
1. to develop bug design skill: frontend
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
nextcloud/tables#3244 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Cannot reset column widthAbierto0. Needs triage bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
0. Needs triage bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Editing a selection column via UI fails with 500 "It is forbidden to set the Uuid from external"Abierto0. Needs triage bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
nextcloud/tables#2856 · 5 comentarios · 4 reacciones ·
Los mantenedores suelen responder en 1 día
Todos los issues de nextcloud/tables
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
agent-os ai bug good first issue help wanted
Dificultad 1/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
area: documentation good first issue package: rule-data status: accepting prs
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
status: needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
mastra-ai/mastra#30109 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
processNextTick leaks failure state between callbacks queued on the same promise in one tickAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100