chore: wip1

This commit is contained in:
Ephraim Atta-Duncan
2025-02-25 10:41:28 +00:00
parent 87f66edd95
commit 6f930ece4e

View File

@ -53,30 +53,22 @@ export const getSigningVolume = async ({
}, },
}); });
const uniqueEntities = new Map(); const subscriptionData = activeSubscriptions.map((subscription) => {
activeSubscriptions.forEach((subscription) => {
const isTeam = !!subscription.teamId; const isTeam = !!subscription.teamId;
const entityId = isTeam ? `team-${subscription.teamId}` : `user-${subscription.userId}`; return {
id: subscription.id,
if (!uniqueEntities.has(entityId)) { planId: subscription.planId,
uniqueEntities.set(entityId, { userId: subscription.userId,
id: subscription.id, teamId: subscription.teamId,
planId: subscription.planId, name: isTeam ? subscription.team?.name : subscription.user?.name || '',
userId: subscription.userId, email: isTeam
teamId: subscription.teamId, ? subscription.team?.teamEmail?.email || `Team ${subscription.team?.id}`
name: isTeam ? subscription.team?.name : subscription.user?.name || '', : subscription.user?.email || '',
email: isTeam createdAt: isTeam ? subscription.team?.createdAt : subscription.user?.createdAt,
? subscription.team?.teamEmail?.email || `Team ${subscription.team?.id}` isTeam,
: subscription.user?.email || '', };
createdAt: isTeam ? subscription.team?.createdAt : subscription.user?.createdAt,
isTeam,
});
}
}); });
const subscriptionData = Array.from(uniqueEntities.values());
const filteredSubscriptions = search const filteredSubscriptions = search
? subscriptionData.filter((sub) => { ? subscriptionData.filter((sub) => {
const searchLower = search.toLowerCase(); const searchLower = search.toLowerCase();
@ -91,16 +83,38 @@ export const getSigningVolume = async ({
filteredSubscriptions.map(async (subscription) => { filteredSubscriptions.map(async (subscription) => {
let signingVolume = 0; let signingVolume = 0;
if (subscription.userId && !subscription.isTeam) { if (subscription.userId) {
const personalCount = await prisma.document.count({ const personalCount = await prisma.document.count({
where: { where: {
userId: subscription.userId, userId: subscription.userId,
teamId: null,
status: DocumentStatus.COMPLETED, status: DocumentStatus.COMPLETED,
}, },
}); });
signingVolume += personalCount; signingVolume += personalCount;
const userTeams = await prisma.teamMember.findMany({
where: {
userId: subscription.userId,
},
select: {
teamId: true,
},
});
if (userTeams.length > 0) {
const teamIds = userTeams.map((team) => team.teamId);
const teamCount = await prisma.document.count({
where: {
teamId: {
in: teamIds,
},
status: DocumentStatus.COMPLETED,
},
});
signingVolume += teamCount;
}
} }
if (subscription.teamId) { if (subscription.teamId) {