import { gql } from 'graphql-tag'; export const typeDefs = gql` type Group { id: ID! name: String! parentId: ID tasks: [Task!]! createdAt: String! updatedAt: String! } type Task { id: ID! name: String! groupId: ID! group: Group! steps: [Step!]! printCount: Int! lastPrintedAt: String createdAt: String! updatedAt: String! notes: [Note!]! printHistory: [PrintHistory!]! } type Step { id: ID! name: String! instructions: String! taskId: ID! task: Task! order: Int! images: [Image!]! printCount: Int! lastPrintedAt: String createdAt: String! updatedAt: String! notes: [Note!]! printHistory: [PrintHistory!]! } type Image { id: ID! stepId: ID! originalPath: String! bwPath: String! order: Int! createdAt: String! updatedAt: String! } type User { id: ID! name: String! createdAt: String! updatedAt: String! } type Note { id: ID! content: String! taskId: ID stepId: ID createdBy: User! createdAt: String! updatedAt: String! } type PrintHistory { id: ID! user: User! task: Task step: Step printedAt: String! createdAt: String! updatedAt: String! } type Query { groups: [Group!]! group(id: ID!): Group tasks(groupId: ID!): [Task!]! task(id: ID!): Task steps(taskId: ID!): [Step!]! step(id: ID!): Step recentTasks: [Task!]! frequentTasks: [Task!]! users: [User!]! user(id: ID!): User notes(taskId: ID, stepId: ID): [Note!]! printHistory(taskId: ID, stepId: ID): [PrintHistory!]! } type Mutation { createGroup(name: String!, parentId: ID): Group! createTask(name: String!, groupId: ID!): Task! createStep(name: String!, instructions: String!, taskId: ID!, order: Int!): Step! createImage(stepId: ID!, originalPath: String!, bwPath: String!, order: Int!): Image! createUser(name: String!): User! createNote(content: String!, taskId: ID, stepId: ID, createdBy: ID!): Note! printTask(id: ID!, userId: ID!): Task! printStep(id: ID!, userId: ID!): Step! } `;