diff --git a/packages/features/bookings/components/PeopleFilter.tsx b/packages/features/bookings/components/PeopleFilter.tsx index 445ab8c917..f37e23eb70 100644 --- a/packages/features/bookings/components/PeopleFilter.tsx +++ b/packages/features/bookings/components/PeopleFilter.tsx @@ -15,6 +15,10 @@ export const PeopleFilter = () => { const { t } = useLocale(); const orgBranding = useOrgBranding(); + const { data: currentOrg } = trpc.viewer.organizations.listCurrent.useQuery(); + const isAdmin = currentOrg?.user.role === "ADMIN" || currentOrg?.user.role === "OWNER"; + const hasPermToView = !currentOrg?.isPrivate || isAdmin; + const { data: query, pushItemToKey, removeItemByKeyAndValue, removeAllQueryParams } = useFilterQuery(); const [searchText, setSearchText] = useState(""); @@ -37,6 +41,10 @@ export const PeopleFilter = () => { return `${t("all")}`; }; + if (!hasPermToView) { + return null; + } + return ( diff --git a/packages/trpc/server/routers/viewer/teams/listMembers.handler.ts b/packages/trpc/server/routers/viewer/teams/listMembers.handler.ts index 1c12a4ec4d..5c92afe940 100644 --- a/packages/trpc/server/routers/viewer/teams/listMembers.handler.ts +++ b/packages/trpc/server/routers/viewer/teams/listMembers.handler.ts @@ -14,6 +14,13 @@ type ListMembersOptions = { export const listMembersHandler = async ({ ctx, input }: ListMembersOptions) => { const { prisma } = ctx; + const { isOrgAdmin } = ctx.user.organization; + const hasPermsToView = !ctx.user.organization.isPrivate || isOrgAdmin; + + if (!hasPermsToView) { + return []; + } + const teams = await prisma.team.findMany({ where: { id: {