diff options
author | Minteck <contact@minteck.org> | 2022-10-18 08:59:09 +0200 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-10-18 08:59:09 +0200 |
commit | 2c4ae43e688a9873e86211ea0e7aeb9ba770dd77 (patch) | |
tree | 17848d95522dab25d3cdeb9c4a6450e2a234861f /alarm/node_modules/pronote-api/src/server/schemas/index.js | |
parent | 108525534c28013cfe1897c30e4565f9893f3766 (diff) | |
download | pluralconnect-2c4ae43e688a9873e86211ea0e7aeb9ba770dd77.tar.gz pluralconnect-2c4ae43e688a9873e86211ea0e7aeb9ba770dd77.tar.bz2 pluralconnect-2c4ae43e688a9873e86211ea0e7aeb9ba770dd77.zip |
Update
Diffstat (limited to 'alarm/node_modules/pronote-api/src/server/schemas/index.js')
-rw-r--r-- | alarm/node_modules/pronote-api/src/server/schemas/index.js | 40 |
1 files changed, 40 insertions, 0 deletions
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; |