blob: 883b17187cad538fbefeabf45b87d5c3d739e926 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
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
end
end
|