system.graphql 2.9 KB

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