[go: up one dir, main page]

BE [Group Owner bypass ] Implement "enterprise bypass of placeholder user confirmation" expiry date

About

This issue is part of the epic &17871. See that epic for more context.

The BE MR !188810 (merged) adds the allow_enterprise_bypass_placeholder_confirmation column to namespace_settings. This issue will implement the expiry date column and logic related to this setting, initially discussed here and discussed further here.

Requirements

  • Choosing an expiry date will be required.
  • The frontend will provide a date string along with the bypass setting
  • The options are 30 days, 60 days, 90 days, 6 months and 1 year options.
  • When expired, the by-pass will no longer apply.

Implementation

backend

  • Migrate a new column to namespace_settings for the setting.
  • As choosing an expiry date is required - add a model validation to NamespaceSetting to validate that if allow_enterprise_bypass_placeholder_confirmation is enabled then a date has been chosen
  • Update backend logic that applies the by-pass skipping #542284 (closed) to factor in the expiry setting. When the by-pass has expired, the by-pass will no longer apply.
  • ⚠️ All MRs must be reviewed by AppSec (@ameyadarshan) (see https://gitlab.com/gitlab-com/gl-security/product-security/appsec/appsec-reviews/-/issues/250).

frontend

  • We will add a new required select list to the settings that were added in #534329 (closed) for an Expiration date
  • The options for the select list are 30 days, 60 days, 90 days, 6 months and 1 year options.
Edited by 🤖 GitLab Bot 🤖