add activities.

This commit is contained in:
2020-05-09 14:12:26 +02:00
parent 564ac0d24a
commit 3039dc1879
18 changed files with 388 additions and 33 deletions
+60
View File
@@ -0,0 +1,60 @@
"""
An activity is a measurable activity for a project. It can be measured.
"""
type Activity {
"The activity ID."
id: String!
"The activity name."
name: String!
"Whether the activity is countable."
countable: Boolean!
"Whether the time spent is the unit."
unitIsTimeSpent: Boolean!
"The name of the unit. If unitIsTime or countable is true, this value should be ignored."
unitName: String
"The value per unit."
unitValue: Float!
"The base score value for any performed activity. For uncountables, this is the only points scored."
baseValue: Float!
"Parent project."
project: Project!
}
"""
Input for the createActivity mutation.
"""
input ActivityCreateInput {
"Project ID to associate it with."
projectId: String!
"Proejct name."
name: String!
"The base value of any activity performed. If uncountable, this should be non-zero."
baseValue: Float!
"Whether the activity is countable. Default: false"
countable: Boolean
"Whether time spent should be the unit of this activity."
unitIsTimeSpent: Boolean
"The unit name of the activity."
unitName: String
"The per-unit value of the activity."
unitValue: Float
}
"""
Input for the editActivity mutation. Not all changes are available as they could create
some serious issues with past goals and logs.
"""
input ActivityEditInput {
"The ID of the activity to edit."
activityId: String!
"Update the name of the activity."
setName: String
"Set the base value of the activity. This has an effect on current and past goals!"
setBaseValue: Float
"Set the unit name of the activity. This is only for countable, non time spent acitivities."
setUnitName: String
"Set the unit value of the activity. This has an effect on current and past goals!"
setUnitValue: Float
}
+23 -14
View File
@@ -1,51 +1,60 @@
type Issue {
"The issue ID."
id: String!
"The time at which the issue is created."
createdTime: Time!
"The time at which the issue was updated."
updatedTime: Time!
"Optionally, when this issue is due."
dueTime: Time
"The name of the issue, used in lists."
name: String!
"The issue title. This can be longer than the name."
title: String!
"The description of the issue, in markdown."
description: String!
"Parent project."
project: Project
"The issue's owner/creator."
owner: User
"The issue assignee."
assignee: User
"The issue status."
status: ProjectStatus!
}
input IssueFilter {
"Filter by issue IDs (mostly used internally by data loaders)"
"Filter by issue IDs. (mostly used internally by data loaders)"
issueIds: [String!]
"Filter by project IDs"
"Filter by project IDs."
projectIds: [String!]
"Filter by owner IDs"
"Filter by owner IDs."
ownerIds: [String!]
"Filter by assignee IDs"
"Filter by assignee IDs."
assigneeIds: [String!]
"Text search"
"Text search."
search: String
"Earliest stage (inclusive)"
"Earliest stage. (inclusive)"
minStage: Int
"Latest stage (inclusive)"
"Latest stage. (inclusive)"
maxStage: Int
"Limit the result set"
"Limit the result set."
limit: Int
}
input IssueCreateInput {
"Project ID"
"Project ID."
projectId: String!
"Status stage"
statusStage: Int!
"Status name"
"Status name."
statusName: String!
"A name for the issue."
name: String!
"Description of the issue."
description: String!
"Assign this issue, will default to unassigned"
"Assign this issue, will default to unassigned."
assigneeId: String
"A date when this issue is due"
"A date when this issue is due."
dueTime: Time
"Optional title to use instead of the name when not in a list."
title: String
+11 -5
View File
@@ -1,19 +1,25 @@
type Mutation {
# PROJECT
"Create a new project"
"Create a new project."
createProject(input: ProjectCreateInput!): Project!
# ACTIVITY
"Create an activity."
createActivity(input: ActivityCreateInput!): Activity!
"Edit an activity."
editActivity(input: ActivityEditInput!): Activity!
# ISSUE
"Create a new issue"
"Create a new issue."
createIssue(input: IssueCreateInput!): Issue!
# USER
"Log in"
"Log in."
loginUser(input: UserLoginInput!): User!
"Log out"
"Log out."
logoutUser: User!
"Create a new user. This can only be done by administrators."
createUser(input: UserCreateInput!): User!
"Edit an existing user. This can only be done by administrators"
"Edit an existing user. This can only be done by administrators."
editUser(input: UserEditInput!): User!
}
+2
View File
@@ -16,6 +16,8 @@ type Project {
userPermissions: ProjectPermission!
"List all project statuses."
statuses(filter: ProjectStatusFilter): [ProjectStatus!]!
"The activities in this project."
activities: [Activity!]!
}
"The permissions of a user within the project."