input UserChanges { name: String } input CreateProjectChanges { title: String! } input ProjectTaskChanges { label: String categoryId: ID estimations: ProjectTaskEstimationsChanges } input ProjectTaskEstimationsChanges { optimistic: Float likely: Float pessimistic: Float } input ProjectParamsChanges { timeUnit: TimeUnitChanges currency: String roundUpEstimations: Boolean hideFinancialPreviewOnPrint: Boolean } input TimeUnitChanges { label: String acronym: String } input ProjectTaskCategoryChanges { label: String costPerTimeUnit: Float } type Mutation { updateUser(id: ID!, changes: UserChanges!): User! createProject(changes: CreateProjectChanges!): Project! updateProjectTitle(projectId: ID!, title: String!): Project! addProjectTask(projectId: ID!, changes: ProjectTaskChanges!): Task! removeProjectTask(projectId: ID!, taskId: ID!): Boolean! updateProjectTask(projectId: ID!, taskId: ID!, changes: ProjectTaskChanges!): Task! addProjectTaskCategory(projectId: ID!, changes: ProjectTaskCategoryChanges!): TaskCategory! updateProjectTaskCategory(projectId: ID!, taskCategoryId: ID!, changes: ProjectTaskCategoryChanges!): TaskCategory! removeProjectTaskCategory(projectId: ID!, taskCategoryId: ID!): Boolean! updateProjectParams(projectId: ID!, changes: ProjectParamsChanges!): ProjectParams! }