105 lines
2.1 KiB
TypeScript
105 lines
2.1 KiB
TypeScript
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!
|
|
}
|
|
`; |