Max file upload 500MB
This commit is contained in:
@@ -12,6 +12,25 @@ export const generateUploadUrl = mutation({
|
||||
},
|
||||
});
|
||||
|
||||
const MAX_ATTACHMENT_SIZE = 500 * 1024 * 1024; // 500MB
|
||||
|
||||
// Validate uploaded file size and return its URL. Deletes file if too large.
|
||||
export const validateUpload = mutation({
|
||||
args: { storageId: v.id("_storage") },
|
||||
returns: v.string(),
|
||||
handler: async (ctx, args) => {
|
||||
const meta = await ctx.storage.getMetadata(args.storageId);
|
||||
if (!meta) throw new Error("File not found in storage");
|
||||
if (meta.size > MAX_ATTACHMENT_SIZE) {
|
||||
await ctx.storage.delete(args.storageId);
|
||||
throw new Error("File must be under 500MB");
|
||||
}
|
||||
const url = await getPublicStorageUrl(ctx, args.storageId);
|
||||
if (!url) throw new Error("Failed to get file URL");
|
||||
return url;
|
||||
},
|
||||
});
|
||||
|
||||
// Get file URL from storage ID
|
||||
export const getFileUrl = query({
|
||||
args: { storageId: v.id("_storage") },
|
||||
|
||||
Reference in New Issue
Block a user