Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a810a538e9 | ||
|
|
1cd0d7b5ca |
No files matched your search
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@calcom/web",
|
"name": "@calcom/web",
|
||||||
"version": "3.2.4",
|
"version": "3.2.5",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"analyze": "ANALYZE=true next build",
|
"analyze": "ANALYZE=true next build",
|
||||||
|
|||||||
+6
-27
@@ -1,5 +1,3 @@
|
|||||||
import { Prisma } from "@prisma/client";
|
|
||||||
|
|
||||||
import type { Dayjs } from "@calcom/dayjs";
|
import type { Dayjs } from "@calcom/dayjs";
|
||||||
import dayjs from "@calcom/dayjs";
|
import dayjs from "@calcom/dayjs";
|
||||||
import type { DateRange } from "@calcom/lib/date-ranges";
|
import type { DateRange } from "@calcom/lib/date-ranges";
|
||||||
@@ -29,22 +27,11 @@ async function getTeamMembers({
|
|||||||
cursor: number | null | undefined;
|
cursor: number | null | undefined;
|
||||||
limit: number;
|
limit: number;
|
||||||
}) {
|
}) {
|
||||||
let whereQuery: Prisma.MembershipWhereInput = {
|
|
||||||
teamId,
|
|
||||||
};
|
|
||||||
|
|
||||||
if (teamIds) {
|
|
||||||
whereQuery = {
|
|
||||||
teamId: {
|
|
||||||
in: teamIds,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
return await prisma.membership.findMany({
|
return await prisma.membership.findMany({
|
||||||
where: {
|
where: {
|
||||||
...whereQuery,
|
teamId: {
|
||||||
accepted: true,
|
in: teamId ? [teamId] : teamIds,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
select: {
|
select: {
|
||||||
id: true,
|
id: true,
|
||||||
@@ -116,23 +103,15 @@ async function getInfoForAllTeams({ ctx, input }: GetOptions) {
|
|||||||
},
|
},
|
||||||
select: {
|
select: {
|
||||||
id: true,
|
id: true,
|
||||||
|
teamId: true,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
.then((memberships) => memberships.map((membership) => membership.id));
|
.then((memberships) => memberships.map((membership) => membership.teamId));
|
||||||
|
|
||||||
if (!teamIds.length) {
|
if (!teamIds.length) {
|
||||||
throw new TRPCError({ code: "NOT_FOUND", message: "User is not part of any organization or team." });
|
throw new TRPCError({ code: "NOT_FOUND", message: "User is not part of any organization or team." });
|
||||||
}
|
}
|
||||||
|
|
||||||
const getTotalMembers = await prisma.$queryRaw<{
|
|
||||||
count: number;
|
|
||||||
}>(Prisma.sql`
|
|
||||||
SELECT
|
|
||||||
COUNT(DISTINCT "userId") as "count"
|
|
||||||
FROM "Membership"
|
|
||||||
WHERE "teamId" IN (${Prisma.join(teamIds)})
|
|
||||||
`);
|
|
||||||
|
|
||||||
const teamMembers = await getTeamMembers({
|
const teamMembers = await getTeamMembers({
|
||||||
teamIds,
|
teamIds,
|
||||||
cursor,
|
cursor,
|
||||||
@@ -141,7 +120,7 @@ async function getInfoForAllTeams({ ctx, input }: GetOptions) {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
teamMembers,
|
teamMembers,
|
||||||
totalTeamMembers: getTotalMembers.count,
|
totalTeamMembers: teamMembers.length,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user