2020-04-10 04:40:22 +02:00
|
|
|
scalar Time
|
|
|
|
scalar UUID
|
|
|
|
|
2020-04-21 01:04:27 +02:00
|
|
|
type ProjectLabel {
|
|
|
|
projectLabelID: ID!
|
|
|
|
createdDate: Time!
|
|
|
|
colorHex: String!
|
|
|
|
name: String
|
|
|
|
}
|
|
|
|
|
2020-04-20 05:02:55 +02:00
|
|
|
type TaskLabel {
|
|
|
|
taskLabelID: ID!
|
2020-04-21 01:04:27 +02:00
|
|
|
projectLabelID: UUID!
|
|
|
|
assignedDate: Time!
|
2020-04-20 05:02:55 +02:00
|
|
|
colorHex: String!
|
2020-04-21 01:04:27 +02:00
|
|
|
name: String
|
2020-04-20 05:02:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type ProfileIcon {
|
|
|
|
url: String
|
|
|
|
initials: String
|
2020-04-21 01:04:27 +02:00
|
|
|
bgColor: String
|
2020-04-20 05:02:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type ProjectMember {
|
|
|
|
userID: ID!
|
|
|
|
firstName: String!
|
|
|
|
lastName: String!
|
|
|
|
profileIcon: ProfileIcon!
|
|
|
|
}
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
type RefreshToken {
|
|
|
|
tokenId: ID!
|
|
|
|
userId: UUID!
|
|
|
|
expiresAt: Time!
|
|
|
|
createdAt: Time!
|
|
|
|
}
|
|
|
|
|
|
|
|
type UserAccount {
|
|
|
|
userID: ID!
|
|
|
|
email: String!
|
|
|
|
createdAt: Time!
|
2020-04-20 05:02:55 +02:00
|
|
|
firstName: String!
|
|
|
|
lastName: String!
|
2020-04-10 04:40:22 +02:00
|
|
|
username: String!
|
2020-04-20 05:02:55 +02:00
|
|
|
profileIcon: ProfileIcon!
|
2020-04-10 04:40:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type Team {
|
|
|
|
teamID: ID!
|
|
|
|
createdAt: Time!
|
|
|
|
name: String!
|
|
|
|
}
|
|
|
|
|
|
|
|
type Project {
|
|
|
|
projectID: ID!
|
|
|
|
createdAt: Time!
|
|
|
|
name: String!
|
2020-04-20 05:02:55 +02:00
|
|
|
team: Team!
|
|
|
|
owner: ProjectMember!
|
2020-04-10 04:40:22 +02:00
|
|
|
taskGroups: [TaskGroup!]!
|
2020-04-20 05:02:55 +02:00
|
|
|
members: [ProjectMember!]!
|
2020-04-21 01:04:27 +02:00
|
|
|
labels: [ProjectLabel!]!
|
2020-04-10 04:40:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type TaskGroup {
|
|
|
|
taskGroupID: ID!
|
|
|
|
projectID: String!
|
|
|
|
createdAt: Time!
|
|
|
|
name: String!
|
|
|
|
position: Float!
|
|
|
|
tasks: [Task!]!
|
|
|
|
}
|
|
|
|
|
|
|
|
type Task {
|
|
|
|
taskID: ID!
|
2020-04-11 04:22:22 +02:00
|
|
|
taskGroup: TaskGroup!
|
2020-04-10 04:40:22 +02:00
|
|
|
createdAt: Time!
|
|
|
|
name: String!
|
|
|
|
position: Float!
|
2020-04-20 05:02:55 +02:00
|
|
|
description: String
|
|
|
|
assigned: [ProjectMember!]!
|
|
|
|
labels: [TaskLabel!]!
|
2020-04-10 04:40:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
input ProjectsFilter {
|
|
|
|
teamID: String
|
|
|
|
}
|
|
|
|
|
|
|
|
input FindUser {
|
|
|
|
userId: String!
|
|
|
|
}
|
|
|
|
|
|
|
|
input FindProject {
|
|
|
|
projectId: String!
|
|
|
|
}
|
|
|
|
|
2020-04-20 05:02:55 +02:00
|
|
|
input FindTask {
|
|
|
|
taskID: UUID!
|
|
|
|
}
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
type Query {
|
|
|
|
users: [UserAccount!]!
|
|
|
|
findUser(input: FindUser!): UserAccount!
|
|
|
|
findProject(input: FindProject!): Project!
|
2020-04-20 05:02:55 +02:00
|
|
|
findTask(input: FindTask!): Task!
|
2020-04-10 04:40:22 +02:00
|
|
|
projects(input: ProjectsFilter): [Project!]!
|
|
|
|
taskGroups: [TaskGroup!]!
|
2020-04-20 05:02:55 +02:00
|
|
|
me: UserAccount!
|
2020-04-10 04:40:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
input NewRefreshToken {
|
|
|
|
userId: String!
|
|
|
|
}
|
|
|
|
|
|
|
|
input NewUserAccount {
|
|
|
|
username: String!
|
|
|
|
email: String!
|
2020-04-20 05:02:55 +02:00
|
|
|
firstName: String!
|
|
|
|
lastName: String!
|
2020-04-10 04:40:22 +02:00
|
|
|
password: String!
|
|
|
|
}
|
|
|
|
|
|
|
|
input NewTeam {
|
|
|
|
name: String!
|
|
|
|
organizationID: String!
|
|
|
|
}
|
|
|
|
|
|
|
|
input NewProject {
|
2020-04-20 05:02:55 +02:00
|
|
|
userID: UUID!
|
|
|
|
teamID: UUID!
|
2020-04-10 04:40:22 +02:00
|
|
|
name: String!
|
|
|
|
}
|
|
|
|
|
|
|
|
input NewTaskGroup {
|
|
|
|
projectID: String!
|
|
|
|
name: String!
|
|
|
|
position: Float!
|
|
|
|
}
|
|
|
|
|
|
|
|
input LogoutUser {
|
|
|
|
userID: String!
|
|
|
|
}
|
|
|
|
input NewTask {
|
|
|
|
taskGroupID: String!
|
|
|
|
name: String!
|
|
|
|
position: Float!
|
|
|
|
}
|
|
|
|
input NewTaskLocation {
|
|
|
|
taskID: String!
|
|
|
|
taskGroupID: String!
|
|
|
|
position: Float!
|
|
|
|
}
|
|
|
|
|
|
|
|
input DeleteTaskInput {
|
|
|
|
taskID: String!
|
|
|
|
}
|
|
|
|
|
|
|
|
type DeleteTaskPayload {
|
|
|
|
taskID: String!
|
|
|
|
}
|
|
|
|
|
|
|
|
input UpdateTaskName {
|
|
|
|
taskID: String!
|
|
|
|
name: String!
|
|
|
|
}
|
|
|
|
|
2020-04-11 04:47:43 +02:00
|
|
|
input NewTaskGroupLocation {
|
|
|
|
taskGroupID: UUID!
|
|
|
|
position: Float!
|
|
|
|
}
|
|
|
|
|
2020-04-11 21:24:45 +02:00
|
|
|
input DeleteTaskGroupInput {
|
|
|
|
taskGroupID: UUID!
|
|
|
|
}
|
|
|
|
|
|
|
|
type DeleteTaskGroupPayload {
|
|
|
|
ok: Boolean!
|
|
|
|
affectedRows: Int!
|
|
|
|
taskGroup: TaskGroup!
|
|
|
|
}
|
|
|
|
|
2020-04-20 05:02:55 +02:00
|
|
|
input AssignTaskInput {
|
|
|
|
taskID: UUID!
|
|
|
|
userID: UUID!
|
|
|
|
}
|
|
|
|
|
2020-04-21 01:04:27 +02:00
|
|
|
input UnassignTaskInput {
|
|
|
|
taskID: UUID!
|
|
|
|
userID: UUID!
|
|
|
|
}
|
2020-04-20 05:02:55 +02:00
|
|
|
input UpdateTaskDescriptionInput {
|
|
|
|
taskID: UUID!
|
|
|
|
description: String!
|
|
|
|
}
|
|
|
|
|
|
|
|
input AddTaskLabelInput {
|
|
|
|
taskID: UUID!
|
|
|
|
labelColorID: UUID!
|
|
|
|
}
|
|
|
|
|
|
|
|
input RemoveTaskLabelInput {
|
|
|
|
taskID: UUID!
|
|
|
|
taskLabelID: UUID!
|
|
|
|
}
|
|
|
|
|
2020-04-21 01:04:27 +02:00
|
|
|
input NewProjectLabel {
|
|
|
|
projectID: UUID!
|
|
|
|
labelColorID: UUID!
|
|
|
|
name: String
|
|
|
|
}
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
type Mutation {
|
|
|
|
createRefreshToken(input: NewRefreshToken!): RefreshToken!
|
2020-04-11 21:24:45 +02:00
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
createUserAccount(input: NewUserAccount!): UserAccount!
|
2020-04-11 21:24:45 +02:00
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
createTeam(input: NewTeam!): Team!
|
2020-04-11 21:24:45 +02:00
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
createProject(input: NewProject!): Project!
|
2020-04-21 01:04:27 +02:00
|
|
|
createProjectLabel(input: NewProjectLabel!): ProjectLabel!
|
2020-04-11 21:24:45 +02:00
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
createTaskGroup(input: NewTaskGroup!): TaskGroup!
|
2020-04-11 04:47:43 +02:00
|
|
|
updateTaskGroupLocation(input: NewTaskGroupLocation!): TaskGroup!
|
2020-04-11 21:24:45 +02:00
|
|
|
deleteTaskGroup(input: DeleteTaskGroupInput!): DeleteTaskGroupPayload!
|
|
|
|
|
2020-04-20 05:02:55 +02:00
|
|
|
addTaskLabel(input: AddTaskLabelInput): Task!
|
|
|
|
removeTaskLabel(input: RemoveTaskLabelInput): Task!
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
createTask(input: NewTask!): Task!
|
2020-04-20 05:02:55 +02:00
|
|
|
updateTaskDescription(input: UpdateTaskDescriptionInput!): Task!
|
2020-04-10 04:40:22 +02:00
|
|
|
updateTaskLocation(input: NewTaskLocation!): Task!
|
|
|
|
updateTaskName(input: UpdateTaskName!): Task!
|
|
|
|
deleteTask(input: DeleteTaskInput!): DeleteTaskPayload!
|
2020-04-20 05:02:55 +02:00
|
|
|
assignTask(input: AssignTaskInput): Task!
|
2020-04-21 01:04:27 +02:00
|
|
|
unassignTask(input: UnassignTaskInput): Task!
|
2020-04-11 21:24:45 +02:00
|
|
|
|
|
|
|
logoutUser(input: LogoutUser!): Boolean!
|
2020-04-10 04:40:22 +02:00
|
|
|
}
|