100 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.9 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"])
 | 
						|
 | 
						|
  resetTelemetryClientId: DefaultResponse @auth(requires: ["manage:system"])
 | 
						|
 | 
						|
  setTelemetry(
 | 
						|
    enabled: Boolean!
 | 
						|
  ): DefaultResponse @auth(requires: ["manage:system"])
 | 
						|
 | 
						|
  performUpgrade: DefaultResponse @auth(requires: ["manage:system"])
 | 
						|
 | 
						|
  importUsersFromV1(
 | 
						|
    mongoDbConnString: String!
 | 
						|
    groupMode: SystemImportUsersGroupMode!
 | 
						|
  ): SystemImportUsersResponse @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"])
 | 
						|
  telemetry: Boolean @auth(requires: ["manage:system"])
 | 
						|
  telemetryClientId: String @auth(requires: ["manage:system"])
 | 
						|
  upgradeCapable: Boolean @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"])
 | 
						|
}
 | 
						|
 | 
						|
enum SystemImportUsersGroupMode {
 | 
						|
  MULTI
 | 
						|
  SINGLE
 | 
						|
  NONE
 | 
						|
}
 | 
						|
 | 
						|
type SystemImportUsersResponse {
 | 
						|
  responseResult: ResponseStatus
 | 
						|
  usersCount: Int
 | 
						|
  groupsCount: Int
 | 
						|
  failed: [SystemImportUsersResponseFailed]
 | 
						|
}
 | 
						|
 | 
						|
type SystemImportUsersResponseFailed {
 | 
						|
  provider: String
 | 
						|
  email: String
 | 
						|
  error: String
 | 
						|
}
 |