scalar Time scalar UUID scalar Upload enum RoleCode { owner admin member observer } type ProjectLabel { id: ID! createdDate: Time! labelColor: LabelColor! name: String } type LabelColor { id: ID! name: String! position: Float! colorHex: String! } type TaskLabel { id: ID! projectLabel: ProjectLabel! assignedDate: Time! } type ProfileIcon { url: String initials: String bgColor: String } type OwnersList { projects: [UUID!]! teams: [UUID!]! } type Member { id: ID! role: Role! fullName: String! username: String! profileIcon: ProfileIcon! owned: OwnedList! member: MemberList! } type RefreshToken { id: ID! userId: UUID! expiresAt: Time! createdAt: Time! } type Role { code: String! name: String! } type OwnedList { teams: [Team!]! projects: [Project!]! } type MemberList { teams: [Team!]! projects: [Project!]! } type UserAccount { id: ID! email: String! createdAt: Time! fullName: String! initials: String! bio: String! role: Role! username: String! profileIcon: ProfileIcon! owned: OwnedList! member: MemberList! } type InvitedUserAccount { id: ID! email: String! invitedOn: Time! member: MemberList! } type Team { id: ID! createdAt: Time! name: String! members: [Member!]! } type InvitedMember { email: String! invitedOn: Time! } type Project { id: ID! createdAt: Time! name: String! team: Team taskGroups: [TaskGroup!]! members: [Member!]! invitedMembers: [InvitedMember!]! labels: [ProjectLabel!]! } type TaskGroup { id: ID! projectID: String! createdAt: Time! name: String! position: Float! tasks: [Task!]! } type ChecklistBadge { complete: Int! total: Int! } type TaskBadges { checklist: ChecklistBadge } type CausedBy { id: ID! fullName: String! profileIcon: ProfileIcon } type TaskActivityData { name: String! value: String! } enum ActivityType { TASK_ADDED TASK_MOVED TASK_MARKED_COMPLETE TASK_MARKED_INCOMPLETE TASK_DUE_DATE_CHANGED TASK_DUE_DATE_ADDED TASK_DUE_DATE_REMOVED TASK_CHECKLIST_CHANGED TASK_CHECKLIST_ADDED TASK_CHECKLIST_REMOVED } type TaskActivity { id: ID! type: ActivityType! data: [TaskActivityData!]! causedBy: CausedBy! createdAt: Time! } type Task { id: ID! taskGroup: TaskGroup! createdAt: Time! name: String! position: Float! description: String dueDate: Time complete: Boolean! completedAt: Time assigned: [Member!]! labels: [TaskLabel!]! checklists: [TaskChecklist!]! badges: TaskBadges! activity: [TaskActivity!]! comments: [TaskComment!]! } type CreatedBy { id: ID! fullName: String! profileIcon: ProfileIcon! } type TaskComment { id: ID! createdAt: Time! updatedAt: Time message: String! createdBy: CreatedBy! pinned: Boolean! } type Organization { id: ID! name: String! } type TaskChecklistItem { id: ID! name: String! taskChecklistID: UUID! complete: Boolean! position: Float! dueDate: Time! } type TaskChecklist { id: ID! name: String! position: Float! items: [TaskChecklistItem!]! }