# == 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