Files
cfw-autumn/server/src/external/supabase/storageUtils.ts
2025-06-15 17:29:08 +01:00

43 lines
805 B
TypeScript

import { SupabaseClient } from "@supabase/supabase-js";
import { createSupabaseClient } from "../supabaseUtils.js";
export const uploadFile = async ({
path,
file,
contentType,
}: {
path: string;
file: Buffer;
contentType?: string;
}) => {
const sb = createSupabaseClient();
const { data, error } = await sb.storage.from("autumn").upload(path, file, {
upsert: true,
contentType,
});
if (error) {
throw error;
}
return data;
};
export const getUploadUrl = async ({ path }: { path: string }) => {
const sb = createSupabaseClient();
await sb.storage.from("autumn").remove([path]);
const { data, error } = await sb.storage
.from("autumn")
.createSignedUploadUrl(path, {
upsert: true,
});
if (error) {
throw error;
}
return data;
};