summaryrefslogtreecommitdiff
path: root/app/graphql
Commit message (Collapse)AuthorAgeFilesLines
* Add mutation toggling WIP state of merge requestsBob Van Landuyt2018-07-256-2/+99
| | | | | This is mainly the setup of mutations for GraphQL. Including authorization and basic return type-structure.
* Add pipeline lists to GraphQLBob Van Landuyt2018-07-049-0/+115
| | | | | | | | | 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.
* Expose permissions on types in GraphQLBob Van Landuyt2018-06-286-0/+80
| | | | | This adds a reusable way to expose permissions for a user to types in GraphQL.
* Allow querying a single MR within a projectBob Van Landuyt2018-06-153-13/+12
| | | | | | | | 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-0621-182/+218
| | | | | | | | | - 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
* Add `present_using` to typesBob Van Landuyt2018-06-053-31/+29
| | | | | | | | 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`).
* Convert from GraphQL::Batch to BatchLoaderNick Thomas2018-06-054-55/+32
|
* Add a minimal GraphQL APINick Thomas2018-06-0510-0/+256