const axios = require('axios'); const fs = require('fs'); const path = require('path'); require('dotenv').config({ path: path.resolve(__dirname, '../.env.local') }); async function fetchSchema() { // Define the Directus server URL and credentials const serverUrl = 'https://directus.andert.me'; const credentials = { email: 'samuel@andert.me', password: process.env.DIRECTUS_PW }; // Login to the Directus server and get the access token const { data: { data: { token } } } = await axios.post(`${serverUrl}/auth/login`, credentials); // Fetch the GraphQL SDL schema const { data: schema } = await axios.get(`${serverUrl}/server/specs/graphql`, { headers: { 'Authorization': `Bearer ${process.env.DIRECTUS_API}` } }); // Save the schema to a file fs.writeFileSync('./schemas/directus.graphql', schema); } fetchSchema().catch(console.error);