65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
# ===============================================
 | 
						|
# SYSTEM
 | 
						|
# ===============================================
 | 
						|
 | 
						|
extend type Query {
 | 
						|
  system: SystemQuery
 | 
						|
}
 | 
						|
 | 
						|
extend type Mutation {
 | 
						|
  system: SystemMutation
 | 
						|
}
 | 
						|
 | 
						|
# -----------------------------------------------
 | 
						|
# QUERIES
 | 
						|
# -----------------------------------------------
 | 
						|
 | 
						|
type SystemQuery {
 | 
						|
  flags: [SystemFlag] @auth(requires: ["manage:system"])
 | 
						|
  info: SystemInfo
 | 
						|
}
 | 
						|
 | 
						|
# -----------------------------------------------
 | 
						|
# MUTATIONS
 | 
						|
# -----------------------------------------------
 | 
						|
 | 
						|
type SystemMutation {
 | 
						|
  updateFlags(
 | 
						|
    flags: [SystemFlagInput]!
 | 
						|
  ): DefaultResponse @auth(requires: ["manage:system"])
 | 
						|
}
 | 
						|
 | 
						|
# -----------------------------------------------
 | 
						|
# TYPES
 | 
						|
# -----------------------------------------------
 | 
						|
 | 
						|
type SystemFlag {
 | 
						|
  key: String!
 | 
						|
  value: Boolean!
 | 
						|
}
 | 
						|
 | 
						|
input SystemFlagInput {
 | 
						|
  key: String!
 | 
						|
  value: Boolean!
 | 
						|
}
 | 
						|
 | 
						|
type SystemInfo {
 | 
						|
  configFile: String @auth(requires: ["manage:system"])
 | 
						|
  cpuCores: Int @auth(requires: ["manage:system"])
 | 
						|
  currentVersion: String @auth(requires: ["manage:system"])
 | 
						|
  dbHost: String @auth(requires: ["manage:system"])
 | 
						|
  dbType: String @auth(requires: ["manage:system"])
 | 
						|
  dbVersion: String @auth(requires: ["manage:system"])
 | 
						|
  groupsTotal: Int @auth(requires: ["manage:system", "manage:navigation", "manage:groups", "write:groups", "manage:users", "write:users"])
 | 
						|
  hostname: String @auth(requires: ["manage:system"])
 | 
						|
  latestVersion: String @auth(requires: ["manage:system"])
 | 
						|
  latestVersionReleaseDate: Date @auth(requires: ["manage:system"])
 | 
						|
  nodeVersion: String @auth(requires: ["manage:system"])
 | 
						|
  operatingSystem: String @auth(requires: ["manage:system"])
 | 
						|
  pagesTotal: Int @auth(requires: ["manage:system", "manage:navigation", "manage:pages", "delete:pages"])
 | 
						|
  platform: String @auth(requires: ["manage:system"])
 | 
						|
  ramTotal: String @auth(requires: ["manage:system"])
 | 
						|
  usersTotal: Int @auth(requires: ["manage:system", "manage:navigation", "manage:groups", "write:groups", "manage:users", "write:users"])
 | 
						|
  workingDirectory: String @auth(requires: ["manage:system"])
 | 
						|
}
 |