getDocument recfactor, qoc

This commit is contained in:
Timur Ercan
2023-02-01 19:15:43 +01:00
parent f4a6e3c8fc
commit 7a036d8692
7 changed files with 22 additions and 27 deletions

View File

@ -19,10 +19,7 @@ async function getHandler(req: NextApiRequest, res: NextApiResponse) {
return; return;
} }
const document: PrismaDocument = await getDocument(+documentId, { const document: PrismaDocument = await getDocument(+documentId, req, res);
res: res,
req: req,
});
if (!document) if (!document)
res.status(404).end(`No document with id ${documentId} found.`); res.status(404).end(`No document with id ${documentId} found.`);

View File

@ -21,10 +21,7 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) {
return; return;
} }
const document: PrismaDocument = await getDocument(+documentId, { const document: PrismaDocument = await getDocument(+documentId, req, res);
res: res,
req: req,
});
// todo encapsulate entity ownerships // todo encapsulate entity ownerships
if (document.userId !== user.id) { if (document.userId !== user.id) {

View File

@ -20,10 +20,7 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) {
return; return;
} }
const document: PrismaDocument = await getDocument(+documentId, { const document: PrismaDocument = await getDocument(+documentId, req, res);
res: res,
req: req,
});
if (!document) if (!document)
res.status(404).end(`No document with id ${documentId} found.`); res.status(404).end(`No document with id ${documentId} found.`);

View File

@ -27,10 +27,11 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) {
return; return;
} }
const document: PrismaDocument = await getDocument(recipient.documentId, { const document: PrismaDocument = await getDocument(
res: res, recipient.documentId,
req: req, res,
}); req
);
if (!document) res.status(404).end(`No document found.`); if (!document) res.status(404).end(`No document found.`);

View File

@ -156,10 +156,11 @@ export async function getServerSideProps(context: any) {
const { id: documentId } = context.query; const { id: documentId } = context.query;
const document: PrismaDocument = await getDocument(+documentId, { const document: PrismaDocument = await getDocument(
res: context.res, +documentId,
req: context.req, context.res,
}); context.req
);
// todo optimize querys // todo optimize querys
// todo no intersection groups // todo no intersection groups

View File

@ -155,10 +155,11 @@ export async function getServerSideProps(context: any) {
if (!user) return; if (!user) return;
const { id: documentId } = context.query; const { id: documentId } = context.query;
const document: PrismaDocument = await getDocument(+documentId, { const document: PrismaDocument = await getDocument(
res: context.res, +documentId,
req: context.req, context.req,
}); context.res
);
return { return {
props: { props: {

View File

@ -4,12 +4,13 @@ import { Document as PrismaDocument } from "@prisma/client";
export const getDocument = async ( export const getDocument = async (
documentId: number, documentId: number,
context: any req: any,
res: any
): Promise<PrismaDocument> => { ): Promise<PrismaDocument> => {
const user = await getUserFromToken(context.req, context.res); const user = await getUserFromToken(req, res);
if (!user) return Promise.reject("Invalid user or token."); if (!user) return Promise.reject("Invalid user or token.");
if (!documentId) Promise.reject("No documentId"); 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({ const document: PrismaDocument = await prisma.document.findFirstOrThrow({
where: { where: {