gitlab-org--gitlab-foss/lib/gitlab/graphql
Luke Duncalfe ccb4edbca1 Improve GraphQL Authorization DSL
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-26 10:22:12 +13:00
..
authorize Improve GraphQL Authorization DSL 2019-02-26 10:22:12 +13:00
connections Enable even more frozen string in lib/gitlab 2018-11-13 11:42:15 -08:00
loaders Suggests issues when typing title 2018-11-27 15:10:40 +00:00
present Enable even more frozen string in lib/gitlab 2018-11-13 11:42:15 -08:00
authorize.rb Improve GraphQL Authorization DSL 2019-02-26 10:22:12 +13:00
connections.rb Enable even more frozen string in lib/gitlab 2018-11-13 11:42:15 -08:00
errors.rb Enable even more frozen string in lib/gitlab 2018-11-13 11:42:15 -08:00
expose_permissions.rb Enable even more frozen string in lib/gitlab 2018-11-13 11:42:15 -08:00
mount_mutation.rb
present.rb Enable even more frozen string in lib/gitlab 2018-11-13 11:42:15 -08:00
variables.rb Enable even more frozen string in lib/gitlab 2018-11-13 11:42:15 -08:00