Skip to content

Abstract Apollo Cache update logic

What does this MR do?

Resolves #35074 (closed) by moving Apollo cache update logic to utilities for various design management components:

  • ee/app/assets/javascripts/design_management/components/design_notes/design_discussion.vue
  • ee/app/assets/javascripts/design_management/pages/design/index.vue
  • ee/app/assets/javascripts/design_management/pages/index.vue

2 new utility files (specific to design management) have been added:

  • cache_update.js - intended to hold code that directly updates Apollo cache
  • errors.js - now that we're shifting updates to Apollo out of components (into apollo.js), errors are handled both within these abstractions and in components (usually when handling @error events in Apollo components).

Screenshots

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
Edited by 🤖 GitLab Bot 🤖

Merge request reports