class EmployeeCategory < ApplicationRecord
  include Base::EmployeeCategory

  associations_for legacy: true do |a|
    a.belongs_to :school
  end

  belongs_to :group, class_name: 'EmployeeCategoryGroup', foreign_key: :UCGID,
    inverse_of: :categories

  has_many :employee_category_users, foreign_key: :CategoryID, dependent: :destroy,
    inverse_of: :category
  has_many :employees, through: :employee_category_users

  validates :name, presence: true, length: { maximum: 32 }
  validates :description, length: { maximum: 128 }

  scope :by_group, ->(ids) { where(group_id: ids) if ids }
  scope :by_ids, ->(ids) { where(id: ids) }
end
