diff options
Diffstat (limited to 'app/models/groups/feature_setting.rb')
-rw-r--r-- | app/models/groups/feature_setting.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/models/groups/feature_setting.rb b/app/models/groups/feature_setting.rb new file mode 100644 index 00000000000..72d0851ea85 --- /dev/null +++ b/app/models/groups/feature_setting.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Groups + class FeatureSetting < ApplicationRecord + include Featurable + extend ::Gitlab::Utils::Override + + self.primary_key = :group_id + self.table_name = 'group_features' + + belongs_to :group + + validates :group, presence: true + + private + + override :resource_member? + def resource_member?(user, feature) + group.member?(user, ::Groups::FeatureSetting.required_minimum_access_level(feature)) + end + end +end + +::Groups::FeatureSetting.prepend_mod_with('Groups::FeatureSetting') |