From 7a036d86922ccdddcfa1b20244f2735911706c6d Mon Sep 17 00:00:00 2001 From: Timur Ercan Date: Wed, 1 Feb 2023 19:15:43 +0100 Subject: [PATCH] getDocument recfactor, qoc --- apps/web/pages/api/documents/[id].ts | 5 +---- apps/web/pages/api/documents/[id]/recipients/index.ts | 5 +---- apps/web/pages/api/documents/[id]/send.ts | 5 +---- apps/web/pages/api/documents/[id]/sign.ts | 9 +++++---- apps/web/pages/documents/[id]/index.tsx | 9 +++++---- apps/web/pages/documents/[id]/recipients.tsx | 9 +++++---- packages/lib/query/getDocument.ts | 7 ++++--- 7 files changed, 22 insertions(+), 27 deletions(-) diff --git a/apps/web/pages/api/documents/[id].ts b/apps/web/pages/api/documents/[id].ts index fa209cf06..d24f6bfef 100644 --- a/apps/web/pages/api/documents/[id].ts +++ b/apps/web/pages/api/documents/[id].ts @@ -19,10 +19,7 @@ async function getHandler(req: NextApiRequest, res: NextApiResponse) { return; } - const document: PrismaDocument = await getDocument(+documentId, { - res: res, - req: req, - }); + const document: PrismaDocument = await getDocument(+documentId, req, res); if (!document) res.status(404).end(`No document with id ${documentId} found.`); diff --git a/apps/web/pages/api/documents/[id]/recipients/index.ts b/apps/web/pages/api/documents/[id]/recipients/index.ts index 28dd0e38b..b18c3ec2c 100644 --- a/apps/web/pages/api/documents/[id]/recipients/index.ts +++ b/apps/web/pages/api/documents/[id]/recipients/index.ts @@ -21,10 +21,7 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) { return; } - const document: PrismaDocument = await getDocument(+documentId, { - res: res, - req: req, - }); + const document: PrismaDocument = await getDocument(+documentId, req, res); // todo encapsulate entity ownerships if (document.userId !== user.id) { diff --git a/apps/web/pages/api/documents/[id]/send.ts b/apps/web/pages/api/documents/[id]/send.ts index d3ea5d0fd..1921a97e1 100644 --- a/apps/web/pages/api/documents/[id]/send.ts +++ b/apps/web/pages/api/documents/[id]/send.ts @@ -20,10 +20,7 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) { return; } - const document: PrismaDocument = await getDocument(+documentId, { - res: res, - req: req, - }); + const document: PrismaDocument = await getDocument(+documentId, req, res); if (!document) res.status(404).end(`No document with id ${documentId} found.`); diff --git a/apps/web/pages/api/documents/[id]/sign.ts b/apps/web/pages/api/documents/[id]/sign.ts index 72dc4c266..644fdc950 100644 --- a/apps/web/pages/api/documents/[id]/sign.ts +++ b/apps/web/pages/api/documents/[id]/sign.ts @@ -27,10 +27,11 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) { return; } - const document: PrismaDocument = await getDocument(recipient.documentId, { - res: res, - req: req, - }); + const document: PrismaDocument = await getDocument( + recipient.documentId, + res, + req + ); if (!document) res.status(404).end(`No document found.`); diff --git a/apps/web/pages/documents/[id]/index.tsx b/apps/web/pages/documents/[id]/index.tsx index 9fcd74508..1ea875624 100644 --- a/apps/web/pages/documents/[id]/index.tsx +++ b/apps/web/pages/documents/[id]/index.tsx @@ -156,10 +156,11 @@ export async function getServerSideProps(context: any) { const { id: documentId } = context.query; - const document: PrismaDocument = await getDocument(+documentId, { - res: context.res, - req: context.req, - }); + const document: PrismaDocument = await getDocument( + +documentId, + context.res, + context.req + ); // todo optimize querys // todo no intersection groups diff --git a/apps/web/pages/documents/[id]/recipients.tsx b/apps/web/pages/documents/[id]/recipients.tsx index c2215a68b..fe0fa0165 100644 --- a/apps/web/pages/documents/[id]/recipients.tsx +++ b/apps/web/pages/documents/[id]/recipients.tsx @@ -155,10 +155,11 @@ export async function getServerSideProps(context: any) { if (!user) return; const { id: documentId } = context.query; - const document: PrismaDocument = await getDocument(+documentId, { - res: context.res, - req: context.req, - }); + const document: PrismaDocument = await getDocument( + +documentId, + context.req, + context.res + ); return { props: { diff --git a/packages/lib/query/getDocument.ts b/packages/lib/query/getDocument.ts index dda9ba767..f922f4c28 100644 --- a/packages/lib/query/getDocument.ts +++ b/packages/lib/query/getDocument.ts @@ -4,12 +4,13 @@ import { Document as PrismaDocument } from "@prisma/client"; export const getDocument = async ( documentId: number, - context: any + req: any, + res: any ): Promise => { - const user = await getUserFromToken(context.req, context.res); + const user = await getUserFromToken(req, res); if (!user) return Promise.reject("Invalid user or token."); if (!documentId) Promise.reject("No documentId"); - if (!context) Promise.reject("No context"); + if (!req || !res) Promise.reject("No res or req"); const document: PrismaDocument = await prisma.document.findFirstOrThrow({ where: {