Explicaciones del campo de tema cronometrado en la API

Para mi proyecto, me gustaría crear temas programados de forma programática. Estaba pensando en usar el punto final de la API de temas con temporizador, pero tengo algunas dudas sobre algunos de los campos.

  • Parámetro de ruta id: directo, es el ID del tema que se va a programar.
  • time: ¿en qué formato debe estar? Solo dice “cadena”.
  • status_type: no estoy seguro de cuáles son sus valores posibles. Pensaría que sería similar al enum de estado en la API de actualización de estado, pero el ejemplo en el temporizador es “publish_to_category”, que no es una opción en el enum.
  • based_on_last_post: no tengo idea de qué significa esta bandera booleana.
  • category_id: directo.

app/models/topic_timer.rb:

close
open
publish_to_category
delete
reminder
bump
delete_replies

Encontré un comentario en el código:

  • Un número entero que representa la cantidad de horas desde ahora para actualizar el estado del tema.
  • Una marca de tiempo, como “2013-11-25 13:00”, cuando se debe actualizar el estado del tema.
  • Una marca de tiempo con zona horaria en formato JSON. (por ejemplo, “2013-11-26T21:00:00.000Z”)
  • based_on_last_post: Verdadero si el tiempo debe basarse en la marca de tiempo de la última publicación.

Gracias por la referencia a los comentarios: discourse/app/models/topic.rb at 0863c36221130b161d63562a58ac97171475dca5 · discourse/discourse · GitHub

El método set_or_create_timer en models/topic.rb contiene la lógica que soporta esta API.