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
|
# frozen_string_literal: true
module Users
class ProjectCallout < ApplicationRecord
include Users::Calloutable
self.table_name = 'user_project_callouts'
belongs_to :project
enum feature_name: {
awaiting_members_banner: 1, # EE-only
web_hook_disabled: 2,
# 3 was removed https://gitlab.com/gitlab-org/gitlab/-/merge_requests/129703,
# and cleaned up https://gitlab.com/gitlab-org/gitlab/-/merge_requests/129924, it can be replaced
namespace_storage_pre_enforcement_banner: 4, # EE-only
# 5,6,7 were removed https://gitlab.com/gitlab-org/gitlab/-/merge_requests/118330, they can be replaced
license_check_deprecation_alert: 8 # EE-only
}
validates :project, presence: true
validates :feature_name,
presence: true,
uniqueness: { scope: [:user_id, :project_id] },
inclusion: { in: ProjectCallout.feature_names.keys }
end
end
|