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.

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