Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-03-05Add metadata about the GitLab server to GraphQLNick Thomas
2019-03-04Merge branch 'security-protect-private-repo-information' into 'master'Yorick Peterse
Fix leaking private repository information in API See merge request gitlab/gitlabhq!2881
2019-02-26Improve GraphQL Authorization DSLLuke Duncalfe
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
2019-02-21Add GraphQL filters for issuables (state, labels, time fields)Rémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2019-02-18Removing duplicate field from MergeRequestTypeLuke Duncalfe
2019-02-18Removing sensitive properties from ProjectTypeLuke Duncalfe
defaultBranch and ciConfigPath should only be available to users with the :download_code permission for the Project, as the respository might be private. When implementing the authorize check on these properties, it was found that our current Graphql::Authorize::Instrumentation class does not work with fields that resolve to subclasses of GraphQL::Schema::Scalar, like GraphQL::STRING_TYPE. After discussion with other Create Team members, it has been decided that because the GraphQL API is not GA, to remove these properties from ProjectType, and instead implement them as part of epic https://gitlab.com/groups/gitlab-org/-/epics/711 Issue: https://gitlab.com/gitlab-org/gitlab-ce/issues/55316
2019-02-14Implement singular iid for IssuesResolver and ProjectTypeLin Jen-Shin
2019-02-14Allow authorize on array of objects for GraphQLLin Jen-Shin
And add tests
2019-02-14Add field mergeRequests for project in GraphQLLin Jen-Shin
And fix the tests so that it won't run into circular paths.
2019-02-06Allow custom squash commit messagesLuke Duncalfe
2019-01-24Enable the Layout/ExtraSpacing copRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2018-11-27Suggests issues when typing titlePhil Hughes
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
2018-10-05Make GitLab pages support access controlTuomo Ala-Vannesluoma
2018-09-11Enable frozen string in app/graphql + app/findersgfyoung
Partially addresses #47424.
2018-07-25Add mutation toggling WIP state of merge requestsBob Van Landuyt
This is mainly the setup of mutations for GraphQL. Including authorization and basic return type-structure.
2018-07-04Add pipeline lists to GraphQLBob Van Landuyt
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.
2018-06-28Expose permissions on types in GraphQLBob Van Landuyt
This adds a reusable way to expose permissions for a user to types in GraphQL.
2018-06-15Allow querying a single MR within a projectBob Van Landuyt
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.
2018-06-06Initial setup GraphQL using graphql-ruby 1.8Bob Van Landuyt
- 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
2018-06-05Add `present_using` to typesBob Van Landuyt
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`).
2018-06-05Add a minimal GraphQL APINick Thomas