You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wiki/server/graph/schemas/system.graphql

173 lines
3.2 KiB

# ===============================================
# SYSTEM
# ===============================================
extend type Query {
systemExtensions: [SystemExtension]
systemFlags: [SystemFlag]
systemInfo: SystemInfo
systemSecurity: SystemSecurity
systemJobs(
type: SystemJobType!
): [SystemJob]
systemScheduledJobs: [SystemScheduledJob]
}
6 years ago
extend type Mutation {
disconnectWS: DefaultResponse
installExtension(
key: String!
): DefaultResponse
updateSystemFlags(
6 years ago
flags: [SystemFlagInput]!
): DefaultResponse
updateSystemSecurity(
authJwtAudience: String
authJwtExpiration: String
authJwtRenewablePeriod: String
corsConfig: String
corsMode: SystemSecurityCorsMode
cspDirectives: String
disallowFloc: Boolean
disallowIframe: Boolean
disallowOpenRedirect: Boolean
enforceCsp: Boolean
enforceHsts: Boolean
enforceSameOriginReferrerPolicy: Boolean
forceAssetDownload: Boolean
hstsDuration: Int
trustProxy: Boolean
uploadMaxFiles: Int
uploadMaxFileSize: Int
uploadScanSVG: Boolean
): DefaultResponse
6 years ago
}
# -----------------------------------------------
# TYPES
# -----------------------------------------------
6 years ago
type SystemFlag {
key: String
value: Boolean
6 years ago
}
input SystemFlagInput {
key: String!
value: Boolean!
}
type SystemInfo {
configFile: String
cpuCores: Int
currentVersion: String
dbHost: String
dbType: String
dbVersion: String
groupsTotal: Int
hostname: String
httpPort: Int
httpRedirection: Boolean
httpsPort: Int
latestVersion: String
latestVersionReleaseDate: Date
mailConfigured: Boolean
nodeVersion: String
operatingSystem: String
pagesTotal: Int
platform: String
ramTotal: String
sslDomain: String
sslExpirationDate: Date
sslProvider: String
sslStatus: String
sslSubscriberEmail: String
tagsTotal: Int
telemetry: Boolean
telemetryClientId: String
upgradeCapable: Boolean
usersTotal: Int
workingDirectory: String
}
enum SystemImportUsersGroupMode {
MULTI
SINGLE
NONE
}
type SystemImportUsersResponse {
operation: Operation
usersCount: Int
groupsCount: Int
failed: [SystemImportUsersResponseFailed]
}
type SystemImportUsersResponseFailed {
provider: String
email: String
error: String
}
type SystemExtension {
key: String
title: String
description: String
isInstalled: Boolean
isInstallable: Boolean
isCompatible: Boolean
}
type SystemSecurity {
authJwtAudience: String
authJwtExpiration: String
authJwtRenewablePeriod: String
corsConfig: String
corsMode: SystemSecurityCorsMode
cspDirectives: String
disallowFloc: Boolean
disallowIframe: Boolean
disallowOpenRedirect: Boolean
enforceCsp: Boolean
enforceHsts: Boolean
enforceSameOriginReferrerPolicy: Boolean
forceAssetDownload: Boolean
hstsDuration: Int
trustProxy: Boolean
uploadMaxFiles: Int
uploadMaxFileSize: Int
uploadScanSVG: Boolean
}
enum SystemSecurityCorsMode {
OFF
REFLECT
HOSTNAMES
REGEX
}
type SystemJob {
id: UUID
name: String
priority: Int
state: String
}
type SystemScheduledJob {
id: String
name: String
cron: String
timezone: String
nextExecution: Date
createdAt: Date
updatedAt: Date
}
enum SystemJobType {
ACTIVE
COMPLETED
}