mirror of
https://github.com/vuejs/vue-cli.git
synced 2026-01-24 08:08:54 -06:00
52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
const gql = require('graphql-tag')
|
|
// Connectors
|
|
const cwd = require('../connectors/cwd')
|
|
const configurations = require('../connectors/configurations')
|
|
const plugins = require('../connectors/plugins')
|
|
|
|
exports.types = gql`
|
|
extend type Query {
|
|
configurations: [Configuration]
|
|
configuration (id: ID!): Configuration
|
|
}
|
|
|
|
extend type Mutation {
|
|
configurationSave (id: ID!): Configuration
|
|
configurationCancel (id: ID!): Configuration
|
|
}
|
|
|
|
type Configuration implements DescribedEntity {
|
|
id: ID!
|
|
name: String!
|
|
description: String
|
|
link: String
|
|
icon: String
|
|
plugin: Plugin
|
|
tabs: [ConfigurationTab]!
|
|
}
|
|
|
|
type ConfigurationTab {
|
|
id: ID!
|
|
label: String!
|
|
icon: String
|
|
prompts: [Prompt]
|
|
}
|
|
`
|
|
|
|
exports.resolvers = {
|
|
Configuration: {
|
|
tabs: (configuration, args, context) => configurations.getPromptTabs(configuration.id, context),
|
|
plugin: (configuration, args, context) => plugins.findOne({ id: configuration.pluginId, file: cwd.get() }, context)
|
|
},
|
|
|
|
Query: {
|
|
configurations: (root, args, context) => configurations.list(context),
|
|
configuration: (root, { id }, context) => configurations.findOne(id, context)
|
|
},
|
|
|
|
Mutation: {
|
|
configurationSave: (root, { id }, context) => configurations.save(id, context),
|
|
configurationCancel: (root, { id }, context) => configurations.cancel(id, context)
|
|
}
|
|
}
|