lldap/schema.graphql
Valentin Tolmer 0ac9e134de schema: make user fields non-nullable
They can always be empty. This simplifies mutation, since graphql_client
doesn't have an easy way to conditionally leave out fields (we could do
that with `@include`, but that's one bool per field in addition to the
field, a bit ugly).
2021-09-03 14:32:33 +02:00

59 lines
1,016 B
GraphQL

input EqualityConstraint {
field: String!
value: String!
}
type Mutation {
createUser(user: UserInput!): User!
}
type Group {
id: String!
"The groups to which this user belongs."
users: [User!]!
}
"""
A filter for requests, specifying a boolean expression based on field constraints. Only one of
the fields can be set at a time.
"""
input RequestFilter {
any: [RequestFilter!]
all: [RequestFilter!]
not: RequestFilter
eq: EqualityConstraint
}
"DateTime"
scalar DateTimeUtc
"The details required to create a user."
input UserInput {
id: String!
email: String!
displayName: String
firstName: String
lastName: String
}
type Query {
apiVersion: String!
user(userId: String!): User!
users(filters: RequestFilter): [User!]!
}
type User {
id: String!
email: String!
displayName: String!
firstName: String!
lastName: String!
creationDate: DateTimeUtc!
"The groups to which this user belongs."
groups: [Group!]!
}
schema {
query: Query
mutation: Mutation
}