# import * from './database/generated/prisma.graphql' scalar Upload type FsFile { filename: String! path: String! size: Int! ctime: DateTime! mtime: DateTime! } type TrainingArchiveItem { id: ID! title: String! type: TrainingType! trainingDate: DateTime! location: String! attendance: Int ratings: Float blocks: [String!]! duration: Int } type TrainingArchive { trainings: [TrainingArchiveItem!]! totalCount: Int! } type Query { # Training module trainingArchive(skip: Int, first: Int): TrainingArchive! publishedTrainings( where: TrainingWhereInput orderBy: TrainingOrderByInput skip: Int first: Int ): [Training!]! training(id: ID): Training! trainings( where: TrainingWhereInput orderBy: TrainingOrderByInput skip: Int after: String before: String first: Int last: Int ): [Training!]! trainingsCount(where: TrainingWhereInput): TrainingConnection! # File module fsFiles(directory: String!): [FsFile!]! files: [File!]! currentUser: User! user(where: UserWhereUniqueInput!): User users( where: UserWhereInput orderBy: UserOrderByInput skip: Int after: String before: String first: Int last: Int ): [User!]! trainingType(where: TrainingTypeWhereUniqueInput!): TrainingType trainingTypes( where: TrainingTypeWhereInput orderBy: TrainingTypeOrderByInput skip: Int after: String before: String first: Int last: Int ): [TrainingType!]! block(where: BlockWhereUniqueInput!): Block blocks( where: BlockWhereInput orderBy: BlockOrderByInput skip: Int after: String before: String first: Int last: Int ): [Block!]! format(where: FormatWhereUniqueInput!): Format formats( where: FormatWhereInput orderBy: FormatOrderByInput skip: Int after: String before: String first: Int last: Int ): [Format!]! exercise(where: ExerciseWhereUniqueInput!): Exercise exercises( where: ExerciseWhereInput orderBy: ExerciseOrderByInput skip: Int after: String before: String first: Int last: Int ): [Exercise!]! } type Mutation { # File module uploadFile(file: Upload!, comment: String): File! # User module createUser(data: UserCreateInput!): User! updateUser(email: String!, data: UserUpdateInput!): User deleteUser(email: String!): User # Training module createTraining( title: String! type: TrainingTypeCreateOneInput! trainingDate: DateTime! location: String! attendance: Int published: Boolean! blocks: BlockInstanceCreateManyWithoutParentTrainingInput ): Training! deleteTraining(id: ID!): Training! updateTraining(where: TrainingWhereUniqueInput!, data: TrainingUpdateInput!): Training! createTrainingType(name: String!, description: String!): TrainingType! # createBlock( # title: String! # description: String # videos: [String!] # pictures: [String!] # duration: Int # format: FormatCreateOneInput! # rest: Int # tracks: TrackCreateManyInput # blocks: BlockInstanceCreateManyInput # exercises: ExerciseInstanceCreateManyInput # ): Block! createFormat(name: String!, description: String!): Format! userLogin(email: String!, password: String!): User! userLogout: String! userSignup(name: String!, email: String!, password: String!): User! requestReset(email: String!): String! resetPassword(token: String!, password: String!): User! register(training: ID!): Training! deregister(training: ID!): Training! publish(training: ID!, status: Boolean): Training! }