metrics performance and correctness

This commit is contained in:
Timur Ercan
2023-01-27 20:49:06 +01:00
parent adc34ac282
commit ae2a1c481a
2 changed files with 15 additions and 10 deletions

View File

@ -49,6 +49,7 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) {
await sendSigningRequestMail(recipient, document);
});
// todo way better error handling
return res.status(200).end();
}

View File

@ -24,6 +24,7 @@ import {
SendStatus,
SigningStatus,
DocumentStatus,
Document as PrismaDocument,
} from "@prisma/client";
import { getUserFromToken } from "@documenso/lib/server";
@ -156,36 +157,39 @@ export async function getServerSideProps(context: any) {
const user = await getUserFromToken(context.req, context.res);
if (!user) return;
const drafts = await prisma.document.findMany({
// todo optimize querys
// todo no intersection groups
const documents: PrismaDocument[] = await prisma.document.findMany({
where: {
userId: user.id,
status: DocumentStatus.DRAFT,
},
});
// todo optimize querys
const drafts: PrismaDocument[] = documents.filter(
(d) => d.status === DocumentStatus.DRAFT
);
const completed: PrismaDocument[] = documents.filter(
(d) => d.status === DocumentStatus.COMPLETED
);
const sent = await prisma.recipient.groupBy({
by: ["documentId"],
where: {
sendStatus: SendStatus.SENT,
readStatus: ReadStatus.NOT_OPENED,
},
});
const opened = await prisma.recipient.groupBy({
by: ["documentId"],
where: {
sendStatus: SendStatus.SENT,
readStatus: ReadStatus.OPENED,
},
});
const completed = await prisma.document.findMany({
where: {
userId: user.id,
status: DocumentStatus.COMPLETED,
},
});
return {
props: {
dashboard: {