|
|
|
# ===============================================
|
|
|
|
# SYSTEM
|
|
|
|
# ===============================================
|
|
|
|
|
|
|
|
extend type Query {
|
|
|
|
system: SystemQuery
|
|
|
|
}
|
|
|
|
|
|
|
|
extend type Mutation {
|
|
|
|
system: SystemMutation
|
|
|
|
}
|
|
|
|
|
|
|
|
# -----------------------------------------------
|
|
|
|
# QUERIES
|
|
|
|
# -----------------------------------------------
|
|
|
|
|
|
|
|
type SystemQuery {
|
|
|
|
flags: [SystemFlag] @auth(requires: ["manage:system"])
|
|
|
|
info: SystemInfo
|
|
|
|
extensions: [SystemExtension] @auth(requires: ["manage:system"])
|
|
|
|
exportStatus: SystemExportStatus @auth(requires: ["manage:system"])
|
|
|
|
}
|
|
|
|
|
|
|
|
# -----------------------------------------------
|
|
|
|
# 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"])
|
|
|
|
|
|
|
|
setHTTPSRedirection(
|
|
|
|
enabled: Boolean!
|
|
|
|
): DefaultResponse @auth(requires: ["manage:system"])
|
|
|
|
|
|
|
|
renewHTTPSCertificate: DefaultResponse @auth(requires: ["manage:system"])
|
|
|
|
|
|
|
|
export(
|
|
|
|
entities: [String]!
|
|
|
|
path: String!
|
|
|
|
): 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"])
|
|
|
|
httpPort: Int @auth(requires: ["manage:system"])
|
|
|
|
httpRedirection: Boolean @auth(requires: ["manage:system"])
|
|
|
|
httpsPort: Int @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"])
|
|
|
|
sslDomain: String @auth(requires: ["manage:system"])
|
|
|
|
sslExpirationDate: Date @auth(requires: ["manage:system"])
|
|
|
|
sslProvider: String @auth(requires: ["manage:system"])
|
|
|
|
sslStatus: String @auth(requires: ["manage:system"])
|
|
|
|
sslSubscriberEmail: String @auth(requires: ["manage:system"])
|
|
|
|
tagsTotal: Int @auth(requires: ["manage:system", "manage:navigation", "manage:pages", "delete:pages"])
|
|
|
|
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
|
|
|
|
}
|
|
|
|
|
|
|
|
type SystemExtension {
|
|
|
|
key: String!
|
|
|
|
title: String!
|
|
|
|
description: String!
|
|
|
|
isInstalled: Boolean!
|
|
|
|
isCompatible: Boolean!
|
|
|
|
}
|
|
|
|
|
|
|
|
type SystemExportStatus {
|
|
|
|
status: String
|
|
|
|
progress: Int
|
|
|
|
message: String
|
|
|
|
startedAt: Date
|
|
|
|
}
|