discourse/app/models/category_setting.rb
Ted Johansson f08c6d2756
DEV: Switch over category settings to new table - Part 3 (#20657)
In #20135 we prevented invalid inputs from being accepted in category setting form fields on the front-end. We didn't do anything on the back-end at that time, because we were still discussing which path we wanted to take. Eventually we decided we want to move this to a new CategorySetting model.

This PR moves the require_topic_approval and require_reply_approval from custom fields to the new CategorySetting model.

This PR is nearly identical to #20580, which migrated num_auto_bump_daily, but since these are slightly more sensitive, they are moved after the previous one is verified.
2023-09-12 09:51:49 +08:00

37 lines
1.0 KiB
Ruby

# frozen_string_literal: true
class CategorySetting < ActiveRecord::Base
belongs_to :category
validates :num_auto_bump_daily,
numericality: {
only_integer: true,
greater_than_or_equal_to: 0,
allow_nil: true,
}
validates :auto_bump_cooldown_days,
numericality: {
only_integer: true,
greater_than_or_equal_to: 0,
allow_nil: true,
}
end
# == Schema Information
#
# Table name: category_settings
#
# id :bigint not null, primary key
# category_id :bigint not null
# require_topic_approval :boolean default(FALSE)
# require_reply_approval :boolean default(FALSE)
# num_auto_bump_daily :integer default(0)
# created_at :datetime not null
# updated_at :datetime not null
# auto_bump_cooldown_days :integer default(1)
# Indexes
#
# index_category_settings_on_category_id (category_id) UNIQUE
#