first commit 😇
This commit is contained in:
45
scripts/fetchData.js
Normal file
45
scripts/fetchData.js
Normal file
@ -0,0 +1,45 @@
|
||||
import fs from "fs/promises";
|
||||
|
||||
const apiUrl = "https://admin.ceiba-conseil.com";
|
||||
|
||||
async function fetchJSONApi(path) {
|
||||
const url = `${apiUrl}${path}`;
|
||||
const options = {
|
||||
method: "GET",
|
||||
headers: {
|
||||
"content-type": "application/json",
|
||||
},
|
||||
};
|
||||
console.log(`fetchJSONApi: ${url}`);
|
||||
const response = await fetch(url, options);
|
||||
|
||||
if (!response.ok) {
|
||||
const errors = await response.json();
|
||||
throw errors.errors[0].message;
|
||||
}
|
||||
|
||||
return response.json();
|
||||
}
|
||||
|
||||
async function fetchData() {
|
||||
const fields = [
|
||||
"*",
|
||||
"translations.*",
|
||||
"questions.sort",
|
||||
"questions.questions_id.*",
|
||||
"questions.questions_id.translations.*",
|
||||
"questions.questions_id.answers.*",
|
||||
"questions.questions_id.answers.answers_id.*",
|
||||
"questions.questions_id.answers.answers_id.translations.*",
|
||||
"results.*",
|
||||
"results.results_id.*",
|
||||
"results.results_id.translations.*",
|
||||
];
|
||||
const url = `/items/scores?${fields
|
||||
.map((item) => `fields[]=${item}`)
|
||||
.join("&")}`;
|
||||
const data = await fetchJSONApi(url);
|
||||
await fs.writeFile("./src/data.json", JSON.stringify(data.data), "utf8");
|
||||
}
|
||||
|
||||
fetchData();
|
Reference in New Issue
Block a user