import { files } from "~~/drizzle/schema"; import { db } from "~~/server/lib/db"; import * as z from 'zod'; export default defineEventHandler(async (event) => { await protectRoute(event); const userId = event.context.user!.id; const result = await readValidatedBody(event, (body) => z .object({ id: z.string(), name: z.string(), mimeType: z.string(), url: z.string(), }) .safeParse(body), ); if (!result.success) { throw createError({ statusCode: 400, message: result.error.issues[0]!.message, }); } const { id, name, mimeType, url } = result.data; const file = await db.insert(files).values({ id, userId, name, mimeType, url, createdAt: new Date(), }).returning(); if (!file) { throw createError({ statusCode: 500, statusMessage: 'Failed to insert file', message: 'Failed to insert file', }); } return { ok: true }; });