type Project { "The ID of the project, which is also the prefix for all its issues." id: String! "The name of the project, used in place of the ID in the UI." name: String! "Description of the project." description: String! "The amount of points given as a bonus towards goals for any activity on a given day." dailyPoints: Int! "Get issues within the project." issues(filter: ProjectIssueFilter): [Issue!]! "All users' permissions. Only available to administrators and up." permissions: [ProjectPermissions!]! "Own permissions to the project. Available to any logged in user." userPermissions: ProjectPermissions! } "The permissions of a user within the project." type ProjectPermissions { "User ID." userId: String! "Access level." accessLevel: Int! "The user whose permissions it is. Can be null if the user no longer exists." user: User } type ProjectStatus { "The stage of the status. 0=inactive, 1=pending, 2=active, 3=review, 4=completed, 5=failed, 6=postponed" stage: Int! "The name of the status." name: String! "A description of the status and where it's used." description: String! } "Filter for projects query" input ProjectFilter { "Project IDs" projectIds: [String!] "Text search" search: String "User permission" permission: ProjectFilterPermission } input ProjectFilterPermission { "User ID" userId: String! "Lowest access level to filter by (inclusive)" minLevel: Int! "Highest access level to filter by (inclusive)" maxLevel: Int! } "A limited filter for constraining the list of issues within a project." input ProjectIssueFilter { "Filter by assignee IDs" assigneeIds: [String!] "Text search" search: String "Earliest stage (inclusive)" minStage: Int "Latest stage (inclusive)" maxStage: Int "Limit the result set" limit: Int }