Bind the artifact registry UI surfaces to the schema

What does this MR do and why?

The Activation settings section and the setup claim form used local Apollo resolvers, because the GraphQL schema they needed was not merged yet. The schema is merged now (Organization.artifactRegistry and Mutation.artifactRegistryActivate exist). This MR removes the stand-ins and binds both surfaces to the real schema.

How it works, per file:

  • get_artifact_registry.query.graphql: drops @client from artifactRegistry, so the schema answers the read, not a local resolver.
  • activate_artifact_registry.mutation.graphql: calls the schema's artifactRegistryActivate instead of localArtifactRegistryActivate, drops @client, uses the schema input type ArtifactRegistryActivateInput!.
  • mock_resolvers.js, typedefs.graphql: remove the now-unused local resolvers, types, and constants. The mock resolvers file stays, since the repositories app still uses it.
  • settings/index.js, setup/index.js: go back to a plain createDefaultClient(), no more mockResolvers, typeDefs, or possibleTypes.

One real behavior change: the schema mutation resolves the organization from the request context (the X-GitLab-Organization-ID header), not from a mutation argument. setup_form.vue now sends { slug } alone. organizationGid is dropped from the setup mount's provide and from Organizations::ArtifactRegistryHelper#artifact_registry_setup_app_data. The repositories mount still needs it and is untouched.

The disable and enable mutations are merged in Add disable and enable Artifact Registry mutations (!251187 - merged)

This sits behind the artifact_registry_ui flag, which is dark and off by default. No changelog, no user-visible behavior change.

References

Screenshots or screen recordings

N/A: this is a dark, off-by-default change. The rendered surfaces are unchanged; only the layer that answers their queries moves from a local resolver to the schema.

How to set up and validate locally

With Feature.enable(:artifact_registry_ui) and a reachable Artifact Registry, the Activation section at the organization settings Artifact registry page reads its identity, status and actions from the schema, and the setup page's claim form submits through the schema mutation.

yarn jest ee/spec/frontend/packages_and_registries/artifact_registry ee/spec/frontend/organizations/show
bundle exec rspec ee/spec/features/organizations/settings/artifact_registry_spec.rb ee/spec/features/artifact_registry ee/spec/helpers/organizations/artifact_registry_helper_spec.rb
bundle exec rubocop ee/app/helpers/organizations/artifact_registry_helper.rb ee/spec/helpers/organizations/artifact_registry_helper_spec.rb ee/spec/features/organizations/settings/artifact_registry_spec.rb

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Rahul Chanila

Merge request reports

Loading
Loading