- Sep 04, 2019
-
-
- 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
-
- Aug 26, 2019
-
-
The `GraphQL::Function` has been deprecated in favor of resolvers.
-
Lucy Fox authored
-
- Aug 22, 2019
-
-
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 } } }
-
- Aug 20, 2019
-
- Jul 25, 2019
-
-
Heinrich Lee Yu authored
These are not required because MySQL is not supported anymore
-
- Jul 17, 2019
-
-
This is part of migration of Folder View to Vue
-
- Jul 11, 2019
-
-
Luke Duncalfe authored
This makes our authorization calls available to all GraphQL mutations without the additional step of including the module first.
-
- Jul 10, 2019
-
-
Luke Duncalfe authored
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
-
- Jul 04, 2019
-
-
Charlie Ablett authored
- Remove Gitaly call check for fields that have a constant complexity declared - Add associated test
-
- Jul 03, 2019
-
-
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
-
Charlie Ablett authored
- Add `calls_gitaly: true` to some fields missing (hey, it works!) - Clarify proc wrapping - Add kwargs argument to `mount_mutation`
-
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.
-
Charlie Ablett authored
- If Gitaly calls are missing, it could be due to a conditional and may just become noise
-
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
-
- Jun 28, 2019
-
-
Phil Hughes authored
-
Luke Duncalfe authored
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
-
- Jun 21, 2019
-
-
Bob Van Landuyt authored
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.
-
Bob Van Landuyt authored
This also disables the cop with a reasoning in types where appropriate
-
- Jun 20, 2019
-
-
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`.
-
- Jun 15, 2019
-
-
Patrick Derichs authored
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
-
- Jun 14, 2019
-
-
Mayra Cabrera authored
Add the missing check on GraphQL API for project statistics
-
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`.
-
- Jun 11, 2019
-
-
Bob Van Landuyt authored
Since we're not actually loading commits in that loader, but we're loading blobs with LFS oids in batch and returning only the oids.
-
- Jun 10, 2019
-
-
Phil Hughes authored
-
- Jun 05, 2019
-
-
Brett Walker authored
-
Brett Walker authored
This helps reduce complexity for non-connections
-
Phil Hughes authored
-
- Jun 04, 2019
-
-
- Jun 03, 2019
-
-
Bob Van Landuyt authored
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
-
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.
-
Alessio Caiazza authored
We can query namespaces, and nested projects. Projects now exposes statistics
-
- May 31, 2019
-
-
Brett Walker authored
and allow passing of child_complexity to the 'resolver_complexity' metho
-
- May 30, 2019
-
-
Charlie Ablett authored
- Modify GraphqlLogger to subclass JsonLogger - Replace the single-line analyser with one that can log all the GraphQL query related information in one place. - Implement analyzer behavior with spec
-
- May 28, 2019
-
-
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.
-
- May 22, 2019
-
-
Phil Hughes authored
-
- May 20, 2019
-
-
Brett Walker authored
-
Yoginth authored
-