chore: remove duplicateS

This commit is contained in:
Ephraim Atta-Duncan
2025-02-25 11:23:35 +00:00
parent a12c4a67f1
commit 55dded30a7

View File

@ -53,37 +53,67 @@ export const getSigningVolume = async ({
}, },
}); });
const subscriptionData = activeSubscriptions.map((subscription) => { const userSubscriptionsMap = new Map();
const teamSubscriptionsMap = new Map();
activeSubscriptions.forEach((subscription) => {
const isTeam = !!subscription.teamId; const isTeam = !!subscription.teamId;
return {
id: subscription.id, if (isTeam && subscription.teamId) {
planId: subscription.planId, if (!teamSubscriptionsMap.has(subscription.teamId)) {
userId: subscription.userId, teamSubscriptionsMap.set(subscription.teamId, {
teamId: subscription.teamId, id: subscription.id,
name: isTeam ? subscription.team?.name : subscription.user?.name || '', planId: subscription.planId,
email: isTeam teamId: subscription.teamId,
? subscription.team?.teamEmail?.email || `Team ${subscription.team?.id}` name: subscription.team?.name || '',
: subscription.user?.email || '', email: subscription.team?.teamEmail?.email || `Team ${subscription.team?.id}`,
createdAt: isTeam ? subscription.team?.createdAt : subscription.user?.createdAt, createdAt: subscription.team?.createdAt,
isTeam, isTeam: true,
}; subscriptionIds: [subscription.id],
});
} else {
const existingTeam = teamSubscriptionsMap.get(subscription.teamId);
existingTeam.subscriptionIds.push(subscription.id);
}
} else if (subscription.userId) {
if (!userSubscriptionsMap.has(subscription.userId)) {
userSubscriptionsMap.set(subscription.userId, {
id: subscription.id,
planId: subscription.planId,
userId: subscription.userId,
name: subscription.user?.name || '',
email: subscription.user?.email || '',
createdAt: subscription.user?.createdAt,
isTeam: false,
subscriptionIds: [subscription.id],
});
} else {
const existingUser = userSubscriptionsMap.get(subscription.userId);
existingUser.subscriptionIds.push(subscription.id);
}
}
}); });
const consolidatedSubscriptions = [
...Array.from(userSubscriptionsMap.values()),
...Array.from(teamSubscriptionsMap.values()),
];
const filteredSubscriptions = search const filteredSubscriptions = search
? subscriptionData.filter((sub) => { ? consolidatedSubscriptions.filter((sub) => {
const searchLower = search.toLowerCase(); const searchLower = search.toLowerCase();
return ( return (
sub.name?.toLowerCase().includes(searchLower) || sub.name?.toLowerCase().includes(searchLower) ||
sub.email?.toLowerCase().includes(searchLower) sub.email?.toLowerCase().includes(searchLower)
); );
}) })
: subscriptionData; : consolidatedSubscriptions;
const leaderboardWithVolume = await Promise.all( const leaderboardWithVolume = await Promise.all(
filteredSubscriptions.map(async (subscription) => { filteredSubscriptions.map(async (subscription) => {
let signingVolume = 0; let signingVolume = 0;
if (subscription.userId && !subscription.teamId) { if (subscription.userId && !subscription.isTeam) {
const personalCount = await prisma.document.count({ const personalCount = await prisma.document.count({
where: { where: {
userId: subscription.userId, userId: subscription.userId,