1. 05 Mar, 2019 1 commit
  2. 25 Feb, 2019 1 commit
    • Luke Duncalfe's avatar
      Improve GraphQL Authorization DSL · ccb4edbc
      Luke Duncalfe authored
      Previously GraphQL field authorization happened like this:
          class ProjectType
            field :my_field, MyFieldType do
              authorize :permission
      This change allowed us to authorize like this instead:
          class ProjectType
            field :my_field, MyFieldType, authorize: :permission
      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:
      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.
  3. 21 Feb, 2019 1 commit
  4. 18 Feb, 2019 1 commit
  5. 17 Feb, 2019 1 commit
    • Luke Duncalfe's avatar
      Removing sensitive properties from ProjectType · 19cb1985
      Luke Duncalfe authored
      defaultBranch and ciConfigPath should only be available to users with
      the :download_code permission for the Project, as the respository might
      be private.
      When implementing the authorize check on these properties, it was
      found that our current Graphql::Authorize::Instrumentation class does
      not work with fields that resolve to subclasses of
      GraphQL::Schema::Scalar, like GraphQL::STRING_TYPE.
      After discussion with other Create Team members, it has been decided
      that because the GraphQL API is not GA, to remove these properties from
      ProjectType, and instead implement them as part of epic
  6. 14 Feb, 2019 4 commits
  7. 06 Feb, 2019 1 commit
  8. 01 Feb, 2019 1 commit
  9. 24 Jan, 2019 1 commit
  10. 27 Nov, 2018 1 commit
    • Phil Hughes's avatar
      Suggests issues when typing title · 50e21a89
      Phil Hughes authored
      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
      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
  11. 26 Nov, 2018 1 commit
    • Douwe Maan's avatar
      Batch load only data from same repository when lazy object is accessed · 5f0e4040
      Douwe Maan authored
      By specifying `key`, we get a different lazy batch loader for each
      repository, which means that accessing a lazy object from one repository
      will only result in that repository's objects being fetched, not those
      of other repositories, saving us some unnecessary Gitaly lookups.
  12. 05 Oct, 2018 1 commit
  13. 11 Sep, 2018 2 commits
  14. 25 Jul, 2018 1 commit
  15. 04 Jul, 2018 1 commit
    • Bob Van Landuyt's avatar
      Add pipeline lists to GraphQL · 04b04658
      Bob Van Landuyt authored
      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.
  16. 28 Jun, 2018 1 commit
  17. 15 Jun, 2018 1 commit
    • Bob Van Landuyt's avatar
      Allow querying a single MR within a project · 9403b1d9
      Bob Van Landuyt authored
      This allows the user to get a single MR nested in a GraphQL project
      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.
  18. 14 Jun, 2018 1 commit
  19. 06 Jun, 2018 1 commit
  20. 05 Jun, 2018 3 commits