21 lines
627 B
TypeScript
21 lines
627 B
TypeScript
|
import { auth } from "@clerk/nextjs";
|
||
|
import { createUploadthing, type FileRouter } from "uploadthing/next";
|
||
|
|
||
|
const f = createUploadthing();
|
||
|
|
||
|
const handleAuth = () => {
|
||
|
const { userId } = auth();
|
||
|
if (!userId) throw new Error("Unauthorized");
|
||
|
return { userId: userId };
|
||
|
}
|
||
|
|
||
|
export const ourFileRouter = {
|
||
|
serverImage: f({ image: { maxFileSize: "4MB", maxFileCount: 1 } })
|
||
|
.middleware(() => handleAuth())
|
||
|
.onUploadComplete(() => {}),
|
||
|
messageFile: f(["image", "pdf"])
|
||
|
.middleware(() => handleAuth())
|
||
|
.onUploadComplete(() => {})
|
||
|
} satisfies FileRouter;
|
||
|
|
||
|
export type OurFileRouter = typeof ourFileRouter;
|