system.graphql 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # ===============================================
  2. # SYSTEM
  3. # ===============================================
  4. extend type Query {
  5. system: SystemQuery
  6. }
  7. extend type Mutation {
  8. system: SystemMutation
  9. }
  10. # -----------------------------------------------
  11. # QUERIES
  12. # -----------------------------------------------
  13. type SystemQuery {
  14. flags: [SystemFlag] @auth(requires: ["manage:system"])
  15. info: SystemInfo
  16. }
  17. # -----------------------------------------------
  18. # MUTATIONS
  19. # -----------------------------------------------
  20. type SystemMutation {
  21. updateFlags(
  22. flags: [SystemFlagInput]!
  23. ): DefaultResponse @auth(requires: ["manage:system"])
  24. resetTelemetryClientId: DefaultResponse @auth(requires: ["manage:system"])
  25. setTelemetry(
  26. enabled: Boolean!
  27. ): DefaultResponse @auth(requires: ["manage:system"])
  28. performUpgrade: DefaultResponse @auth(requires: ["manage:system"])
  29. }
  30. # -----------------------------------------------
  31. # TYPES
  32. # -----------------------------------------------
  33. type SystemFlag {
  34. key: String!
  35. value: Boolean!
  36. }
  37. input SystemFlagInput {
  38. key: String!
  39. value: Boolean!
  40. }
  41. type SystemInfo {
  42. configFile: String @auth(requires: ["manage:system"])
  43. cpuCores: Int @auth(requires: ["manage:system"])
  44. currentVersion: String @auth(requires: ["manage:system"])
  45. dbHost: String @auth(requires: ["manage:system"])
  46. dbType: String @auth(requires: ["manage:system"])
  47. dbVersion: String @auth(requires: ["manage:system"])
  48. groupsTotal: Int @auth(requires: ["manage:system", "manage:navigation", "manage:groups", "write:groups", "manage:users", "write:users"])
  49. hostname: String @auth(requires: ["manage:system"])
  50. latestVersion: String @auth(requires: ["manage:system"])
  51. latestVersionReleaseDate: Date @auth(requires: ["manage:system"])
  52. nodeVersion: String @auth(requires: ["manage:system"])
  53. operatingSystem: String @auth(requires: ["manage:system"])
  54. pagesTotal: Int @auth(requires: ["manage:system", "manage:navigation", "manage:pages", "delete:pages"])
  55. platform: String @auth(requires: ["manage:system"])
  56. ramTotal: String @auth(requires: ["manage:system"])
  57. telemetry: Boolean @auth(requires: ["manage:system"])
  58. telemetryClientId: String @auth(requires: ["manage:system"])
  59. upgradeCapable: Boolean @auth(requires: ["manage:system"])
  60. usersTotal: Int @auth(requires: ["manage:system", "manage:navigation", "manage:groups", "write:groups", "manage:users", "write:users"])
  61. workingDirectory: String @auth(requires: ["manage:system"])
  62. }