site.graphql 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. authEnforce2FA: Boolean
  32. authHideLocal: Boolean
  33. authLoginBgUrl: String
  34. authJwtAudience: String
  35. authJwtExpiration: String
  36. authJwtRenewablePeriod: String
  37. featurePageRatings: Boolean
  38. featurePageComments: Boolean
  39. featurePersonalWikis: Boolean
  40. securityOpenRedirect: Boolean
  41. securityIframe: Boolean
  42. securityReferrerPolicy: Boolean
  43. securityTrustProxy: Boolean
  44. securitySRI: Boolean
  45. securityHSTS: Boolean
  46. securityHSTSDuration: Int
  47. securityCSP: Boolean
  48. securityCSPDirectives: String
  49. uploadMaxFileSize: Int
  50. uploadMaxFiles: Int
  51. uploadScanSVG: Boolean
  52. uploadForceDownload: Boolean
  53. ): DefaultResponse @auth(requires: ["manage:system"])
  54. }
  55. # -----------------------------------------------
  56. # TYPES
  57. # -----------------------------------------------
  58. type SiteConfig {
  59. host: String
  60. title: String
  61. description: String
  62. robots: [String]
  63. analyticsService: String
  64. analyticsId: String
  65. company: String
  66. contentLicense: String
  67. logoUrl: String
  68. authAutoLogin: Boolean
  69. authEnforce2FA: Boolean
  70. authHideLocal: Boolean
  71. authLoginBgUrl: String
  72. authJwtAudience: String
  73. authJwtExpiration: String
  74. authJwtRenewablePeriod: String
  75. featurePageRatings: Boolean
  76. featurePageComments: Boolean
  77. featurePersonalWikis: Boolean
  78. securityOpenRedirect: Boolean
  79. securityIframe: Boolean
  80. securityReferrerPolicy: Boolean
  81. securityTrustProxy: Boolean
  82. securitySRI: Boolean
  83. securityHSTS: Boolean
  84. securityHSTSDuration: Int
  85. securityCSP: Boolean
  86. securityCSPDirectives: String
  87. uploadMaxFileSize: Int
  88. uploadMaxFiles: Int
  89. uploadScanSVG: Boolean
  90. uploadForceDownload: Boolean
  91. }