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.

126 lines
2.7 KiB

  1. # A Log is the "file" of an RP session
  2. type Log {
  3. # A unique identifier for the log.
  4. id: String!
  5. # A secondary unique identifier for the log. This is a lot shorter and more suitable for storage when
  6. # the link doesn't need to be as expressive.
  7. shortId: String!
  8. # The date for a log.
  9. date: String!
  10. # The channel of a log.
  11. channel: String!
  12. # The session's title.
  13. title: String!
  14. # The log's event, which is the same as the tags in the previous logbot site.
  15. # Empty string means that it's no event.
  16. event: String!
  17. # The description of a session, which is empty if unset.
  18. description: String!
  19. # Whether the log session is open.
  20. open: Boolean!
  21. # The characters involved in the log file.
  22. characters: [Character!]!
  23. # The posts of the logfile, which can be filtered by kinds.
  24. posts(kinds:[String!]): [Post!]!
  25. }
  26. # Input for logs query
  27. input LogQueryInput {
  28. # Channels to limit results to (inclusive)
  29. channels: [String!]
  30. # Events to limit results to (inclusive)
  31. events: [String!]
  32. # Characters to limit results to (exclusive)
  33. characters: [String!]
  34. # Search post content
  35. search: String
  36. # Limit to only open logs
  37. open: Boolean
  38. # Limit the amount of posts
  39. limit: Int
  40. }
  41. # Input for addLog mutation
  42. input LogAddInput {
  43. # The date of the log, in RFC3339 format with up to nanosecond precision
  44. date: String!
  45. # The channel where the log is set
  46. channel: String!
  47. # Optional: The log title
  48. title: String
  49. # Optional: Whether the log is open
  50. open: Boolean
  51. # Optional: The log event name
  52. event: String
  53. # Optional: A short description of the log
  54. description: String
  55. }
  56. # Input for addLog mutation
  57. input LogEditInput {
  58. # The id of the log
  59. id: String!
  60. # The log title
  61. title: String
  62. # The log event name
  63. event: String
  64. # A short description of the log
  65. description: String
  66. # Open/close the log
  67. open: Boolean
  68. }
  69. # A LogHeader is a cut-down version of Log that does not allow getting the actual posts.
  70. type LogHeader {
  71. # A unique identifier for the log.
  72. id: String!
  73. # A secondary unique identifier for the log. This is a lot shorter and more suitable for storage when
  74. # the link doesn't need to be as expressive.
  75. shortId: String!
  76. # The date for a log.
  77. date: String!
  78. # The channel of a log.
  79. channel: String!
  80. # The session's title.
  81. title: String!
  82. # The log's event, which is the same as the tags in the previous logbot site.
  83. # Empty string means that it's no event.
  84. event: String!
  85. # The description of a session, which is empty if unset.
  86. description: String!
  87. # Whether the log session is open.
  88. open: Boolean!
  89. # The characters involved in the log file.
  90. characters: [Character!]!
  91. }