Comentários
As respostas sob uma publicação e sob um perfil.
No banco são duas tabelas, por causa da ordem em que foram
construídas. Aqui são um recurso só: on diz sob o que a resposta
está, e o id de uma resposta basta para alterá-la ou removê-la,
porque as duas tabelas tiram os ids do mesmo gerador.
Quem publicou decide quem pode responder, e a recusa é 403 forbidden com a razão na mensagem.
Uma resposta removida não some da lista: fica no lugar, com body
vazio e deleted_at preenchido, porque a conversa é uma árvore e as
respostas a ela voltariam como raízes. removed_by_staff diz se foi a
moderação que a removeu, e não o autor ou o dono do que ela comenta.
contains_spoilers diz que a resposta revela algo: pergunte antes de
mostrar. São duas marcas, e basta uma: a do autor, que ele põe ao
responder ou ao reescrever (author_spoilers), e a da moderação
(staff_spoilers), que o autor não desfaz. Reescrever sem mandar
contains_spoilers deixa a marca do autor como está.
/api/ v1/ commentsAs respostas em algo, das mais antigas para as mais novas, com o autor de cada uma e a contagem de curtidas. Uma resposta removida continua no lugar, com body vazio e deleted_at preenchido, para que as respostas a ela não percam a conversa; removed_by_staff diz se foi a moderação que a removeu, e não o autor ou o dono do que ela comenta. contains_spoilers diz que a resposta revela algo, para perguntar antes de mostrar: é verdadeiro quando o autor ou a moderação a marcou como spoiler. As duas marcas vêm também separadas, author_spoilers a do autor e staff_spoilers a da moderação, que o autor não desfaz.
Parâmetros
| Campo | Tipo | Observações |
|---|---|---|
onobrigatório | string | review, list, screenshot, diary, award ou profile. |
idobrigatório | string | O id do conteúdo. Com on=profile é o username, porque é o único nome que um perfil tem por aqui. |
/api/ v1/ commentsResponde. Quem publicou decide quem pode: um espaço fechado responde 403 forbidden e a mensagem diz que foi isso.
Corpo
| Campo | Tipo | Observações |
|---|---|---|
onobrigatório | string | O mesmo do GET. |
idobrigatório | string | O mesmo do GET. |
bodyobrigatório | string | Até 2000 caracteres. |
parent_id | string | A resposta a que esta responde. A conversa tem um limite de profundidade, e passar dele é 400. |
contains_spoilers | boolean | true quando a resposta revela algo, para que quem lê seja avisado antes de abri-la. É a marca do próprio autor; por padrão, false. |
/api/ v1/ comments/ {id}Reescreve uma resposta sua. O id basta: as duas tabelas tiram os ids do mesmo gerador, então não é preciso dizer de qual delas ele é.
Corpo
| Campo | Tipo | Observações |
|---|---|---|
bodyobrigatório | string | Até 2000 caracteres. |
contains_spoilers | boolean | A marca de spoiler do autor. Sem ele, ou com null, a marca fica como está. false tira só a do autor: uma resposta que a moderação marcou continua com contains_spoilers verdadeiro. |
/api/ v1/ comments/ {id}Remove uma resposta sua, ou uma resposta sob algo seu.