diff --git a/apps/web/pages/api/documents/index.ts b/apps/web/pages/api/documents/index.ts index 71437e17b..79f933964 100644 --- a/apps/web/pages/api/documents/index.ts +++ b/apps/web/pages/api/documents/index.ts @@ -2,21 +2,40 @@ import { defaultHandler, defaultResponder } from "@documenso/lib/server"; import prisma from "@documenso/prisma"; import { NextApiRequest, NextApiResponse } from "next"; import { getUserFromToken } from "@documenso/lib/server"; +import formidable, { Files } from "formidable"; +import { getToken } from "next-auth/jwt"; + +export const config = { + api: { + bodyParser: false, + }, +}; // POST /documents async function postHandler(req: NextApiRequest, res: NextApiResponse) { - let user = await getUserFromToken(req, res); - if (!user) return; + const form = formidable(); - await prisma.document - .create({ - data: { - userId: user?.id, - }, - }) - .then(async () => { - return res.status(201).end(); - }); + const user = await getUserFromToken(req, res); + if (!user) return; + form.parse(req, async (err, fields, files) => { + if (err) throw err; + + // let uploadedDocument: any = files["document"]; + // const path = uploadedDocument[0].filepath; + // const fs = require("fs"); + // const buffer = fs.readFileSync(path); + // const documentAsBase64EncodedString = buffer.toString("base64"); + + const createdDocument = await prisma.$transaction([ + prisma.document.create({ + data: { + userId: user?.id, + document: "sss", + }, + }), + ]); + return res.status(201).end(createdDocument); + }); } async function getHandler(req: NextApiRequest, res: NextApiResponse) {