# import * from './database/generated/prisma.graphql' scalar Upload input InstrumentParameterInput { id: ID tag: String! name: String description: String type: String! values: String } input InstrumentCommandInput { id: ID tag: String! name: String description: String! readString: String writeString: String subsystem: String parameters: [ID]! } input FileUpload { id: ID name: String! description: String! file: Upload! } type Query { projects(where: ProjectWhereInput, orderBy: ProjectOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Project]! projectVersions(where: ProjectVersionWhereInput, orderBy: ProjectVersionOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [ProjectVersion]! instruments(where: InstrumentWhereInput, orderBy: InstrumentOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Instrument]! instrument(id: ID!): Instrument uploads: [File] me: User! } type Mutation { createInstrument(id: ID, name: String!, manufacturer: String!, description: String, picture: ID, interfaces: [String]!, documents: [FileUpload]!, commands: [InstrumentCommandInput]!): Instrument! createCharacterization(name: String!, projectVersion: ID!): Characterization! createUser(name: String!, email: String!, abbreviation: String!, password: String!): User! createProject(name: String!, abbreviation: String!, description: String): Project! createProjectVersion(name: String!, date: String!, project: ID!, changes: [String]): ProjectVersion! userLogin(email: String!, password: String!): User! userLogout: String! uploadFiles(files: [Upload!]!, name: String!, description: String!): String! }