import dbmedia from "@/lib/db-media"; import { createId } from '@paralleldrive/cuid2'; export const postMedia = async ({ files, gweet_id, }: { files: File[]; gweet_id?: string; }) => { try { files.forEach(async (file) => { const imagePath = createId(); const { error } = await dbmedia.storage .from("images") .upload(`image-${imagePath}`, file); if (error) { console.log("error", error); throw new Error("Failed to upload image"); } else { const { data: mediaUrl } = dbmedia.storage .from("images") .getPublicUrl(`image-${imagePath}`); const media = { ...(gweet_id && { gweet_id }), url: mediaUrl?.publicUrl, type: "image", }; await fetch('/api/media', { method: 'POST', body: JSON.stringify(media) }) } }); return true; } catch (error: any) { if (error.response) { // The request was made and the server responded with a status code // that falls out of the range of 2xx console.log(error.response.data); console.log(error.response.status); console.log(error.response.headers); } else if (error.request) { // The request was made but no response was received // `error.request` is an instance of XMLHttpRequest in the browser and an instance of // http.ClientRequest in node.js console.log(error.request); } else { // Something happened in setting up the request that triggered an Error console.log("Error", error.message); } console.log(error.config); } };