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

79 lines
1.6 KiB
GraphQL

# ===============================================
# STORAGE
# ===============================================
extend type Query {
storage: StorageQuery
}
extend type Mutation {
storage: StorageMutation
}
# -----------------------------------------------
# QUERIES
# -----------------------------------------------
type StorageQuery {
targets: [StorageTarget] @auth(requires: ["manage:system"])
status: [StorageStatus] @auth(requires: ["manage:system"])
}
# -----------------------------------------------
# MUTATIONS
# -----------------------------------------------
type StorageMutation {
updateTargets(
targets: [StorageTargetInput]!
): DefaultResponse @auth(requires: ["manage:system"])
executeAction(
targetKey: String!
handler: String!
): DefaultResponse @auth(requires: ["manage:system"])
}
# -----------------------------------------------
# TYPES
# -----------------------------------------------
type StorageTarget {
isAvailable: Boolean!
isEnabled: Boolean!
key: String!
title: String!
description: String
logo: String
website: String
supportedModes: [String]
mode: String
hasSchedule: Boolean!
syncInterval: String
syncIntervalDefault: String
config: [KeyValuePair]
actions: [StorageTargetAction]
}
input StorageTargetInput {
isEnabled: Boolean!
key: String!
mode: String!
syncInterval: String
config: [KeyValuePairInput]
}
type StorageStatus {
key: String!
title: String!
status: String!
message: String!
lastAttempt: String!
}
type StorageTargetAction {
handler: String!
label: String!
hint: String!
}