mirror of
https://github.com/wassname/talk.git
synced 2026-06-27 23:24:04 +08:00
25 lines
783 B
JavaScript
25 lines
783 B
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
const { mergeStrings } = require('@coralproject/gql-merge');
|
|
const debug = require('debug')('talk:graph:typeDefs');
|
|
const plugins = require('../services/plugins');
|
|
|
|
/**
|
|
* Plugin support requires us to merge the type definitions from the loaded
|
|
* graphql tags, this gives us the ability to extend any portion of the
|
|
* available graph.
|
|
*/
|
|
const typeDefs = mergeStrings([
|
|
// Load the core graph definitions from the filesystem.
|
|
fs.readFileSync(path.join(__dirname, 'typeDefs.graphql'), 'utf8'),
|
|
|
|
// Load the plugin definitions from the manager.
|
|
...plugins.get('server', 'typeDefs').map(({ plugin, typeDefs }) => {
|
|
debug(`added plugin '${plugin.name}'`);
|
|
|
|
return typeDefs;
|
|
}),
|
|
]);
|
|
|
|
module.exports = typeDefs;
|