summaryrefslogtreecommitdiff
path: root/app/graphql/resolvers
Commit message (Collapse)AuthorAgeFilesLines
* Fix incorrect instances of `GraphQL::ID_TYPE`Bob Van Landuyt2019-06-032-4/+4
| | | | | | | | | | | 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
* Add Namespace and ProjectStatistics to GraphQL APIAlessio Caiazza2019-06-032-0/+46
| | | | | | We can query namespaces, and nested projects. Projects now exposes statistics
* Added common fields to the IssueType10795-add-epic-tree-BE-epic-graphql-supportBrett Walker2019-05-313-3/+3
| | | | | and allow passing of child_complexity to the 'resolver_complexity' metho
* Merge branch 'graphql-tree' into 'master'Nick Thomas2019-05-221-0/+26
|\ | | | | | | | | Added repository files to GraphQL API See merge request gitlab-org/gitlab-ce!28325
| * Added repository files to GraphQL APIPhil Hughes2019-05-221-0/+26
| |
* | Fix typos in the whole gitlab-ce projectYoginth2019-05-201-1/+1
|/
* GraphQL - Add extra complexity for resolversJan Provaznik2019-05-064-0/+40
| | | | | | | | | | | | | | | | | | 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).
* Merge branch 'bw-add-graphql-groups' into 'master'Grzegorz Bizon2019-04-302-3/+16
|\ | | | | | | | | | | | | Add basic GraphQL for a Group Closes #60786 See merge request gitlab-org/gitlab-ce!27492
| * Basic GraphQL for a groupBrett Walker2019-04-232-3/+16
| | | | | | | | | | Add new query for Groups, with new GroupType and NamespaceType
* | Port changes for design management to CEBob Van Landuyt2019-04-291-0/+6
|/ | | | | | This ports the changes from https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/10462/ to CE
* Add metadata about the GitLab server to GraphQLNick Thomas2019-03-051-0/+11
|
* Add GraphQL filters for issuables (state, labels, time fields)Rémy Coutable2019-02-211-1/+24
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Use a block and move setup to example directly56485-implement-graphql-mergerequestsresolverLin Jen-Shin2019-02-141-1/+1
|
* Implement singular iid for IssuesResolver and ProjectTypeLin Jen-Shin2019-02-142-4/+7
|
* Add field mergeRequests for project in GraphQLLin Jen-Shin2019-02-142-4/+22
| | | | And fix the tests so that it won't run into circular paths.
* Add argument iids to IssuesResolverLin Jen-Shin2019-02-011-0/+4
|
* Suggests issues when typing titlePhil Hughes2018-11-271-0/+25
| | | | | | | | | | | | | | | 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
* Batch load only data from same repository when lazy object is accessedDouwe Maan2018-11-262-6/+8
| | | | | | | 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.
* Merge branch 'frozen-string-app-finders-graphql' into 'master'Stan Hu2018-09-137-0/+14
|\ | | | | | | | | Enable frozen string in app/graphql + app/finders See merge request gitlab-org/gitlab-ce!21681
| * Enable frozen string in app/graphql + app/findersgfyoung2018-09-117-0/+14
| | | | | | | | Partially addresses #47424.
* | Disable existing offenses for the CodeReuse copsYorick Peterse2018-09-111-0/+2
|/ | | | | This whitelists all existing offenses for the various CodeReuse cops, of which most are triggered by the CodeReuse/ActiveRecord cop.
* Add pipeline lists to GraphQLBob Van Landuyt2018-07-043-0/+50
| | | | | | | | | 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.
* Allow querying a single MR within a projectBob Van Landuyt2018-06-151-6/+5
| | | | | | | | 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.
* Correct the type of the `MergeRequestResolver`.Bob Van Landuyt2018-06-141-1/+1
| | | | | This was overridden in the fields where this resolver was used. So this change is purely cosmetic.
* Initial setup GraphQL using graphql-ruby 1.8Bob Van Landuyt2018-06-064-0/+55
- 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