# == Schema Information
#
# Table name: members
#
#  id                  :integer          not null, primary key
#  user_id             :integer          default("0"), not null
#  project_id          :integer          default("0")
#  created_on          :datetime
#  mail_notification   :boolean          default("0"), not null
#  course_id           :integer          default("-1")
#  course_group_id     :integer          default("0")
#  is_collect          :integer          default("1")
#  graduation_group_id :integer          default("0")
#  is_apply_signature  :boolean          default("0")
#  team_user_id        :integer
#
# Indexes
#
#  index_members_on_course_id               (course_id)
#  index_members_on_project_id              (project_id)
#  index_members_on_team_user_id            (team_user_id)
#  index_members_on_user_id                 (user_id)
#  index_members_on_user_id_and_project_id  (user_id,project_id,course_id) UNIQUE
#

class Member < ApplicationRecord
  belongs_to :user
  # belongs_to :course, optional: true
  belongs_to :project, optional: true
  belongs_to :team_user, optional: true

  has_many :member_roles, dependent: :destroy
  has_many :roles, through: :member_roles

  validates :user_id, :project_id, presence: true

end
