Refactor autocomplete_sources_path to return all paths

What does this MR do and why?

Refactor autocomplete_sources_path to return all paths

  • Remove autocomplete_type argument requirement
  • Return JSON object with all available autocomplete paths
  • Add EE support for epics, iterations, and vulnerabilities
  • Update GraphQL field type from String to JSON
  • Fix workItemTypeId parameter handling

Changelog: added EE: true

References

Relates to #556708 (closed)

Example Query

query result
fragment namespaceURLs on Namespace {
  markdownPaths {
    autocompleteSourcesPath(iid: "new-work-item-iid", workItemTypeId: "gid://gitlab/WorkItems::Type/1")
  }
}

query getNamespaceMarkdownPaths {
  public_group_namespace: namespace(fullPath: "twitter") {
    ...namespaceURLs
  }
  public_project_namespace: namespace(fullPath: "twitter/Typeahead.Js") {
    ...namespaceURLs
  }
}

{
  "data": {
    "public_group_namespace": {
      "markdownPaths": {
        "autocompleteSourcesPath": {
          "members": "/groups/twitter/-/autocomplete_sources/members?type=WorkItem&work_item_type_id=1",
          "issues": "/groups/twitter/-/autocomplete_sources/issues?type=WorkItem&work_item_type_id=1",
          "merge_requests": "/groups/twitter/-/autocomplete_sources/merge_requests?type=WorkItem&work_item_type_id=1",
          "labels": "/groups/twitter/-/autocomplete_sources/labels?type=WorkItem&work_item_type_id=1",
          "milestones": "/groups/twitter/-/autocomplete_sources/milestones?type=WorkItem&work_item_type_id=1",
          "commands": "/groups/twitter/-/autocomplete_sources/commands?type=WorkItem&work_item_type_id=1",
          "epics": "/groups/twitter/-/autocomplete_sources/epics?type=WorkItem&work_item_type_id=1",
          "iterations": "/groups/twitter/-/autocomplete_sources/iterations?type=WorkItem&work_item_type_id=1",
          "vulnerabilities": "/groups/twitter/-/autocomplete_sources/vulnerabilities?type=WorkItem&work_item_type_id=1"
        }
      }
    },
    "public_project_namespace": {
      "markdownPaths": {
        "autocompleteSourcesPath": {
          "members": "/twitter/Typeahead.Js/-/autocomplete_sources/members?type=WorkItem&work_item_type_id=1",
          "issues": "/twitter/Typeahead.Js/-/autocomplete_sources/issues?type=WorkItem&work_item_type_id=1",
          "merge_requests": "/twitter/Typeahead.Js/-/autocomplete_sources/merge_requests?type=WorkItem&work_item_type_id=1",
          "labels": "/twitter/Typeahead.Js/-/autocomplete_sources/labels?type=WorkItem&work_item_type_id=1",
          "milestones": "/twitter/Typeahead.Js/-/autocomplete_sources/milestones?type=WorkItem&work_item_type_id=1",
          "commands": "/twitter/Typeahead.Js/-/autocomplete_sources/commands?type=WorkItem&work_item_type_id=1",
          "snippets": "/twitter/Typeahead.Js/-/autocomplete_sources/snippets?type=WorkItem&work_item_type_id=1",
          "contacts": "/twitter/Typeahead.Js/-/autocomplete_sources/contacts?type=WorkItem&work_item_type_id=1",
          "wikis": "/twitter/Typeahead.Js/-/autocomplete_sources/wikis?type=WorkItem&work_item_type_id=1",
          "epics": "/twitter/Typeahead.Js/-/autocomplete_sources/epics?type=WorkItem&work_item_type_id=1",
          "iterations": "/twitter/Typeahead.Js/-/autocomplete_sources/iterations?type=WorkItem&work_item_type_id=1",
          "vulnerabilities": "/twitter/Typeahead.Js/-/autocomplete_sources/vulnerabilities?type=WorkItem&work_item_type_id=1"
        }
      }
    }
  },
  "correlationId": "01K1057XV1KZR5TY94108VNG2T"
}

Merge request reports

Loading