Chatwoot/app/models/portal.rb
2022-07-05 17:15:38 +05:30

44 lines
1.2 KiB
Ruby

# == Schema Information
#
# Table name: portals
#
# id :bigint not null, primary key
# archived :boolean default(FALSE)
# color :string
# config :jsonb
# custom_domain :string
# header_text :text
# homepage_link :string
# name :string not null
# page_title :string
# slug :string not null
# created_at :datetime not null
# updated_at :datetime not null
# account_id :integer not null
#
# Indexes
#
# index_portals_on_slug (slug) UNIQUE
#
class Portal < ApplicationRecord
belongs_to :account
has_many :categories, dependent: :destroy_async
has_many :folders, through: :categories
has_many :articles, dependent: :destroy_async
has_many :portal_members,
class_name: :PortalMember,
dependent: :destroy_async
has_many :members,
through: :portal_members,
class_name: :User,
dependent: :nullify,
source: :user
validates :account_id, presence: true
validates :name, presence: true
validates :slug, presence: true, uniqueness: true
accepts_nested_attributes_for :members
scope :active, -> { where(archived: false) }
end