gitlab-ce/app/models/users/banned_user.rb

28 lines
860 B
Ruby

# frozen_string_literal: true
module Users
class BannedUser < ApplicationRecord
include EachBatch
self.primary_key = :user_id
belongs_to :user
has_one :credit_card_validation, class_name: '::Users::CreditCardValidation', primary_key: 'user_id',
foreign_key: 'user_id', inverse_of: :banned_user
has_many :emails, primary_key: 'user_id', foreign_key: 'user_id', inverse_of: :banned_user
validates :user, presence: true
validates :user_id, uniqueness: { message: N_("banned user already exists") }
scope :by_detumbled_email, ->(email) do
return none if email.blank?
joins(:emails)
.where({ emails: { detumbled_email: ::Gitlab::Utils::Email.normalize_email(email) } })
.where.not({ emails: { confirmed_at: nil } })
end
end
end
Users::BannedUser.prepend_mod_with('Users::BannedUser')