Skip to content
Snippets Groups Projects
  1. Sep 04, 2019
  2. Aug 26, 2019
  3. Aug 22, 2019
    • Alessio Caiazza's avatar
      Expose namespace storage statistics with GraphQL · 606a1d2d
      Alessio Caiazza authored and Mayra Cabrera's avatar Mayra Cabrera committed
      Root namespaces have storage statistics.
      This commit allows namespace owners to get those stats via GraphQL
      queries like the following one
      
      {
        namespace(fullPath: "a_namespace_path") {
          rootStorageStatistics {
            storageSize
            repositorySize
            lfsObjectsSize
            buildArtifactsSize
            packagesSize
            wikiSize
          }
        }
      }
      606a1d2d
  4. Jul 25, 2019
  5. Jul 17, 2019
  6. Jul 10, 2019
  7. Jul 04, 2019
  8. Jul 03, 2019
    • Charlie Ablett's avatar
      Address reviewer comments · cf1b0d10
      Charlie Ablett authored
      - Add 1 for all fields that call Gitaly (with resolvers or without)
      - Clarify comment regarding Gitaly call alert
      - Expose predicate `calls_gitaly?` instead of ivar
      cf1b0d10
    • Charlie Ablett's avatar
      Alert if `calls_gitaly` declaration missing · f4890d90
      Charlie Ablett authored
      - Move `calls_gitaly_check` to public
      - Add instrumentation for flagging missing CallsGitaly declarations
      - Wrap resolver proc in before-and-after Gitaly counts to get the net
      Gitaly call count for the resolver.
      f4890d90
    • Charlie Ablett's avatar
      Remove potentially noisy warning · c99c30fd
      Charlie Ablett authored
      - If Gitaly calls are missing, it could be due to a conditional and
      may just become noise
      c99c30fd
    • Charlie Ablett's avatar
      Enumerate fields with Gitaly calls · 8b809837
      Charlie Ablett authored
       - Add a complexity of 1 if Gitaly is called at least once
       - Add an error notification if `calls_gitaly` isn't right for a
       particular field
      8b809837
  9. Jun 28, 2019
  10. Jun 21, 2019
  11. Jun 20, 2019
    • Bob Van Landuyt :neckbeard:'s avatar
      Render GFM html in GraphQL · 40680858
      Bob Van Landuyt :neckbeard: authored and Douwe Maan's avatar Douwe Maan committed
      This adds a `markdown_field` to our types.
      
      Using this helper will render a model's markdown field using the
      existing `MarkupHelper` with the context of the GraphQL query
      available to the helper.
      
      Having the context available to the helper is needed for redacting
      links to resources that the current user is not allowed to see.
      
      Because rendering the HTML can cause queries, the complexity of a
      these fields is raised by 5 above the default.
      
      The markdown field helper can be used as follows:
      
            ```
            markdown_field :note_html, null: false
            ```
      
      This would generate a field that will render the markdown field `note`
      of the model. This could be overridden by adding the `method:`
      argument. Passing a symbol for the method name:
      
            ```
            markdown_field :body_html, null: false, method: :note
            ```
      
      It will have this description by default:
      
      > The GitLab Flavored Markdown rendering of `note`
      
      This could be overridden by passing a `description:` argument.
      
      The type of a `markdown_field` is always `GraphQL::STRING_TYPE`.
      40680858
  12. Jun 14, 2019
    • Bob Van Landuyt's avatar
      Expose comments on Noteables in GraphQL · b6ff5f1e
      Bob Van Landuyt authored
      This exposes `Note`s on Issues & MergeRequests using a
      `Types::Notes::NoteableType` in GraphQL.
      
      Exposing notes on a new type can be done by implementing the
      `NoteableType` interface on the type. The presented object should
      be a `Noteable`.
      b6ff5f1e
  13. Jun 10, 2019
  14. Jun 05, 2019
  15. Jun 04, 2019
  16. Jun 03, 2019
    • Bob Van Landuyt's avatar
      Expose IDs in GraphQL as a GlobalID · ed503d51
      Bob Van Landuyt authored
      This exposes all fields named `id` as GlobalIDs so they can be used
      across our entire GraphQL implementation.
      
      When the objects loaded are `ApplicationRecord`s. We'll use our
      existing batchloading to find them. Otherwise, we'll fall back to the
      default implementation of `GlobalID`: Calling the `.find` method on
      the class.
      ed503d51
    • Alessio Caiazza's avatar
      Add Namespace and ProjectStatistics to GraphQL API · 83a8b779
      Alessio Caiazza authored
      We can query namespaces, and nested projects.
      
      Projects now exposes statistics
      83a8b779
  17. May 31, 2019
  18. May 28, 2019
    • Phil Hughes's avatar
      Enables GraphQL batch requests · 11f85ae8
      Phil Hughes authored
      Enabling GraphQL batch requests allows for multiple queries
      to be sent in 1 request reducing the amount of requests
      we send to the server.
      
      Responses come come back in the same order as the queries were
      provided.
      11f85ae8
  19. May 22, 2019
  20. May 20, 2019
  21. May 06, 2019
    • Jan Provaznik's avatar
      GraphQL - Add extra complexity for resolvers · 5ee7884d
      Jan Provaznik authored and Ash McKenzie's avatar Ash McKenzie committed
      If a field is a resolver, its complexity is automatically
      increased. By default we add extra points for sort and search
      arguments (which will be common for various resolvers).
      
      For specific resolvers we add field-specific complexity, e.g.
      for Issues complexity is increased if we filter issues by `labelName`
      (because then SQL query is more complex). We may want to tune these
      values in future depending on real-life results.
      
      Complexity is also dependent on the number of loaded nodes, but only
      if we don't search by specific ID(s). Also added complexity is limited
      (by default only twice more than child complexity) - the reason is
      that although it's more complex to process more items, the complexity
      increase is not linear (there is not so much difference between loading
      10, 20 or 100 records from DB).
      5ee7884d
    • Ken Ding's avatar
      58404 - setup max depth for graphql · f80f68d5
      Ken Ding authored
      58404 - add change log
      
      
      58404 - add spec
      
      
      58404 - add more spec to test depth 2
      
      
      58404 - fix spec
      
      
      58404 - fix rubocop
      
      
      58404 - refactor the code by Bob's advice
      
      
      58404 - revert changes of all_graphql_fields_for
      
      
      58404 - change text only
      
      
      58404 - fix rspec according to gitlab's standard
      
      
      58404 - revert previous spec
      
      
      58404 - fix rubocop
      f80f68d5
  22. Apr 29, 2019
  23. Apr 23, 2019
  24. Apr 18, 2019
  25. Apr 04, 2019
  26. Apr 03, 2019
    • Luke Duncalfe's avatar
      GraphQL Type authorization · 8207f787
      Luke Duncalfe authored
      Enables authorizations to be defined on GraphQL Types.
      
          module Types
            class ProjectType < BaseObject
              authorize :read_project
            end
          end
      
      If a field has authorizations defined on it, and the return type of the
      field also has authorizations defined on it. then all of the combined
      permissions in the authorizations will be checked and must pass.
      
      Connection fields are checked by "digging" to find the type class of the
      "node" field in the expected location of edges->node.
      
      Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/54417
      8207f787
  27. Apr 01, 2019
    • Bob Van Landuyt's avatar
      Extra permissions in Project & Issue GraphQL · e756dca0
      Bob Van Landuyt authored
      Allow extra permissions for the `Types::ProjectType` and
      `Types:IssueType` GraphQL types. As we'll be adding more permissions
      in CE.
      
      Now this spec only validates if all the expected permissions are
      present, but it will not fail if there are more.
      e756dca0
  28. Mar 21, 2019
    • Sam Bigelow's avatar
      Add merge request popover with details · 1a14e523
      Sam Bigelow authored
      - Show pipeline status, title, MR Status and project path
      - Popover attached to gitlab flavored markdown everywhere, including:
        + MR/Issue Title
        + MR/Issue description
        + MR/Issue comments
        + Rendered markdown files
      1a14e523
  29. Mar 05, 2019
Loading