<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/spec/graphql/features, branch document-lambda-deploy</title>
<subtitle>gitlab.com: gitlab-org/gitlab-ce.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/'/>
<entry>
<title>Upgrade graphql gem to 1.9.10</title>
<updated>2019-09-04T21:57:37+00:00</updated>
<author>
<name>Brett Walker</name>
<email>bwalker@gitlab.com</email>
</author>
<published>2019-09-04T21:57:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=ec2b4bb65da6f5b6a5ab813349049806c1b3851e'/>
<id>ec2b4bb65da6f5b6a5ab813349049806c1b3851e</id>
<content type='text'>
- `edge_nodes` needs to get called on the object
- added `include GlobalID::Identification` in a couple places
- renamed `object` to `item` in spec due to conflict
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- `edge_nodes` needs to get called on the object
- added `include GlobalID::Identification` in a couple places
- renamed `object` to `item` in spec due to conflict
</pre>
</div>
</content>
</entry>
<entry>
<title>Expose IDs in GraphQL as a GlobalID</title>
<updated>2019-06-03T19:59:25+00:00</updated>
<author>
<name>Bob Van Landuyt</name>
<email>bob@vanlanduyt.co</email>
</author>
<published>2019-06-03T17:38:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=ed503d51a39943b482e917028d589cc26ec01c95'/>
<id>ed503d51a39943b482e917028d589cc26ec01c95</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Only check abilities on rendered GraphQL nodes</title>
<updated>2019-04-18T14:17:29+00:00</updated>
<author>
<name>Bob Van Landuyt</name>
<email>bob@vanlanduyt.co</email>
</author>
<published>2019-04-11T09:07:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=eca8e6f09b1800b58904582b527103b5c755e898'/>
<id>eca8e6f09b1800b58904582b527103b5c755e898</id>
<content type='text'>
With this we only check abilities on the rendered edges of a GraphQL
connection instead of all the nodes in it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With this we only check abilities on the rendered edges of a GraphQL
connection instead of all the nodes in it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use parent object when authorizing scalar types</title>
<updated>2019-04-04T14:03:21+00:00</updated>
<author>
<name>Brett Walker</name>
<email>bwalker@gitlab.com</email>
</author>
<published>2019-03-20T23:39:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=6643b92b8807e2d59f36d676303b89ea01824f22'/>
<id>6643b92b8807e2d59f36d676303b89ea01824f22</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>GraphQL Type authorization</title>
<updated>2019-04-03T01:36:33+00:00</updated>
<author>
<name>Luke Duncalfe</name>
<email>lduncalfe@eml.cc</email>
</author>
<published>2019-03-04T02:30:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=8207f7877fea6987cbd8ef26e6f01feca6608bd2'/>
<id>8207f7877fea6987cbd8ef26e6f01feca6608bd2</id>
<content type='text'>
Enables authorizations to be defined on GraphQL Types.

    module Types
      class ProjectType &lt; BaseObject
        authorize :read_project
      end
    end

If a field has authorizations defined on it, and the return type of the
field also has authorizations defined on it. then all of the combined
permissions in the authorizations will be checked and must pass.

Connection fields are checked by "digging" to find the type class of the
"node" field in the expected location of edges-&gt;node.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/54417
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enables authorizations to be defined on GraphQL Types.

    module Types
      class ProjectType &lt; BaseObject
        authorize :read_project
      end
    end

If a field has authorizations defined on it, and the return type of the
field also has authorizations defined on it. then all of the combined
permissions in the authorizations will be checked and must pass.

Connection fields are checked by "digging" to find the type class of the
"node" field in the expected location of edges-&gt;node.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/54417
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve GraphQL Authorization DSL</title>
<updated>2019-02-25T21:22:12+00:00</updated>
<author>
<name>Luke Duncalfe</name>
<email>lduncalfe@eml.cc</email>
</author>
<published>2019-02-18T01:19:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=ccb4edbca1aa7e94a76a5a8d361af02fd093e1b9'/>
<id>ccb4edbca1aa7e94a76a5a8d361af02fd093e1b9</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
</feed>
