site.graphql 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. # ===============================================
  2. # SITE
  3. # ===============================================
  4. extend type Query {
  5. site: SiteQuery
  6. }
  7. extend type Mutation {
  8. site: SiteMutation
  9. }
  10. # -----------------------------------------------
  11. # QUERIES
  12. # -----------------------------------------------
  13. type SiteQuery {
  14. config: SiteConfig @auth(requires: ["manage:system"])
  15. }
  16. # -----------------------------------------------
  17. # MUTATIONS
  18. # -----------------------------------------------
  19. type SiteMutation {
  20. updateConfig(
  21. host: String
  22. title: String
  23. description: String
  24. robots: [String]
  25. analyticsService: String
  26. analyticsId: String
  27. company: String
  28. contentLicense: String
  29. logoUrl: String
  30. authAutoLogin: Boolean
  31. authLoginBgUrl: String
  32. authJwtAudience: String
  33. authJwtExpiration: String
  34. authJwtRenewablePeriod: String
  35. featurePageRatings: Boolean
  36. featurePageComments: Boolean
  37. featurePersonalWikis: Boolean
  38. securityOpenRedirect: Boolean
  39. securityIframe: Boolean
  40. securityReferrerPolicy: Boolean
  41. securityTrustProxy: Boolean
  42. securitySRI: Boolean
  43. securityHSTS: Boolean
  44. securityHSTSDuration: Int
  45. securityCSP: Boolean
  46. securityCSPDirectives: String
  47. uploadMaxFileSize: Int
  48. uploadMaxFiles: Int
  49. ): DefaultResponse @auth(requires: ["manage:system"])
  50. }
  51. # -----------------------------------------------
  52. # TYPES
  53. # -----------------------------------------------
  54. type SiteConfig {
  55. host: String!
  56. title: String!
  57. description: String!
  58. robots: [String]!
  59. analyticsService: String!
  60. analyticsId: String!
  61. company: String!
  62. contentLicense: String!
  63. logoUrl: String!
  64. authAutoLogin: Boolean
  65. authLoginBgUrl: String
  66. authJwtAudience: String
  67. authJwtExpiration: String
  68. authJwtRenewablePeriod: String
  69. featurePageRatings: Boolean!
  70. featurePageComments: Boolean!
  71. featurePersonalWikis: Boolean!
  72. securityOpenRedirect: Boolean!
  73. securityIframe: Boolean!
  74. securityReferrerPolicy: Boolean!
  75. securityTrustProxy: Boolean!
  76. securitySRI: Boolean!
  77. securityHSTS: Boolean!
  78. securityHSTSDuration: Int!
  79. securityCSP: Boolean!
  80. securityCSPDirectives: String!
  81. uploadMaxFileSize: Int!
  82. uploadMaxFiles: Int!
  83. }