1. 14 6月, 2019 1 次提交
    • B
      Expose comments on Noteables in GraphQL · b6ff5f1e
      Bob Van Landuyt 提交于
      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
  2. 11 6月, 2019 1 次提交
  3. 10 6月, 2019 1 次提交
  4. 05 6月, 2019 3 次提交
  5. 04 6月, 2019 3 次提交
  6. 03 6月, 2019 1 次提交
  7. 01 6月, 2019 1 次提交
  8. 22 5月, 2019 1 次提交
  9. 21 5月, 2019 1 次提交
  10. 07 5月, 2019 1 次提交
    • J
      GraphQL - Add extra complexity for resolvers · 5ee7884d
      Jan Provaznik 提交于
      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
  11. 24 4月, 2019 2 次提交
  12. 04 4月, 2019 1 次提交
    • B
      Initial field and query complexity limits · f458c561
      Brett Walker 提交于
      It makes all Types::BaseField default to a complexity of 1.
      
      Queries themselves now have limited complexity, scaled
      to the type of user: no user, authenticated user, or an
      admin user.
      f458c561
  13. 03 4月, 2019 1 次提交
    • L
      GraphQL Type authorization · 8207f787
      Luke Duncalfe 提交于
      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
  14. 21 3月, 2019 1 次提交
    • S
      Add merge request popover with details · 1a14e523
      Sam Bigelow 提交于
      - 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
  15. 05 3月, 2019 1 次提交
  16. 26 2月, 2019 1 次提交
    • L
      Improve GraphQL Authorization DSL · ccb4edbc
      Luke Duncalfe 提交于
      Previously GraphQL field authorization happened like this:
      
          class ProjectType
            field :my_field, MyFieldType do
              authorize :permission
            end
          end
      
      This change allowed us to authorize like this instead:
      
          class ProjectType
            field :my_field, MyFieldType, authorize: :permission
          end
      
      A new initializer registers the `authorize` metadata keyword on GraphQL
      Schema Objects and Fields, and we can collect this data within the
      context of Instrumentation like this:
      
          field.metadata[:authorize]
      
      The previous functionality of authorize is still being used for
      mutations, as the #authorize method here is called at during the code
      that executes during the mutation, rather than when a field resolves.
      
      https://gitlab.com/gitlab-org/gitlab-ce/issues/57828
      ccb4edbc
  17. 21 2月, 2019 1 次提交
  18. 18 2月, 2019 2 次提交
  19. 14 2月, 2019 3 次提交
  20. 06 2月, 2019 1 次提交
  21. 24 1月, 2019 1 次提交
  22. 27 11月, 2018 1 次提交
    • P
      Suggests issues when typing title · 50e21a89
      Phil Hughes 提交于
      This suggests possibly related issues when the user types a title.
      
      This uses GraphQL to allow the frontend to request the exact
      data that is requires. We also get free caching through the Vue Apollo
      plugin.
      
      With this we can include the ability to import .graphql files in JS
      and Vue files.
      Also we now have the Vue test utils library to make testing
      Vue components easier.
      
      Closes #22071
      50e21a89
  23. 05 10月, 2018 1 次提交
  24. 12 9月, 2018 1 次提交
  25. 26 7月, 2018 1 次提交
  26. 04 7月, 2018 1 次提交
    • B
      Add pipeline lists to GraphQL · 04b04658
      Bob Van Landuyt 提交于
      This adds Keyset pagination to GraphQL lists. PoC for that is
      pipelines on merge requests and projects.
      
      When paginating a list, the base-64 encoded id of the ordering
      field (in most cases the primary key) can be passed in the `before` or
      `after` GraphQL argument.
      04b04658
  27. 28 6月, 2018 1 次提交
  28. 15 6月, 2018 1 次提交
    • B
      Allow querying a single MR within a project · 9403b1d9
      Bob Van Landuyt 提交于
      This allows the user to get a single MR nested in a GraphQL project
      query.
      
      Since we need the full path and the iid anyway, this makes more sense
      than having a root query that needs the full path as well.
      9403b1d9
  29. 06 6月, 2018 3 次提交