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;
}
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.`);

View File

@ -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) {

View File

@ -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.`);

View File

@ -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.`);

View File

@ -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

View File

@ -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: {

View File

@ -4,12 +4,13 @@ import { Document as PrismaDocument } from "@prisma/client";
export const getDocument = async (
documentId: number,
context: any
req: any,
res: any
): 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 (!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: {