|
- # == Schema Information
- #
- # Table name: team_projects
- #
- # id :integer not null, primary key
- # organization_id :integer
- # project_id :integer
- # team_id :integer
- # created_at :datetime not null
- # updated_at :datetime not null
- #
- # Indexes
- #
- # index_team_projects_on_organization_id (organization_id)
- # index_team_projects_on_project_id (project_id)
- # index_team_projects_on_team_id (team_id)
- #
-
- class TeamProject < ApplicationRecord
-
- belongs_to :organization
- belongs_to :project
- belongs_to :team, counter_cache: :num_projects
-
- validates :project_id, uniqueness: {scope: [:organization_id, :team_id]}
-
- def self.build(organization_id, team_id, project_id)
- self.find_or_create_by!(organization_id: organization_id, team_id: team_id, project_id: project_id)
- end
- end
|