API 上的计时主题字段说明

对于我的项目,我希望通过编程方式创建定时发布的主题。我考虑使用 定时主题 API 端点,但对其中一些字段有些困惑。

  • id 路径参数:很直接,即待调度的主题 ID。
  • time:这个字段应该采用什么格式?文档仅说明它是“字符串”。
  • status_type:我不确定其可能的取值。我以为它应该类似于 更新状态 API 中的状态枚举,但定时端点示例中的值是"publish_to_category",而该值并不在枚举选项中。
  • based_on_last_post:我不清楚这个布尔标志的含义。
  • category_id:很直接。

app/models/topic_timer.rb

close
open
publish_to_category
delete
reminder
bump
delete_replies

在代码中发现了一些注释:

  • 一个整数,表示从现在起多少小时后更新主题的状态。
  • 一个时间戳,例如 “2013-11-25 13:00”,表示主题状态应更新的时间。
  • 带时区的时间戳,采用 JSON 格式。(例如:“2013-11-26T21:00:00.000Z”)
  • based_on_last_post:如果时间应基于最后一条帖子的时间戳,则此值为 True。
2 个赞

感谢参考以下评论:discourse/app/models/topic.rb at 0863c36221130b161d63562a58ac97171475dca5 · discourse/discourse · GitHub

models/topic.rb 中的 set_or_create_timer 方法包含了支持此 API 的逻辑。

1 个赞