| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- List all overly-recursive fields
- Reduce recursion threshold to 2
- Add test for not-recursive-enough query
- Use reusable methods in tests
- Add changelog
- Set changeable acceptable recursion level
- Add error check test helpers
|
| |
|
|
|
|
|
|
| |
- `edge_nodes` needs to get called on the object
- added `include GlobalID::Identification` in a couple places
- renamed `object` to `item` in spec due to conflict
|
|
|
|
|
|
|
|
|
| |
- Due to https://github.com/exAspArk/batch-loader/pull/32,
we changed BatchLoader.for into BatchLoader::GraphQL.for
- since our results are wrapped in a BatchLoader::GraphQL,
calling `sync` during authorization is required to get real object
- `graphql` now has it's own authorization system. Our
`authorized?` method conflicted and required renaming
|
|
|
|
|
| |
The `GraphQL::Function` has been deprecated in
favor of resolvers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
}
}
}
|
|
|
|
| |
https://gitlab.com/gitlab-org/gitlab-ce/issues/63372
|
|
|
|
|
| |
These are not required because MySQL is not
supported anymore
|
|
|
|
|
|
|
|
|
|
|
|
| |
A new `discussion_id` argument on the `createNote` mutation allows
people to create a note within that discussion.
The ability to lazy-load Discussions has been added, so
GraphQL.object_from_id can treat Discussions the same as AR objects and
batch load them.
https://gitlab.com/gitlab-org/gitlab-ce/issues/62826
https://gitlab.com/gitlab-org/gitlab-ee/issues/9489
|
|
|
|
| |
https://gitlab.com/gitlab-org/gitlab-ce/issues/62826
|
|\ |
|
| |\
| | |
| | |
| | |
| | | |
Added commit type to tree GraphQL type
See merge request gitlab-org/gitlab-ce!29412
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adding new `AddAwardEmoji`, `RemoveAwardEmoji` and `ToggleAwardEmoji`
GraphQL mutations.
Adding new `#authorized_find_with_pre_checks!` and (unused, but for
completeness `#authorized_find_with_post_checks!`) authorization
methods. These allow us to perform an authorized find, and run our own
additional checks before or after the authorization runs.
https://gitlab.com/gitlab-org/gitlab-ce/issues/62826
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This makes sure we also enforce authorizations for non-nullable
fields.
We are defining our authorizations on the unwrapped
types (Repository). But when a type like that is presented in a
non-nullable field, it's type is different (Repository!). The
non-nullable type would not have the authorization metadata.
This makes sure we check the metadata on the unwrapped type for
finding authorizations.
|
|/
|
|
| |
This also disables the cop with a reasoning in types where appropriate
|
|\
| |
| |
| |
| |
| |
| | |
Make task completion status available via GraphQL
Closes #62910
See merge request gitlab-org/gitlab-ce!29573
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add specs for task completion status (graphql)
Fix style issues
Changed format of constants in spec
Refactor specs to reduce creation of records
Reduce parameters to merge request creation
Use set's for project and user
Move let's out of it_behaves_like block
Fix description parameter
Fix format of lets
Use dig to get task completion status out of graphql response
Modified rspec output
Add changelog entry
|
| |
| |
| |
| | |
Add the missing check on GraphQL API for project statistics
|
|/
|
|
|
|
|
|
|
| |
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`.
|
|
|
|
|
|
|
|
|
|
|
| |
Since the `GraphQL::ID_TYPE` usages should represent globally unique
ids, this changes some fields for which this is not the case into
strings.
The `ID_TYPE` is a specialised, so this change should be backwards
compatible.
https://graphql-ruby.org/type_definitions/scalars.html
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
We can query namespaces, and nested projects.
Projects now exposes statistics
|
|\
| |
| |
| |
| |
| |
| | |
Add logging to GraphQL
Closes #59587
See merge request gitlab-org/gitlab-ce!27885
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Comply doc with guidelines
- Improve tests for readability and completeness
- Separate out phases visually with newlines
- Add `format_message` test
- test readability
- code and test structure/styling
- static query analyzers
- call `as_json` on `provided_variables`
- add exception handling
|
| |
| |
| |
| |
| | |
- Add changelog file
- Fix failing tests
|
| |
| |
| |
| |
| | |
Remove instance variables for class re-use, test individual methods,
use `monotonic_time`
|
| |
| |
| |
| |
| | |
Specify dedicated logfile and logger class for GraphQL queries. Move
complexity analyzer to a dedicated class.
|
|/ |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
and removing unnecessary code
|
|
|
|
|
| |
Add new query for Groups, with new
GroupType and NamespaceType
|
|\
| |
| |
| |
| |
| |
| | |
Only check abilities on rendered GraphQL nodes
Closes #58647 and #60355
See merge request gitlab-org/gitlab-ce!27273
|
| |
| |
| |
| |
| | |
With this we only check abilities on the rendered edges of a GraphQL
connection instead of all the nodes in it.
|
|/ |
|
|
|
|
|
| |
An IntrospectionQuery required more
complexity points.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
| |
|
|
|
|
| |
And add tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
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.
|