From 2c4ae43e688a9873e86211ea0e7aeb9ba770dd77 Mon Sep 17 00:00:00 2001 From: Minteck Date: Tue, 18 Oct 2022 08:59:09 +0200 Subject: Update --- .../pronote-api/src/server/schemas/index.js | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 alarm/node_modules/pronote-api/src/server/schemas/index.js (limited to 'alarm/node_modules/pronote-api/src/server/schemas/index.js') diff --git a/alarm/node_modules/pronote-api/src/server/schemas/index.js b/alarm/node_modules/pronote-api/src/server/schemas/index.js new file mode 100644 index 0000000..099d358 --- /dev/null +++ b/alarm/node_modules/pronote-api/src/server/schemas/index.js @@ -0,0 +1,40 @@ +const path = require('path'); +const fs = require('fs').promises; + +const { buildSchema } = require('graphql'); + +const date = require('../date'); + +const SCHEMAS = ['student', 'parent']; + +async function readFile(name) +{ + const file = path.join(__dirname, name); + const content = await fs.readFile(file); + + return content.toString(); +} + +async function readSchema(common, name) +{ + const content = await readFile(name + '.graphql'); + const schema = buildSchema(common + '\n' + content); + + Object.assign(schema._typeMap.Date, date); + + return schema; +} + +async function getSchemas() +{ + const common = await readFile('common.graphql'); + const result = {}; + + for (const schema of SCHEMAS) { + result[schema] = await readSchema(common, schema); + } + + return result; +} + +module.exports = getSchemas; -- cgit