wuyiqun0718's picture
Revert "feat: temp to test in prod (#22)"
31d3a01
raw
history blame
1 kB
import { auth } from '@/auth';
import { getPresignedUrl } from '@/lib/aws';
import { nanoid } from '@/lib/utils';
/**
* @param req
* @returns
*/
export async function POST(req: Request): Promise<Response> {
const session = await auth();
const user = session?.user?.email ?? 'anonymous';
// if (!email) {
// return new Response('Unauthorized', {
// status: 401,
// });
// }
try {
const { fileName, fileType, id } = (await req.json()) as {
id?: string;
fileName: string;
fileType: string;
};
const signedFileName = `${user}/${id ?? nanoid()}/${fileName}`;
const res = await getPresignedUrl(signedFileName, fileType);
return Response.json({
id,
signedUrl: res.url,
publicUrl: `https://${process.env.AWS_BUCKET_NAME}.s3.${process.env.AWS_REGION}.amazonaws.com/${signedFileName}`,
fields: res.fields,
});
} catch (error) {
return new Response((error as Error).message, {
status: 400,
});
}
}