system.graphql 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. # ===============================================
  2. # SYSTEM
  3. # ===============================================
  4. extend type Query {
  5. metricsState: Boolean
  6. systemExtensions: [SystemExtension]
  7. systemFlags: JSON
  8. systemInfo: SystemInfo
  9. systemInstances: [SystemInstance]
  10. systemSecurity: SystemSecurity
  11. systemJobs(
  12. states: [SystemJobState]
  13. ): [SystemJob]
  14. systemJobsScheduled: [SystemJobScheduled]
  15. systemJobsUpcoming: [SystemJobUpcoming]
  16. systemSearch: SystemSearch
  17. }
  18. extend type Mutation {
  19. cancelJob(
  20. id: UUID!
  21. ): DefaultResponse
  22. checkForUpdates: SystemCheckUpdateResponse
  23. disconnectWS: DefaultResponse
  24. installExtension(
  25. key: String!
  26. ): DefaultResponse
  27. rebuildSearchIndex: DefaultResponse
  28. retryJob(
  29. id: UUID!
  30. ): DefaultResponse
  31. setMetricsState(
  32. enabled: Boolean!
  33. ): DefaultResponse
  34. updateSystemSearch(
  35. termHighlighting: Boolean
  36. dictOverrides: String
  37. ): DefaultResponse
  38. updateSystemFlags(
  39. flags: JSON!
  40. ): DefaultResponse
  41. updateSystemSecurity(
  42. authJwtAudience: String
  43. authJwtExpiration: String
  44. authJwtRenewablePeriod: String
  45. corsConfig: String
  46. corsMode: SystemSecurityCorsMode
  47. cspDirectives: String
  48. disallowFloc: Boolean
  49. disallowIframe: Boolean
  50. disallowOpenRedirect: Boolean
  51. enforceCsp: Boolean
  52. enforceHsts: Boolean
  53. enforceSameOriginReferrerPolicy: Boolean
  54. forceAssetDownload: Boolean
  55. hstsDuration: Int
  56. trustProxy: Boolean
  57. uploadMaxFiles: Int
  58. uploadMaxFileSize: Int
  59. uploadScanSVG: Boolean
  60. ): DefaultResponse
  61. }
  62. # -----------------------------------------------
  63. # TYPES
  64. # -----------------------------------------------
  65. type SystemInfo {
  66. configFile: String
  67. cpuCores: Int
  68. currentVersion: String
  69. dbHost: String
  70. dbType: String
  71. dbVersion: String
  72. groupsTotal: Int
  73. hostname: String
  74. httpPort: Int
  75. httpRedirection: Boolean
  76. httpsPort: Int
  77. isMailConfigured: Boolean
  78. isSchedulerHealthy: Boolean
  79. latestVersion: String
  80. latestVersionReleaseDate: Date
  81. loginsPastDay: Int
  82. nodeVersion: String
  83. operatingSystem: String
  84. pagesTotal: Int
  85. platform: String
  86. ramTotal: String
  87. sslDomain: String
  88. sslExpirationDate: Date
  89. sslProvider: String
  90. sslStatus: String
  91. sslSubscriberEmail: String
  92. tagsTotal: Int
  93. upgradeCapable: Boolean
  94. usersTotal: Int
  95. workingDirectory: String
  96. }
  97. type SystemInstance {
  98. id: String
  99. activeConnections: Int
  100. activeListeners: Int
  101. dbUser: String
  102. dbFirstSeen: Date
  103. dbLastSeen: Date
  104. ip: String
  105. }
  106. enum SystemImportUsersGroupMode {
  107. MULTI
  108. SINGLE
  109. NONE
  110. }
  111. type SystemImportUsersResponse {
  112. operation: Operation
  113. usersCount: Int
  114. groupsCount: Int
  115. failed: [SystemImportUsersResponseFailed]
  116. }
  117. type SystemImportUsersResponseFailed {
  118. provider: String
  119. email: String
  120. error: String
  121. }
  122. type SystemExtension {
  123. key: String
  124. title: String
  125. description: String
  126. isInstalled: Boolean
  127. isInstallable: Boolean
  128. isCompatible: Boolean
  129. }
  130. type SystemSecurity {
  131. authJwtAudience: String
  132. authJwtExpiration: String
  133. authJwtRenewablePeriod: String
  134. corsConfig: String
  135. corsMode: SystemSecurityCorsMode
  136. cspDirectives: String
  137. disallowFloc: Boolean
  138. disallowIframe: Boolean
  139. disallowOpenRedirect: Boolean
  140. enforceCsp: Boolean
  141. enforceHsts: Boolean
  142. enforceSameOriginReferrerPolicy: Boolean
  143. forceAssetDownload: Boolean
  144. hstsDuration: Int
  145. trustProxy: Boolean
  146. uploadMaxFiles: Int
  147. uploadMaxFileSize: Int
  148. uploadScanSVG: Boolean
  149. }
  150. enum SystemSecurityCorsMode {
  151. OFF
  152. REFLECT
  153. HOSTNAMES
  154. REGEX
  155. }
  156. type SystemJob {
  157. id: UUID
  158. task: String
  159. state: SystemJobState
  160. useWorker: Boolean
  161. wasScheduled: Boolean
  162. payload: JSON
  163. attempt: Int
  164. maxRetries: Int
  165. lastErrorMessage: String
  166. executedBy: String
  167. createdAt: Date
  168. startedAt: Date
  169. completedAt: Date
  170. }
  171. type SystemJobScheduled {
  172. id: UUID
  173. task: String
  174. cron: String
  175. type: String
  176. payload: JSON
  177. createdAt: Date
  178. updatedAt: Date
  179. }
  180. type SystemJobUpcoming {
  181. id: UUID
  182. task: String
  183. useWorker: Boolean
  184. payload: JSON
  185. retries: Int
  186. maxRetries: Int
  187. waitUntil: Date
  188. isScheduled: Boolean
  189. createdBy: String
  190. createdAt: Date
  191. updatedAt: Date
  192. }
  193. enum SystemJobState {
  194. ACTIVE
  195. COMPLETED
  196. FAILED
  197. INTERRUPTED
  198. }
  199. type SystemCheckUpdateResponse {
  200. operation: Operation
  201. current: String
  202. latest: String
  203. latestDate: String
  204. }
  205. type SystemSearch {
  206. termHighlighting: Boolean
  207. dictOverrides: String
  208. }