wikijs-fork/server/graph/schemas/system.graphql

137 lines
4.1 KiB
GraphQL
Raw Permalink Normal View History

# ===============================================
# SYSTEM
# ===============================================
extend type Query {
system: SystemQuery
}
2019-02-23 23:22:25 +00:00
extend type Mutation {
system: SystemMutation
}
# -----------------------------------------------
# QUERIES
# -----------------------------------------------
type SystemQuery {
2019-02-23 23:22:25 +00:00
flags: [SystemFlag] @auth(requires: ["manage:system"])
2019-01-12 23:33:30 +00:00
info: SystemInfo
extensions: [SystemExtension] @auth(requires: ["manage:system"])
exportStatus: SystemExportStatus @auth(requires: ["manage:system"])
}
# -----------------------------------------------
# MUTATIONS
# -----------------------------------------------
2019-02-23 23:22:25 +00:00
type SystemMutation {
updateFlags(
flags: [SystemFlagInput]!
): DefaultResponse @auth(requires: ["manage:system"])
2019-07-06 21:43:50 +00:00
resetTelemetryClientId: DefaultResponse @auth(requires: ["manage:system"])
setTelemetry(
enabled: Boolean!
): DefaultResponse @auth(requires: ["manage:system"])
2019-09-22 20:32:39 +00:00
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"])
2019-02-23 23:22:25 +00:00
}
# -----------------------------------------------
# TYPES
# -----------------------------------------------
2019-02-23 23:22:25 +00:00
type SystemFlag {
key: String!
value: Boolean!
}
input SystemFlagInput {
key: String!
value: Boolean!
}
type SystemInfo {
2019-01-12 23:33:30 +00:00
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"])
2019-01-12 23:33:30 +00:00
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"])
2020-02-09 05:49:32 +00:00
tagsTotal: Int @auth(requires: ["manage:system", "manage:navigation", "manage:pages", "delete:pages"])
2019-07-06 21:43:50 +00:00
telemetry: Boolean @auth(requires: ["manage:system"])
telemetryClientId: String @auth(requires: ["manage:system"])
2019-09-22 20:32:39 +00:00
upgradeCapable: Boolean @auth(requires: ["manage:system"])
2019-01-12 23:33:30 +00:00
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
}
2020-05-18 04:45:51 +00:00
type SystemExtension {
key: String!
title: String!
description: String!
isInstalled: Boolean!
isCompatible: Boolean!
}
type SystemExportStatus {
status: String
progress: Int
message: String
startedAt: Date
}