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.

87 lines
2.5 KiB

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