system.graphql 3.2 KB

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