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

235 lines
4.3 KiB

# ===============================================
# SYSTEM
# ===============================================
extend type Query {
metricsState: Boolean
systemExtensions: [SystemExtension]
systemFlags: JSON
systemInfo: SystemInfo
systemInstances: [SystemInstance]
systemSecurity: SystemSecurity
systemJobs(
states: [SystemJobState]
): [SystemJob]
systemJobsScheduled: [SystemJobScheduled]
systemJobsUpcoming: [SystemJobUpcoming]
systemSearch: SystemSearch
}
extend type Mutation {
cancelJob(
id: UUID!
): DefaultResponse
checkForUpdates: SystemCheckUpdateResponse
disconnectWS: DefaultResponse
installExtension(
key: String!
): DefaultResponse
rebuildSearchIndex: DefaultResponse
retryJob(
id: UUID!
): DefaultResponse
setMetricsState(
enabled: Boolean!
): DefaultResponse
updateSystemSearch(
termHighlighting: Boolean
dictOverrides: String
): DefaultResponse
updateSystemFlags(
flags: JSON!
): 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
}
# -----------------------------------------------
# TYPES
# -----------------------------------------------
type SystemInfo {
configFile: String
cpuCores: Int
currentVersion: String
dbHost: String
dbType: String
dbVersion: String
groupsTotal: Int
hostname: String
httpPort: Int
httpRedirection: Boolean
httpsPort: Int
isMailConfigured: Boolean
isSchedulerHealthy: Boolean
latestVersion: String
latestVersionReleaseDate: Date
loginsPastDay: Int
nodeVersion: String
operatingSystem: String
pagesTotal: Int
platform: String
ramTotal: String
sslDomain: String
sslExpirationDate: Date
sslProvider: String
sslStatus: String
sslSubscriberEmail: String
tagsTotal: Int
upgradeCapable: Boolean
usersTotal: Int
workingDirectory: String
}
type SystemInstance {
id: String
activeConnections: Int
activeListeners: Int
dbUser: String
dbFirstSeen: Date
dbLastSeen: Date
ip: 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
task: String
state: SystemJobState
useWorker: Boolean
wasScheduled: Boolean
payload: JSON
attempt: Int
maxRetries: Int
lastErrorMessage: String
executedBy: String
createdAt: Date
startedAt: Date
completedAt: Date
}
type SystemJobScheduled {
id: UUID
task: String
cron: String
type: String
payload: JSON
createdAt: Date
updatedAt: Date
}
type SystemJobUpcoming {
id: UUID
task: String
useWorker: Boolean
payload: JSON
retries: Int
maxRetries: Int
waitUntil: Date
isScheduled: Boolean
createdBy: String
createdAt: Date
updatedAt: Date
}
enum SystemJobState {
ACTIVE
COMPLETED
FAILED
INTERRUPTED
}
type SystemCheckUpdateResponse {
operation: Operation
current: String
latest: String
latestDate: String
}
type SystemSearch {
termHighlighting: Boolean
dictOverrides: String
}