GraphQL API and utilities for the rpdata project
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.

141 lines
3.3 KiB

  1. # A Story is a piece of content that, unlike wiki articles, are not something that should be ordered by time instead of title. It can
  2. # contain multiple chapters by one or more autohrs
  3. type Story {
  4. # The story's ID
  5. id: String!
  6. # The story's name, which will show up in the lists.
  7. name: String!
  8. # The story's author
  9. author: String!
  10. # Whether other users may add/edit chapters to the story.
  11. open: Boolean!
  12. # Whether users without a direct link can find this story.
  13. listed: Boolean!
  14. # The category of the story
  15. category: StoryCategory!
  16. # The tags for this tory
  17. tags: [Tag!]!
  18. # The chapters of this story
  19. chapters: [Chapter!]!
  20. # The date the story was created (RFC3339 format).
  21. createdDate: String!
  22. # The date the story is set in (RFC3339 format).
  23. fictionalDate: String!
  24. # The date of the last major update to the story (RFC3339 format). This being bumped means a new chapter has been added.
  25. updatedDate: String!
  26. }
  27. # Filter for stories query.
  28. input StoriesFilter {
  29. # What author to query for
  30. author: String
  31. # What tags to query for
  32. tags: [TagInput!]
  33. # The earliest fictionalDate
  34. earliestFictionalDate: String
  35. # The latest fictionalDate
  36. latestFictionalDate: String
  37. # The max amount of stories to get (default: 30)
  38. limit: Int
  39. }
  40. # Input for the addStory mutation
  41. input StoryAddInput {
  42. # Set the name of the story, which will show up as the title, and as a suggestion for
  43. # the first chapter being added.
  44. name: String!
  45. # Set the category for the new story.
  46. category: StoryCategory!
  47. # Add the story under another name. This requires the story.add permission, and should not be
  48. # abused. The action will be logged with the actual creator's user ID.
  49. author: String
  50. # Allow other users to post chapters to the story.
  51. open: Boolean
  52. # Allow other users to see this page in any lists or search results.
  53. listed: Boolean
  54. # Set which tags the story should have.
  55. tags: [TagInput!]
  56. # Set the fictional date of the story (RFC3339 format).
  57. fictionalDate: String
  58. }
  59. # Input for the editStory mutation
  60. input StoryEditInput {
  61. # What story to edit
  62. id: String!
  63. # Set the name of the story, which will show up as the title, and as a suggestion for
  64. # the first chapter being added.
  65. name: String
  66. # Set the category for the new story.
  67. category: StoryCategory
  68. # Add the story under another name. This requires the story.add permission, and should not be
  69. # abused. The action will be logged with the actual creator's user ID.
  70. author: String
  71. # Change whether to allow others to add chapters
  72. open: Boolean
  73. # Change whether to show this story in the list and search results
  74. listed: Boolean
  75. # Set the fictional date of the story (RFC3339 format).
  76. fictionalDate: String
  77. }
  78. # Input for the addStoryTag mutation
  79. input StoryTagAddInput {
  80. # What story to add the tag to.
  81. id: String!
  82. # The tag to add.
  83. tag: TagInput!
  84. }
  85. # Input for the removeStoryTag mutation
  86. input StoryTagRemoveInput {
  87. # What story to remove the tag from.
  88. id: String!
  89. # The tag to remove.
  90. tag: TagInput!
  91. }
  92. # Possible values for Story.category
  93. enum StoryCategory {
  94. # Description and content of a document or item
  95. Document
  96. # News stories
  97. News
  98. # Information about something going on in the background that may or may not inform RP
  99. Background
  100. # General information
  101. Info
  102. # A short story
  103. Story
  104. }