Files
codeocean/app/models/study_group_membership.rb
Sebastian Serth 977fa4539e Check polymorphic type in validations
* Previously, some models had "duplicated" `belongs_to` associations, which were now removed (and replaced by the `include Creation`).
2023-08-24 19:32:06 +02:00

23 lines
511 B
Ruby

# frozen_string_literal: true
class StudyGroupMembership < ApplicationRecord
include Creation
belongs_to :study_group
before_save :destroy_if_empty_study_group_or_user
ROLES = %w[learner teacher].freeze
def destroy_if_empty_study_group_or_user
destroy if study_group.blank? || user.blank?
end
enum role: {
learner: 0,
teacher: 1,
}, _default: :learner, _prefix: true
validates :role, presence: true
validates :user_id, uniqueness: {scope: %i[user_type study_group_id]}
end