47 lines
908 B
JavaScript
47 lines
908 B
JavaScript
'use strict'
|
|
const appRoot = require( 'app-root-path' )
|
|
const { validateServerRole, validateScopes, authorizeResolver } = require( `${appRoot}/modules/shared` )
|
|
const { updateServerInfo, getServerInfo, getAvailableScopes, getAvailableRoles } = require( '../../services/generic' )
|
|
|
|
module.exports = {
|
|
Query: {
|
|
|
|
async serverInfo( parent, args, context, info ) {
|
|
|
|
return await getServerInfo()
|
|
|
|
}
|
|
|
|
},
|
|
|
|
ServerInfo: {
|
|
|
|
async roles( parent, args, context, info ) {
|
|
|
|
return await getAvailableRoles( )
|
|
|
|
},
|
|
|
|
async scopes( parent, args, context, info ) {
|
|
|
|
return await getAvailableScopes( )
|
|
|
|
}
|
|
},
|
|
|
|
Mutation: {
|
|
|
|
async serverInfoUpdate( parent, args, context, info ) {
|
|
|
|
await validateServerRole( context, 'server:admin' )
|
|
await validateScopes( context.scopes, 'server:setup' )
|
|
|
|
await updateServerInfo( args.info )
|
|
return true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|