feat: extensions check + resolver
This commit is contained in:
@@ -34,7 +34,14 @@ module.exports = {
|
||||
result.push({ key, value })
|
||||
}, [])
|
||||
},
|
||||
async info() { return {} }
|
||||
async info () { return {} },
|
||||
async extensions () {
|
||||
const exts = Object.values(WIKI.extensions.ext).map(ext => _.pick(ext, ['key', 'title', 'description', 'isInstalled']))
|
||||
for (let ext of exts) {
|
||||
ext.isCompatible = await WIKI.extensions.ext[ext.key].isCompatible()
|
||||
}
|
||||
return exts
|
||||
}
|
||||
},
|
||||
SystemMutation: {
|
||||
async updateFlags (obj, args, context) {
|
||||
|
@@ -17,6 +17,7 @@ extend type Mutation {
|
||||
type SystemQuery {
|
||||
flags: [SystemFlag] @auth(requires: ["manage:system"])
|
||||
info: SystemInfo
|
||||
extensions: [SystemExtension]! @auth(requires: ["manage:system"])
|
||||
}
|
||||
|
||||
# -----------------------------------------------
|
||||
@@ -112,3 +113,11 @@ type SystemImportUsersResponseFailed {
|
||||
email: String
|
||||
error: String
|
||||
}
|
||||
|
||||
type SystemExtension {
|
||||
key: String!
|
||||
title: String!
|
||||
description: String!
|
||||
isInstalled: Boolean!
|
||||
isCompatible: Boolean!
|
||||
}
|
||||
|
Reference in New Issue
Block a user