feat: add the admin page

This commit is contained in:
Catalin Pit
2023-09-08 11:28:50 +03:00
committed by Mythie
parent 61df56c21e
commit 766fc6410b
6 changed files with 175 additions and 2 deletions

View File

@ -0,0 +1,5 @@
import { prisma } from '@documenso/prisma';
export const getDocsCount = async () => {
return await prisma.document.count();
};

View File

@ -0,0 +1,20 @@
import { prisma } from '@documenso/prisma';
import { ReadStatus, SendStatus, SigningStatus } from '@documenso/prisma/client';
export const getRecipientsStats = async () => {
const results = await prisma.recipient.groupBy({
by: ['readStatus', 'signingStatus', 'sendStatus'],
_count: true,
});
return {
TOTAL_RECIPIENTS: results.length,
[ReadStatus.OPENED]: results.filter((r) => r.readStatus === 'OPENED')?.[0]?._count ?? 0,
[ReadStatus.NOT_OPENED]: results.filter((r) => r.readStatus === 'NOT_OPENED')?.[0]?._count ?? 0,
[SigningStatus.SIGNED]: results.filter((r) => r.signingStatus === 'SIGNED')?.[0]?._count ?? 0,
[SigningStatus.NOT_SIGNED]:
results.filter((r) => r.signingStatus === 'NOT_SIGNED')?.[0]?._count ?? 0,
[SendStatus.SENT]: results.filter((r) => r.sendStatus === 'SENT')?.[0]?._count ?? 0,
[SendStatus.NOT_SENT]: results.filter((r) => r.sendStatus === 'NOT_SENT')?.[0]?._count ?? 0,
};
};

View File

@ -0,0 +1,18 @@
import { prisma } from '@documenso/prisma';
import { SubscriptionStatus } from '@documenso/prisma/client';
export const getUsersCount = async () => {
return await prisma.user.count();
};
export const getUsersWithSubscriptionsCount = async () => {
return await prisma.user.count({
where: {
Subscription: {
some: {
status: SubscriptionStatus.ACTIVE,
},
},
},
});
};