Skip to content

WIP: Geo - Package Files in Frontend

Zack Cuddy requested to merge 208470-package-file-frontend into master

Why WIP

  • Fix/create tests
  • Merge !32476 (merged)
  • Create GIF of working pagination
  • Split up MR into smaller chunks
  • Create ~"technical debt" issues

MR Breakup

  1. Add PackageFile Controller, Route, and Vue hook in behind feature flag (:geo_self_service_framework)
  2. Add Store Actions/Support for GraphQL
  3. Hookup Store Actions to UI
  4. Hook PackageFiles UI to GraphQL
  5. Add GraphQL Pagination

~"technical debt" issues

What does this MR do?

Closes #208470 (closed)

This MR introduces GraphQL to the Geo frontend.

With it comes Package Files a newly supported registry type in Geo.

The main goal of this MR was to allow for a GraphQL api to fit in the generic Geo components that were using RESTful api exclusively.

Important Notes

  • GlPagination does not support Cursor based pagination which is what GraphQL uses. Because of this, I had to write a custom pagination logic.
  • GraphQL uses ApolloClient while RESTful uses axios. A boolean and separate function is required in the store to differentiate the two types of data fetching.
  • Our GraphQL endpoint does not support filtering yet, so that is disabled for this iteration.

Screenshots

List View Paginator
Package Files (New) Package_Files Package_File_Pagination

GIF

Pagination: Kapture_2020-05-27_at_9.08.32

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team

Closes #208470 (closed)

Edited by Zack Cuddy

Merge request reports