theming.graphql 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. # ===============================================
  2. # THEMES
  3. # ===============================================
  4. extend type Query {
  5. theming: ThemingQuery
  6. }
  7. extend type Mutation {
  8. theming: ThemingMutation
  9. }
  10. # -----------------------------------------------
  11. # QUERIES
  12. # -----------------------------------------------
  13. type ThemingQuery {
  14. themes: [ThemingTheme] @auth(requires: ["manage:theme", "manage:system"])
  15. config: ThemingConfig @auth(requires: ["manage:theme", "manage:system"])
  16. }
  17. # -----------------------------------------------
  18. # MUTATIONS
  19. # -----------------------------------------------
  20. type ThemingMutation {
  21. setConfig(
  22. theme: String!
  23. iconset: String!
  24. darkMode: Boolean!
  25. tocDepth: RangeInput!
  26. injectCSS: String
  27. injectHead: String
  28. injectBody: String
  29. ): DefaultResponse @auth(requires: ["manage:theme", "manage:system"])
  30. }
  31. # -----------------------------------------------
  32. # TYPES
  33. # -----------------------------------------------
  34. type ThemingConfig {
  35. theme: String
  36. iconset: String
  37. darkMode: Boolean
  38. tocDepth: Range
  39. injectCSS: String
  40. injectHead: String
  41. injectBody: String
  42. }
  43. type ThemingTheme {
  44. key: String
  45. title: String
  46. author: String
  47. }