1
0
mirror of https://github.com/matrix-org/matrix-authentication-service.git synced 2025-11-23 11:02:35 +03:00
Files
authentication-service/crates/graphql/schema.graphql
2022-11-09 19:17:12 +01:00

116 lines
1.6 KiB
GraphQL

type Authentication {
id: ID!
createdAt: DateTime!
}
type BrowserSession {
id: ID!
user: User!
lastAuthentication: Authentication
createdAt: DateTime!
}
"""
Implement the DateTime<Utc> scalar
The input/output is a string in RFC3339 format.
"""
scalar DateTime
type Mutation {
"""
A dummy mutation so that the mutation object is not empty
"""
hello: Boolean!
}
"""
Information about pagination in a connection
"""
type PageInfo {
"""
When paginating backwards, are there more items?
"""
hasPreviousPage: Boolean!
"""
When paginating forwards, are there more items?
"""
hasNextPage: Boolean!
"""
When paginating backwards, the cursor to continue.
"""
startCursor: String
"""
When paginating forwards, the cursor to continue.
"""
endCursor: String
}
type Query {
currentSession: BrowserSession
currentUser: User
}
type Subscription {
"""
A dump subscription to try out the websocket
"""
integers(step: Int! = 1): Int!
}
type User {
id: ID!
username: String!
primaryEmail: UserEmail
emails(after: String, before: String, first: Int, last: Int): UserEmailConnection!
}
type UserEmail {
id: ID!
email: String!
createdAt: DateTime!
confirmedAt: DateTime
}
type UserEmailConnection {
"""
Information to aid in pagination.
"""
pageInfo: PageInfo!
"""
A list of edges.
"""
edges: [UserEmailEdge!]!
"""
A list of nodes.
"""
nodes: [UserEmail!]!
totalCount: Int!
}
"""
An edge in a connection.
"""
type UserEmailEdge {
"""
A cursor for use in pagination
"""
cursor: String!
"""
The item at the end of the edge
"""
node: UserEmail!
}
schema {
query: Query
mutation: Mutation
subscription: Subscription
}