diff options
Diffstat (limited to 'app/models/namespace_setting.rb')
-rw-r--r-- | app/models/namespace_setting.rb | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/app/models/namespace_setting.rb b/app/models/namespace_setting.rb index 170b29e9e21..ef917c8a22e 100644 --- a/app/models/namespace_setting.rb +++ b/app/models/namespace_setting.rb @@ -3,6 +3,7 @@ class NamespaceSetting < ApplicationRecord include CascadingNamespaceSettingAttribute include Sanitizable + include ChronicDurationAttribute cascading_attr :delayed_project_removal @@ -12,17 +13,19 @@ class NamespaceSetting < ApplicationRecord validate :allow_mfa_for_group validate :allow_resource_access_token_creation_for_group - before_save :set_prevent_sharing_groups_outside_hierarchy, if: -> { user_cap_enabled? } - after_save :disable_project_sharing!, if: -> { user_cap_enabled? } - before_validation :normalize_default_branch_name enum jobs_to_be_done: { basics: 0, move_repository: 1, code_storage: 2, exploring: 3, ci: 4, other: 5 }, _suffix: true + chronic_duration_attr :runner_token_expiration_interval_human_readable, :runner_token_expiration_interval + chronic_duration_attr :subgroup_runner_token_expiration_interval_human_readable, :subgroup_runner_token_expiration_interval + chronic_duration_attr :project_runner_token_expiration_interval_human_readable, :project_runner_token_expiration_interval + NAMESPACE_SETTINGS_PARAMS = [:default_branch_name, :delayed_project_removal, :lock_delayed_project_removal, :resource_access_token_creation_allowed, :prevent_sharing_groups_outside_hierarchy, :new_user_signups_cap, - :setup_for_company, :jobs_to_be_done].freeze + :setup_for_company, :jobs_to_be_done, :runner_token_expiration_interval, + :subgroup_runner_token_expiration_interval, :project_runner_token_expiration_interval].freeze self.primary_key = :namespace_id @@ -59,18 +62,6 @@ class NamespaceSetting < ApplicationRecord errors.add(:resource_access_token_creation_allowed, _('is not allowed since the group is not top-level group.')) end end - - def set_prevent_sharing_groups_outside_hierarchy - self.prevent_sharing_groups_outside_hierarchy = true - end - - def disable_project_sharing! - namespace.update_attribute(:share_with_group_lock, true) - end - - def user_cap_enabled? - new_user_signups_cap.present? && namespace.root? - end end NamespaceSetting.prepend_mod_with('NamespaceSetting') |