Add GraphQL read API for merge request saved views

What does this MR do and why?

Adds Types::MergeRequests::SavedViewType and exposes the current user's views as currentUser.mergeRequestSavedViews.

The filters column is exposed as a JSON scalar with its keys camelCased on read, matching WorkItemSavedViewType.

This is the third of four backend merge requests for merge request dashboard saved views:

  1. !247083 (merged) - table, model, JSON schema, factory
  2. !247090 (merged) - services, finder, and authorization policy
  3. This merge request - GraphQL read API
  4. !247119 (merged) - GraphQL mutations (create, update, delete)

Example query:

{
  currentUser {
    mergeRequestSavedViews {
      nodes {
        id
        name
        filters
        updatedAt
        userPermissions {
          updateSavedView
          deleteSavedView
        }
      }
    }
  }
}

How to set up and validate locally

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Phil Hughes

Merge request reports

Loading
Loading