Basic API works.
This commit is contained in:
+20
-5
@@ -1,10 +1,5 @@
|
||||
type Issue {
|
||||
id: String!
|
||||
projectId: String!
|
||||
ownerId: String!
|
||||
assigneeId: String!
|
||||
statusStage: Int!
|
||||
statusName: String!
|
||||
createdTime: Time!
|
||||
updatedTime: Time!
|
||||
dueTime: Time
|
||||
@@ -15,6 +10,7 @@ type Issue {
|
||||
project: Project
|
||||
owner: User
|
||||
assignee: User
|
||||
status: ProjectStatus!
|
||||
}
|
||||
|
||||
input IssueFilter {
|
||||
@@ -34,4 +30,23 @@ input IssueFilter {
|
||||
maxStage: Int
|
||||
"Limit the result set"
|
||||
limit: Int
|
||||
}
|
||||
|
||||
input IssueCreateInput {
|
||||
"Project ID"
|
||||
projectId: String!
|
||||
"Status stage"
|
||||
statusStage: Int!
|
||||
"Status name"
|
||||
statusName: String!
|
||||
"A name for the issue."
|
||||
name: String!
|
||||
"Description of the issue."
|
||||
description: String!
|
||||
"Assign this issue, will default to unassigned"
|
||||
assigneeId: String
|
||||
"A date when this issue is due"
|
||||
dueTime: Time
|
||||
"Optional title to use instead of the name when not in a list."
|
||||
title: String
|
||||
}
|
||||
@@ -1,4 +1,19 @@
|
||||
type Mutation {
|
||||
loginUser(input: UserLoginInput): User!
|
||||
# PROJECT
|
||||
"Create a new project"
|
||||
createProject(input: ProjectCreateInput!): Project!
|
||||
|
||||
# ISSUE
|
||||
"Create a new issue"
|
||||
createIssue(input: IssueCreateInput!): Issue!
|
||||
|
||||
# USER
|
||||
"Log in"
|
||||
loginUser(input: UserLoginInput!): User!
|
||||
"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"
|
||||
editUser(input: UserEditInput!): User!
|
||||
}
|
||||
@@ -11,17 +11,17 @@ type Project {
|
||||
"Get issues within the project."
|
||||
issues(filter: ProjectIssueFilter): [Issue!]!
|
||||
"All users' permissions. Only available to administrators and up."
|
||||
permissions: [ProjectPermissions!]!
|
||||
permissions: [ProjectPermission!]!
|
||||
"Own permissions to the project. Available to any logged in user."
|
||||
userPermissions: ProjectPermissions!
|
||||
userPermissions: ProjectPermission!
|
||||
"List all project statuses."
|
||||
statuses(filter: ProjectStatusFilter): [ProjectStatus!]!
|
||||
}
|
||||
|
||||
"The permissions of a user within the project."
|
||||
type ProjectPermissions {
|
||||
"User ID."
|
||||
userId: String!
|
||||
type ProjectPermission {
|
||||
"Access level."
|
||||
accessLevel: Int!
|
||||
level: Int!
|
||||
|
||||
"The user whose permissions it is. Can be null if the user no longer exists."
|
||||
user: User
|
||||
@@ -67,4 +67,22 @@ input ProjectIssueFilter {
|
||||
maxStage: Int
|
||||
"Limit the result set"
|
||||
limit: Int
|
||||
}
|
||||
|
||||
input ProjectCreateInput {
|
||||
"The ID of the project, which will be the prefix of all issue keys."
|
||||
id: String!
|
||||
"The name of the project, used in place of the ID in the UI."
|
||||
name: String!
|
||||
"Describe the project."
|
||||
description: String!
|
||||
"Bonus to points goal for any activity being done on a given day."
|
||||
dailyPoints: Int!
|
||||
}
|
||||
|
||||
input ProjectStatusFilter {
|
||||
"Minimum stage of the project status to list"
|
||||
minStage: Int!
|
||||
"Maximum stage of the project status to list"
|
||||
maxStage: Int!
|
||||
}
|
||||
+18
-2
@@ -12,7 +12,23 @@ type User {
|
||||
|
||||
"Input for loginUser."
|
||||
input UserLoginInput {
|
||||
userId: String!
|
||||
username: String!
|
||||
password: String!
|
||||
rememberMe: Boolean!
|
||||
}
|
||||
|
||||
input UserCreateInput {
|
||||
username: String!
|
||||
password: String!
|
||||
name: String!
|
||||
active: Boolean
|
||||
admin: Boolean
|
||||
}
|
||||
|
||||
input UserEditInput {
|
||||
username: String!
|
||||
|
||||
setName: String
|
||||
setPassword: String
|
||||
|
||||
currentPassword: String
|
||||
}
|
||||
Reference in New Issue
Block a user