2022-07-18 10:47:54 +02:00
|
|
|
class Tenant < ApplicationRecord
|
2023-02-04 15:43:15 +01:00
|
|
|
has_one :tenant_setting
|
2022-07-18 10:47:54 +02:00
|
|
|
has_many :boards
|
2022-08-05 18:15:17 +02:00
|
|
|
has_many :o_auths
|
2022-07-18 10:47:54 +02:00
|
|
|
has_many :post_statuses
|
|
|
|
|
has_many :posts
|
|
|
|
|
has_many :users
|
|
|
|
|
|
|
|
|
|
enum status: [:active, :pending, :blocked]
|
|
|
|
|
|
|
|
|
|
after_initialize :set_default_status, if: :new_record?
|
2024-01-22 14:45:48 +01:00
|
|
|
before_save :downcase_subdomain
|
2022-07-18 10:47:54 +02:00
|
|
|
|
|
|
|
|
validates :site_name, presence: true
|
|
|
|
|
validates :subdomain, presence: true, uniqueness: true
|
|
|
|
|
|
2023-02-04 15:43:15 +01:00
|
|
|
accepts_nested_attributes_for :tenant_setting, update_only: true
|
|
|
|
|
|
2022-07-18 10:47:54 +02:00
|
|
|
def set_default_status
|
|
|
|
|
self.status ||= :pending
|
|
|
|
|
end
|
2024-01-22 14:45:48 +01:00
|
|
|
|
|
|
|
|
def downcase_subdomain
|
|
|
|
|
self.subdomain = self.subdomain.downcase
|
|
|
|
|
end
|
2022-07-18 10:47:54 +02:00
|
|
|
end
|