debian-mirror-gitlab/app/models/users/namespace_commit_email.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

31 lines
842 B
Ruby
Raw Normal View History

2023-01-13 00:05:48 +05:30
# frozen_string_literal: true
module Users
class NamespaceCommitEmail < ApplicationRecord
belongs_to :user
belongs_to :namespace
belongs_to :email
validates :user, presence: true
validates :namespace, presence: true
validates :email, presence: true
2023-03-17 16:20:25 +05:30
validates :user, uniqueness: { scope: :namespace_id }
validate :validate_root_group
def self.delete_for_namespace(namespace)
where(namespace: namespace).delete_all
end
private
def validate_root_group
# Due to the way Rails validations are invoked all at once,
# namespace sometimes won't exist when this is ran even though we have a validation for presence first.
return unless namespace&.group_namespace?
return if namespace.root?
errors.add(:namespace, _('must be a root group.'))
end
2023-01-13 00:05:48 +05:30
end
end