type RegisterResponse { accessToken: String! refreshToken: String! errors: [AuthError!]! } type AuthError { message: String! code: String! } enum WorkerKind { COMPLETION CHAT } type Mutation { resetRegistrationToken(token: String): String! register(email: String!, password1: String!, password2: String!): RegisterResponse! tokenAuth(email: String!, password: String!): TokenAuthResponse! verifyToken(token: String!): VerifyTokenResponse! } type UserInfo { email: String! isAdmin: Boolean! } type VerifyTokenResponse { errors: [AuthError!]! claims: Claims! } type Claims { exp: Float! iat: Float! user: UserInfo! } type Query { workers: [Worker!]! registrationToken: String! } type Worker { kind: WorkerKind! name: String! addr: String! device: String! arch: String! cpuInfo: String! cpuCount: Int! cudaDevices: [String!]! } type TokenAuthResponse { accessToken: String! refreshToken: String! errors: [AuthError!]! } schema { query: Query mutation: Mutation }