Explicações do Campo de Tópico Cronometrado na API

Para o meu projeto, gostaria de criar tópicos agendados programaticamente. Estava pensando em usar o endpoint da API de tópicos com temporizador, mas estou um pouco confuso sobre alguns dos campos.

  • Parâmetro de caminho id — direto: é o ID do tópico que está sendo agendado.
  • time — em qual formato isso deve ser? Tudo o que diz é “string”.
  • status_type — não tenho certeza sobre os valores possíveis. Pensaria que seria semelhante à enumeração de status na API de atualização de status, mas o exemplo no temporizador é “publish_to_category”, que não é uma opção na enumeração.
  • based_on_last_post — não faço ideia do que essa flag booleana significa.
  • category_id — direto.

app/models/topic_timer.rb:

close
open
publish_to_category
delete
reminder
bump
delete_replies

Encontrei um comentário no código:

  • Um inteiro, que representa o número de horas a partir de agora para atualizar o status do tópico.
  • Um carimbo de data/hora, como “2013-11-25 13:00”, quando o status do tópico deve ser atualizado.
  • Um carimbo de data/hora com fuso horário no formato JSON. (por exemplo, “2013-11-26T21:00:00.000Z”)
  • based_on_last_post: Verdadeiro se o tempo deve ser baseado no carimbo de data/hora da última postagem.

Obrigado pela referência aos comentários: discourse/app/models/topic.rb at 0863c36221130b161d63562a58ac97171475dca5 · discourse/discourse · GitHub

O método set_or_create_timer em models/topic.rb contém a lógica que suporta esta API.