Move transfer project/group API logic into a shared component
What does this MR do and why?
In !91538 (merged) and !97330 (merged) we migrated the transfer project namespace dropdown from HAML to REST and GraphQL APIs. We now want to migrate app/assets/javascripts/groups/components/transfer_group_form.vue to use the same dropdown and API logic. I realized that it didn't really make sense for the API logic to live in app/assets/javascripts/projects/settings/components/transfer_project_form.vue because then it can't be used for the group dropdown. This MR moves the API logic into transfer_locations.vue
so that it can be shared. The logic itself hasn't changed just the location.
I apologize for the size of this MR. I thought for a while on how I could try and split it up further but struggled to figure out a way. The logic itself isn't changing, it is moving to a new place which causes a large diff because the code is removed in one place and added in another.
Screenshots or screen recordings
No visual changes
How to set up and validate locally
- Navigate to a project ->
Settings
->General
->Advanced
->Transfer project
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.