working on a new backend fetch way

This commit is contained in:
Antoine M 2024-02-21 14:45:38 +01:00
parent 86a5d4da74
commit 1a87fd49be

View File

@ -6,9 +6,9 @@ const BASE_URL = "https://staysafe.deligraph.info/wp-json/wp/v2";
const BASE_CUSTOM_URL = "https://staysafe.deligraph.info/wp-json/lhoist-datas"; const BASE_CUSTOM_URL = "https://staysafe.deligraph.info/wp-json/lhoist-datas";
const WORDPRESS_API_TOKEN = process.env.REACT_APP_WORDPRESS_API_TOKEN; const WORDPRESS_API_TOKEN = process.env.REACT_APP_WORDPRESS_API_TOKEN;
const UMAMI_API_TOKEN = process.env.REACT_APP_UMAMI_API_TOKEN; // const UMAMI_API_TOKEN = process.env.REACT_APP_UMAMI_API_TOKEN;
const UMAMI_WEBSITE_ID = process.env.REACT_APP_UMAMI_WEBSITE_ID; // const UMAMI_WEBSITE_ID = process.env.REACT_APP_UMAMI_WEBSITE_ID;
const UMAMI_API_BASE_ENDPOINT = process.env.REACT_APP_UMAMI_API_BASE_ENDPOINT; // const UMAMI_API_BASE_ENDPOINT = process.env.REACT_APP_UMAMI_API_BASE_ENDPOINT;
const umamiBaseEndpoint = process.env.REACT_APP_UMAMI_API_BASE_ENDPOINT; const umamiBaseEndpoint = process.env.REACT_APP_UMAMI_API_BASE_ENDPOINT;
@ -30,6 +30,7 @@ function useWordpressCustomData(url) {
return data; return data;
} }
function useWordpressData(url) { function useWordpressData(url) {
const [data, setData] = useState(); const [data, setData] = useState();
@ -46,6 +47,29 @@ function useWordpressData(url) {
return data; return data;
} }
async function postGameStatisticsDataBackend(requestDatas) {
const requestDataExample = {
user_locale: "zz",
user_country: "France",
level_post_id: 43,
level_score: 3,
level_completion_time: 800,
};
const options = {
method: "POST",
url: "http://localhost:8000/post-statistics",
data: requestDataExample,
};
axios.request(options)
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});
}
async function postGameStatisticsData(requestDatas) { async function postGameStatisticsData(requestDatas) {
// console.log(requestDatas); // console.log(requestDatas);
// const locals = ["FR", "BE", "DE", "NL", "UK", "US", "FR"]; // const locals = ["FR", "BE", "DE", "NL", "UK", "US", "FR"];
@ -101,80 +125,87 @@ async function postGameStatisticsData(requestDatas) {
} }
} }
function useUmamiDatas() { // function useUmamiDatas() {
const umamiUrl = "https://umami.deligraph.be/api/websites"; // const umamiUrl = "https://umami.deligraph.be/api/websites";
const bearerToken = // const bearerToken =
"Ii96P0XNdBE0gD0l8lX5Qf3+Lt7T0RsEoWUjf8qNaifyPbhi/PXmGygkIHuGbMm6bJ9iHPe9pIzfBJeFvG+ehlQSd4MWuWr3xKEmxtcwDMOlN4aDo3rlSf9phB02sjx0QcBhngfl0p9g/nI30d1XTWvHspw5BCNT7+NRzb5gDa24tbbSS/a/wL9+TN+mCjCUsaMOt9o/t0D3kNtE6qSgK4gAFijbDBXsgjbiPwb3HemrEb19JfY9gtMMpwBVE2KKst0j6kyKUWWDeJiBz3LQHO+FSthwG9tQCovVFgHNzLh+L+6fcmUkEpDC3nA62UCPmVAy3zJgjFWgtVZdXaSeFm7mLF1/Wsqk3g=="; // "Ii96P0XNdBE0gD0l8lX5Qf3+Lt7T0RsEoWUjf8qNaifyPbhi/PXmGygkIHuGbMm6bJ9iHPe9pIzfBJeFvG+ehlQSd4MWuWr3xKEmxtcwDMOlN4aDo3rlSf9phB02sjx0QcBhngfl0p9g/nI30d1XTWvHspw5BCNT7+NRzb5gDa24tbbSS/a/wL9+TN+mCjCUsaMOt9o/t0D3kNtE6qSgK4gAFijbDBXsgjbiPwb3HemrEb19JfY9gtMMpwBVE2KKst0j6kyKUWWDeJiBz3LQHO+FSthwG9tQCovVFgHNzLh+L+6fcmUkEpDC3nA62UCPmVAy3zJgjFWgtVZdXaSeFm7mLF1/Wsqk3g==";
const [data, setData] = useState(); // const [data, setData] = useState();
useEffect(() => { // useEffect(() => {
const dataFetch = async () => { // const dataFetch = async () => {
const data = await ( // const data = await (
await fetch(umamiUrl, { // await fetch(umamiUrl, {
method: "GET", // method: "GET",
headers: { // headers: {
"Content-Type": "application/json", // "Content-Type": "application/json",
Authorization: `Bearer ${bearerToken}`, // Authorization: `Bearer ${bearerToken}`,
}, // },
}) // })
).json(); // ).json();
setData(data); // setData(data);
}; // };
dataFetch(); // dataFetch();
}, []); // }, []);
return data; // return data;
} // }
function useUmamiUpdateDatas() { // function useUmamiUpdateDatas() {
const [result, setResult] = useState(null); // État local pour stocker le résultat // const [result, setResult] = useState(null); // État local pour stocker le résultat
const eventName = "event-name-de-test"; // const eventName = "event-name-de-test";
const UMAMI_SEND_URL = UMAMI_API_BASE_ENDPOINT + "/send"; // const UMAMI_SEND_URL = UMAMI_API_BASE_ENDPOINT + "/send";
const dataPayload = { // const dataPayload = {
payload: { // payload: {
hostname: window.location.hostname, // hostname: window.location.hostname,
language: navigator.language, // language: navigator.language,
referrer: document.referrer, // referrer: document.referrer,
screen: `${window.screen.width}x${window.screen.height}`, // screen: `${window.screen.width}x${window.screen.height}`,
title: document.title, // title: document.title,
url: window.location.pathname, // url: window.location.pathname,
website: UMAMI_WEBSITE_ID, // website: UMAMI_WEBSITE_ID,
name: "puzzle-1-complete", // name: "puzzle-1-complete",
data: { // data: {
lang: "fr", // lang: "fr",
country: "France", // country: "France",
level_post_id: 154, // level_post_id: 154,
level_is_completed: 0, // level_is_completed: 0,
level_completion_time: 20000, // level_completion_time: 20000,
level_score: 12, // level_score: 12,
}, // },
}, // },
type: "event", // type: "event",
}; // };
useEffect(() => { // useEffect(() => {
const dataFetch = async () => { // const dataFetch = async () => {
try { // try {
await axios.post(UMAMI_SEND_URL, dataPayload, { // await axios.post(UMAMI_SEND_URL, dataPayload, {
headers: { // headers: {
"User-Agent": navigator.userAgent, // "User-Agent": navigator.userAgent,
}, // },
}); // });
setResult(`Event '${eventName}' sent successfully to Umami.`); // setResult(`Event '${eventName}' sent successfully to Umami.`);
console.log(`Event '${eventName}' sent successfully to Umami.`); // console.log(`Event '${eventName}' sent successfully to Umami.`);
} catch (error) { // } catch (error) {
setResult("Error sending Umami event:"); // setResult("Error sending Umami event:");
console.error("Error sending Umami event:", error); // console.error("Error sending Umami event:", error);
} // }
}; // };
dataFetch(); // dataFetch();
}, []); // }, []);
return result; // return result;
} // }
export { useWordpressData, useWordpressCustomData, postGameStatisticsData, useUmamiDatas, useUmamiUpdateDatas }; export {
useWordpressData,
useWordpressCustomData,
postGameStatisticsDataBackend,
postGameStatisticsData,
// useUmamiDatas,
// useUmamiUpdateDatas,
};