Geo Replicables - SSF Filtering Support
What does this MR do and why?
Closes #411981 (closed)
This change adds Status Filtering to the Geo Replication views for SSF Replicables. These Replicables are served via GraphQL while the legacy Replicables are served by either RESTful API or Rails/HAML.
Important Context
For all the tabs in the Geo Replication View, the breakdown is as follows:
- Projects - Served via HAML/Rails and is unaffected and unchanged by this change.
- Designs - Served via RESTful API and uses shared Vue components. Should be affected but unchanged by this change.
- Every other tab - Served via GraphQL API and uses shared Vue components. Should be affected and changed by this change.
Screenshots or screen recordings
Geo SSF Replicables Tabs, main focus of this change (every tab aside from Projects and Designs)
Screenshot | Usage Video | |
---|---|---|
Before | N/A | |
After | SSF_Usage_-_After |
Designs Tab - Affected but unchanged by this change
Click to see screenshots/videos
Screenshot | Usage Video | |
---|---|---|
Before | Non_SSF_Usage_-_Before | |
After | Non_SSF_Usage_-_After |
How to set up and validate locally
Seeding Data: You may need to seed some data in different states to test the filtering
Click to see seeding examples
For seeding the SSF Data (the GraphQL served data) you can paste the following in the rails console of your Secondary Site rails c
# `SnippetRepository` can be changed with any of the tab names (aside from Projects/Designs)
# `state` is as follows `0: started, 1: pending, 2: synced, 3: failed`
Geo::SnippetRepositoryRegistry.new(id: 21, snippet_repository_id: 21, state: 1).save
For seeding Design Data (the RESTful served data) you can paste the following in the rails console of your Secondary Site rails c
# `project_id` must be a unique Project for each registry created
# `state` is as follows `pending, synced, failed`
Geo::DesignRegistry.new(id: 3, project_id: 9, state: 'failed').save
- Fetch and checkout this branch
- Setup Geo by following the 1-line installation in the Easy Installation section (How to setup Geo)
- Access your Secondary GDK UI
- Navigate to the Geo Replication View for Designs (ex.
http://127.0.0.1:3001/admin/geo/replication/designs
) - Ensure Designs Tab is same as before this change (aside from filters order)
- Navigate to another tab (aside from Projects) and ensure the filtering works as expected
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 #411981 (closed)