import { useP2postStore } from '../stores/p2postStore' const p2postStore = useP2postStore() const p2postApiUrl = "/api/p2post" export const p2postApi = { async getMyUsers(){ try { const response = await fetch(p2postApiUrl+'/myusers') if (!response.ok) { const errorText = await response.text(); throw new Error(`Error fetching posts: ${response.status} - ${errorText}`); } const result = await response.json() p2postStore.users = result return result; } catch (error) { console.error("Error fetching posts:", error); throw error; } }, async getPosts(){ try { const response = await fetch(p2postApiUrl+'/posts') if (!response.ok) { const errorText = await response.text(); throw new Error(`Error fetching posts: ${response.status} - ${errorText}`); } const result = await response.json() return result; } catch (error) { console.error("Error fetching posts:", error); throw error; } }, async createPosts(user, content, medias, networks){ const data = {"user": user, "content": content, "medias": medias, "networks": networks}; const requestOptions = { method: 'POST', headers: {'Content-Type': 'application/json',}, body: JSON.stringify(data), }; try { const response = await fetch(p2postApiUrl+"/posts", requestOptions); if (!response.ok) { const errorText = await response.text(); throw new Error(`Error fetching posts: ${response.status} - ${errorText}`); } const result = await response.json(); return result; } catch (error) { console.error("Error fetching posts:", error); throw error; } }, async uploadFile(file) { const formData = new FormData(); formData.append("file", file); try { const response = await fetch(p2postApiUrl + "/medias", { method: "POST", body: formData, }); if (!response.ok) { const errorText = await response.text(); throw new Error(`Error uploading file: ${response.status} - ${errorText}`); } const result = await response.json(); return result; } catch (error) { console.error("Error uploading file:", error); throw error; } } }