mirror of
https://github.com/documenso/documenso.git
synced 2025-11-14 00:32:43 +10:00
metrics performance and correctness
This commit is contained in:
@ -49,6 +49,7 @@ async function postHandler(req: NextApiRequest, res: NextApiResponse) {
|
|||||||
await sendSigningRequestMail(recipient, document);
|
await sendSigningRequestMail(recipient, document);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// todo way better error handling
|
||||||
return res.status(200).end();
|
return res.status(200).end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import {
|
|||||||
SendStatus,
|
SendStatus,
|
||||||
SigningStatus,
|
SigningStatus,
|
||||||
DocumentStatus,
|
DocumentStatus,
|
||||||
|
Document as PrismaDocument,
|
||||||
} from "@prisma/client";
|
} from "@prisma/client";
|
||||||
import { getUserFromToken } from "@documenso/lib/server";
|
import { getUserFromToken } from "@documenso/lib/server";
|
||||||
|
|
||||||
@ -156,36 +157,39 @@ export async function getServerSideProps(context: any) {
|
|||||||
const user = await getUserFromToken(context.req, context.res);
|
const user = await getUserFromToken(context.req, context.res);
|
||||||
if (!user) return;
|
if (!user) return;
|
||||||
|
|
||||||
const drafts = await prisma.document.findMany({
|
// todo optimize querys
|
||||||
|
// todo no intersection groups
|
||||||
|
|
||||||
|
const documents: PrismaDocument[] = await prisma.document.findMany({
|
||||||
where: {
|
where: {
|
||||||
userId: user.id,
|
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({
|
const sent = await prisma.recipient.groupBy({
|
||||||
by: ["documentId"],
|
by: ["documentId"],
|
||||||
where: {
|
where: {
|
||||||
sendStatus: SendStatus.SENT,
|
sendStatus: SendStatus.SENT,
|
||||||
|
readStatus: ReadStatus.NOT_OPENED,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const opened = await prisma.recipient.groupBy({
|
const opened = await prisma.recipient.groupBy({
|
||||||
by: ["documentId"],
|
by: ["documentId"],
|
||||||
where: {
|
where: {
|
||||||
|
sendStatus: SendStatus.SENT,
|
||||||
readStatus: ReadStatus.OPENED,
|
readStatus: ReadStatus.OPENED,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const completed = await prisma.document.findMany({
|
|
||||||
where: {
|
|
||||||
userId: user.id,
|
|
||||||
status: DocumentStatus.COMPLETED,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
props: {
|
props: {
|
||||||
dashboard: {
|
dashboard: {
|
||||||
|
|||||||
Reference in New Issue
Block a user