Comentarios
Las respuestas bajo una publicación y bajo un perfil.
En la base son dos tablas, por el orden en que se construyeron. Aquí
son un solo recurso: on dice bajo qué está la respuesta, y el id de
una respuesta basta para cambiarla o eliminarla, porque ambas tablas
sacan sus ids del mismo generador.
Quien publicó decide quién puede responder, y el rechazo es 403 forbidden con la razón en el mensaje.
Una respuesta eliminada no sale de la lista: queda en su lugar, con
body vacío y deleted_at lleno, porque la conversación es un árbol y
las respuestas a ella volverían como raíces. removed_by_staff dice si
la eliminó moderación, y no su autor o el dueño de lo que comenta.
contains_spoilers dice que la respuesta revela algo: pregunta antes
de mostrarla. Son dos marcas, y basta una: la del autor, que la pone al
responder o al reescribir (author_spoilers), y la de moderación
(staff_spoilers), que el autor no puede deshacer. Reescribir sin
enviar contains_spoilers deja la marca del autor como está.
/api/ v1/ commentsLas respuestas en algo, de las más antiguas a las más nuevas, con el autor de cada una y su cuenta de me gusta. Una respuesta eliminada sigue en su lugar, con body vacío y deleted_at lleno, para que las respuestas a ella no pierdan el hilo; removed_by_staff dice si la eliminó moderación, y no su autor o el dueño de lo que comenta. contains_spoilers dice que la respuesta revela algo, para preguntar antes de mostrarla: es verdadero cuando su autor o moderación la marcó como spoiler. Las dos marcas vienen también por separado, author_spoilers la del autor y staff_spoilers la de moderación, que el autor no puede deshacer.
Parámetros
| Campo | Tipo | Notas |
|---|---|---|
onobligatorio | string | review, list, screenshot, diary, award o profile. |
idobligatorio | string | El id del contenido. Con on=profile es el username, porque es el único nombre que un perfil tiene aquí. |
/api/ v1/ commentsResponde. Quien publicó decide quién puede: un espacio cerrado responde 403 forbidden y el mensaje lo dice.
Cuerpo
| Campo | Tipo | Notas |
|---|---|---|
onobligatorio | string | El mismo del GET. |
idobligatorio | string | El mismo del GET. |
bodyobligatorio | string | Hasta 2000 caracteres. |
parent_id | string | La respuesta a la que esta contesta. La conversación tiene un límite de profundidad, y pasarlo es un 400. |
contains_spoilers | boolean | true cuando la respuesta revela algo, para que quien lee sea avisado antes de abrirla. Es la marca del propio autor; false por defecto. |
/api/ v1/ comments/ {id}Reescribe una respuesta tuya. El id basta: ambas tablas sacan sus ids del mismo generador, así que no hace falta decir de cuál es.
Cuerpo
| Campo | Tipo | Notas |
|---|---|---|
bodyobligatorio | string | Hasta 2000 caracteres. |
contains_spoilers | boolean | La marca de spoiler del autor. Sin él, o con null, la marca queda como está. false quita solo la del autor: una respuesta que moderación marcó sigue con contains_spoilers verdadero. |
/api/ v1/ comments/ {id}Elimina una respuesta tuya, o una respuesta bajo algo tuyo.