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.

168 lines
3.8 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.
  21. createdDate: Time!
  22. # The date the story is set in.
  23. fictionalDate: Time
  24. # The date of the last major update to the story. This being bumped means a new chapter has been added.
  25. updatedDate: Time!
  26. # Whether to sort by fictional date.
  27. sortByFictionalDate: Boolean!
  28. }
  29. # Filter for stories query.
  30. input StoriesFilter {
  31. # What author to query for
  32. author: String
  33. # What category to query for
  34. category: StoryCategory
  35. # What tags to query for
  36. tags: [TagInput!]
  37. # If true, it will only show unlisted page you have access to
  38. unlisted: Boolean
  39. # Whether the page is open for additions by other users
  40. open: Boolean
  41. # The earliest fictionalDate
  42. earliestFictionalDate: Time
  43. # The latest fictionalDate
  44. latestFictionalDate: Time
  45. # The max amount of stories to get (default: 30)
  46. limit: Int
  47. }
  48. # Input for the addStory mutation
  49. input StoryAddInput {
  50. # Set the name of the story, which will show up as the title, and as a suggestion for
  51. # the first chapter being added.
  52. name: String!
  53. # Set the category for the new story.
  54. category: StoryCategory!
  55. # Add the story under another name. This requires the story.add permission, and should not be
  56. # abused. The action will be logged with the actual creator's user ID.
  57. author: String
  58. # Allow other users to post chapters to the story.
  59. open: Boolean
  60. # Allow other users to see this page in any lists or search results.
  61. listed: Boolean
  62. # Set which tags the story should have.
  63. tags: [TagInput!]
  64. # Set the fictional date of the story.
  65. fictionalDate: Time
  66. # Whether to sort by fictional date.
  67. sortByFictionalDate: Boolean
  68. }
  69. # Input for the editStory mutation
  70. input StoryEditInput {
  71. # What story to edit
  72. id: String!
  73. # Set the name of the story, which will show up as the title, and as a suggestion for
  74. # the first chapter being added.
  75. name: String
  76. # Set the category for the new story.
  77. category: StoryCategory
  78. # Add the story under another name. This requires the story.add permission, and should not be
  79. # abused. The action will be logged with the actual creator's user ID.
  80. author: String
  81. # Change whether to allow others to add chapters
  82. open: Boolean
  83. # Change whether to show this story in the list and search results
  84. listed: Boolean
  85. # Set the fictional date of the story.
  86. fictionalDate: Time
  87. # Clear the fictional date of the story.
  88. clearFictionalDate: Boolean
  89. # Whether to sort by fictional date.
  90. sortByFictionalDate: Boolean
  91. }
  92. # Input for the addStoryTag mutation
  93. input StoryTagAddInput {
  94. # What story to add the tag to.
  95. id: String!
  96. # The tag to add.
  97. tag: TagInput!
  98. }
  99. # Input for the removeStoryTag mutation
  100. input StoryTagRemoveInput {
  101. # What story to remove the tag from.
  102. id: String!
  103. # The tag to remove.
  104. tag: TagInput!
  105. }
  106. # Input for the removeStory mutation
  107. input StoryRemoveInput {
  108. # What story to remove.
  109. id: String!
  110. }
  111. # Possible values for Story.category
  112. enum StoryCategory {
  113. # General information
  114. Info
  115. # News stories
  116. News
  117. # Description and content of a document or item
  118. Document
  119. # Information about something going on in the background that may or may not inform RP
  120. Background
  121. # A short story
  122. Story
  123. }