Age | Commit message (Collapse) | Author |
|
https://gitlab.com/gitlab-org/gitlab-ce/issues/67012
|
|
This makes our authorization calls available to all GraphQL mutations
without the additional step of including the module first.
|
|
Fixing square brackets, links, etc in:
merge_requests.md
vulnerabilities.md
issues.md
issues_statistics.md
pipelines.md
services.md
group_milestones.md
milestones.md
runners.md
changelog.md
issue_workflow.md
elasticsearch.md
api_graphql_styleguide.md
automatic_ce_ee_merge.md
file_storage.md
architecture.md
database_debugging.md
index.md
index.md
frontend_testing.md
pry_debugging.md
vue.md
development_process.md
|
|
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/29921#note_184713939
|
|
Also adds and one linting rule
and makes project conform to it.
|
|
See https://gitlab.com/gitlab-org/create-stage/issues/1 for more context
|
|
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.
|
|
|
|
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
|
|
|
|
This is mainly the setup of mutations for GraphQL. Including
authorization and basic return type-structure.
|
|
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.
|
|
This adds a reusable way to expose permissions for a user to types in
GraphQL.
|
|
- All definitions have been replaced by classes:
http://graphql-ruby.org/schema/class_based_api.html
- Authorization & Presentation have been refactored to work in the
class based system
- Loaders have been replaced by resolvers
- Times are now coersed as ISO 8601
|
|
By specifying a presenter for the object type, we can keep the logic
out of `GitlabSchema`.
The presenter gets initialized using the object being presented, and
the context (including the `current_user`).
|