stufflog graphql server
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.5 KiB

5 years ago
  1. type Project {
  2. "The ID of the project, which is also the prefix for all its issues."
  3. id: String!
  4. "The name of the project, used in place of the ID in the UI."
  5. name: String!
  6. "Description of the project."
  7. description: String!
  8. "The amount of points given as a bonus towards goals for any activity on a given day."
  9. dailyPoints: Int!
  10. "Get issues within the project."
  11. issues(filter: ProjectIssueFilter): [Issue!]!
  12. "All users' permissions. Only available to administrators and up."
  13. permissions: [ProjectPermission!]!
  14. "Own permissions to the project. Available to any logged in user."
  15. userPermissions: ProjectPermission!
  16. "List all project statuses."
  17. statuses(filter: ProjectStatusFilter): [ProjectStatus!]!
  18. "The activities in this project."
  19. activities: [Activity!]!
  20. }
  21. "The permissions of a user within the project."
  22. type ProjectPermission {
  23. "Access level."
  24. level: Int!
  25. "The user whose permissions it is. Can be null if the user no longer exists."
  26. user: User
  27. }
  28. type ProjectStatus {
  29. "The stage of the status. 0=inactive, 1=pending, 2=active, 3=review, 4=completed, 5=failed, 6=postponed"
  30. stage: Int!
  31. "The name of the status."
  32. name: String!
  33. "A description of the status and where it's used."
  34. description: String!
  35. }
  36. "Filter for projects query"
  37. input ProjectFilter {
  38. "Project IDs"
  39. projectIds: [String!]
  40. "Text search"
  41. search: String
  42. "User permission"
  43. permission: ProjectFilterPermission
  44. }
  45. input ProjectFilterPermission {
  46. "User ID"
  47. userId: String!
  48. "Lowest access level to filter by (inclusive)"
  49. minLevel: Int!
  50. "Highest access level to filter by (inclusive)"
  51. maxLevel: Int!
  52. }
  53. "A limited filter for constraining the list of issues within a project."
  54. input ProjectIssueFilter {
  55. "Filter by assignee IDs"
  56. assigneeIds: [String!]
  57. "Text search"
  58. search: String
  59. "Earliest stage (inclusive)"
  60. minStage: Int
  61. "Latest stage (inclusive)"
  62. maxStage: Int
  63. "Limit the result set"
  64. limit: Int
  65. }
  66. input ProjectCreateInput {
  67. "The ID of the project, which will be the prefix of all issue keys."
  68. id: String!
  69. "The name of the project, used in place of the ID in the UI."
  70. name: String!
  71. "Describe the project."
  72. description: String!
  73. "Bonus to points goal for any activity being done on a given day."
  74. dailyPoints: Int!
  75. }
  76. input ProjectStatusFilter {
  77. "Minimum stage of the project status to list"
  78. minStage: Int!
  79. "Maximum stage of the project status to list"
  80. maxStage: Int!
  81. }