mirror of
https://github.com/open-policy-agent/opa.git
synced 2026-08-18 22:41:00 -06:00
45a3d8ee70
This commit addresses issues around vendoring the 3rd party GraphQL parser library, `vektah/gqlparser`, which is used by our GraphQL builtins. By directly depending on the library, we accidentally forced all of our library users to have to match `gqlparser` versions, which could cause problems if they wanted to use downstream GraphQL libraries. To fix this version clash problem, this PR internalizes `vektah/gqlparser` v2.4.8 into the `internal/gqlparser` package (we can update to v2.5.0 later). Scripts are included to automate some of the internalizing process if we wish to update the library in the future. Fixes: #5065 Signed-off-by: Philip Conrad <philipaconrad@gmail.com>
32 lines
471 B
GraphQL
32 lines
471 B
GraphQL
schema {
|
|
query: Query
|
|
}
|
|
|
|
extend schema {
|
|
subscription: Subscription
|
|
}
|
|
|
|
type Query {
|
|
dogs: [Dog!]!
|
|
}
|
|
|
|
type Subscription {
|
|
dogEvents: [Dog!]!
|
|
}
|
|
|
|
type Dog {
|
|
name: String!
|
|
}
|
|
|
|
type Person @favorite(name: "sushi") @favorite(name: "tempura") {
|
|
name: String!
|
|
}
|
|
|
|
directive @favorite(name: String!) repeatable on OBJECT
|
|
|
|
extend type Dog {
|
|
owner: Person! @permission(permission: "admin")
|
|
}
|
|
|
|
directive @permission(permission: String!) on FIELD_DEFINITION
|