system.graphql 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. # ===============================================
  2. # SYSTEM
  3. # ===============================================
  4. extend type Query {
  5. systemExtensions: [SystemExtension]
  6. systemFlags: [SystemFlag]
  7. systemInfo: SystemInfo
  8. systemSecurity: SystemSecurity
  9. }
  10. extend type Mutation {
  11. updateSystemFlags(
  12. flags: [SystemFlagInput]!
  13. ): DefaultResponse
  14. updateSystemSecurity(
  15. authJwtAudience: String
  16. authJwtExpiration: String
  17. authJwtRenewablePeriod: String
  18. corsConfig: String
  19. corsMode: SystemSecurityCorsMode
  20. cspDirectives: String
  21. disallowFloc: Boolean
  22. disallowIframe: Boolean
  23. disallowOpenRedirect: Boolean
  24. enforceCsp: Boolean
  25. enforceHsts: Boolean
  26. enforceSameOriginReferrerPolicy: Boolean
  27. forceAssetDownload: Boolean
  28. hstsDuration: Int
  29. trustProxy: Boolean
  30. uploadMaxFiles: Int
  31. uploadMaxFileSize: Int
  32. uploadScanSVG: Boolean
  33. ): DefaultResponse
  34. installExtension(
  35. key: String!
  36. ): DefaultResponse
  37. }
  38. # -----------------------------------------------
  39. # TYPES
  40. # -----------------------------------------------
  41. type SystemFlag {
  42. key: String
  43. value: Boolean
  44. }
  45. input SystemFlagInput {
  46. key: String!
  47. value: Boolean!
  48. }
  49. type SystemInfo {
  50. configFile: String
  51. cpuCores: Int
  52. currentVersion: String
  53. dbHost: String
  54. dbType: String
  55. dbVersion: String
  56. groupsTotal: Int
  57. hostname: String
  58. httpPort: Int
  59. httpRedirection: Boolean
  60. httpsPort: Int
  61. latestVersion: String
  62. latestVersionReleaseDate: Date
  63. mailConfigured: Boolean
  64. nodeVersion: String
  65. operatingSystem: String
  66. pagesTotal: Int
  67. platform: String
  68. ramTotal: String
  69. sslDomain: String
  70. sslExpirationDate: Date
  71. sslProvider: String
  72. sslStatus: String
  73. sslSubscriberEmail: String
  74. tagsTotal: Int
  75. telemetry: Boolean
  76. telemetryClientId: String
  77. upgradeCapable: Boolean
  78. usersTotal: Int
  79. workingDirectory: String
  80. }
  81. enum SystemImportUsersGroupMode {
  82. MULTI
  83. SINGLE
  84. NONE
  85. }
  86. type SystemImportUsersResponse {
  87. operation: Operation
  88. usersCount: Int
  89. groupsCount: Int
  90. failed: [SystemImportUsersResponseFailed]
  91. }
  92. type SystemImportUsersResponseFailed {
  93. provider: String
  94. email: String
  95. error: String
  96. }
  97. type SystemExtension {
  98. key: String
  99. title: String
  100. description: String
  101. isInstalled: Boolean
  102. isInstallable: Boolean
  103. isCompatible: Boolean
  104. }
  105. type SystemSecurity {
  106. authJwtAudience: String
  107. authJwtExpiration: String
  108. authJwtRenewablePeriod: String
  109. corsConfig: String
  110. corsMode: SystemSecurityCorsMode
  111. cspDirectives: String
  112. disallowFloc: Boolean
  113. disallowIframe: Boolean
  114. disallowOpenRedirect: Boolean
  115. enforceCsp: Boolean
  116. enforceHsts: Boolean
  117. enforceSameOriginReferrerPolicy: Boolean
  118. forceAssetDownload: Boolean
  119. hstsDuration: Int
  120. trustProxy: Boolean
  121. uploadMaxFiles: Int
  122. uploadMaxFileSize: Int
  123. uploadScanSVG: Boolean
  124. }
  125. enum SystemSecurityCorsMode {
  126. OFF
  127. REFLECT
  128. HOSTNAMES
  129. REGEX
  130. }