Draft: POC: Personal namespace per Organization
What does this MR do and why?
Explore how difficult it will be to make personal namespace optional on a per organization basis. Initially enable personal namespaces on the default organization, and disable elsewhere.
Primary plan is to introduce current_organization
into the User
callback that builds the personal namespace. Then apply a default spec state where the default organization exists so the specs don't break.
Steps undertaken:
- Introduce the concept of a current_organization is controllers and models.
- Establish an organization can exist before specs execute.
- Rework user username uniqueness check which was previously using personal namespace path uniqueness validation
- Tease apart code points that assume namespace exists.
First step is to insert shim when current_organization != nil
exists, and system should just work as is.
Next step will be to pull out shim and watch what happens when current_organization = nil
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #427730