implemented API

This commit is contained in:
Pete Gerlach
2024-06-11 13:22:08 +02:00
parent 743bb06c00
commit 3094e30575

View File

@@ -2,17 +2,36 @@ import axios from "axios"
const path = "https://api.jodel.anxietyprime.de/post";
const config = {
headers: {
auth: {
username: process.env.REACT_APP_AUTH_USERNAME,
password: process.env.REACT_APP_AUTH_PASSWORD,
}
}
}
export const postApi = {
async getPostsByCoords (lon, lat) {
return (await axios.get(`${path}/${lon}/${lat}`, this.config)).data;
return (await axios.get(`${path}s/${lon}/${lat}`)).data;
},
async getPostByID (id) {
return (await axios.get(`${path}/${id}`)).data;
},
async createNewPost(title, content) {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(async function(position) {
const latitude = position.coords.latitude;
const longitude = position.coords.longitude;
await axios.post(`${path}s`, {
"authorID": 1,
"title": title,
"content": content,
"date": Date.now().toString(),
"location": {
"longitude": longitude,
"latitude": latitude,
},
});
});
} else {
console.log("Geolocation is not supported by this browser. Could'nt post without valid location");
}
},
async reactToPost(id, reaction) {
await axios.put(`${path}/${id}`, {
"reaction": reaction,
})
}
}