File tree Expand file tree Collapse file tree
features/ee/teams/repositories
trpc/server/routers/viewer/organizations Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -588,4 +588,15 @@ export class TeamRepository {
588588 const action = permission . substring ( lastDotIndex + 1 ) ;
589589 return { resource, action } ;
590590 }
591+
592+ async findTeamsNotBelongingToOrgByIds ( { teamIds, orgId } : { teamIds : number [ ] ; orgId : number } ) {
593+ return await this . prismaClient . team . findMany ( {
594+ where : {
595+ id : { in : teamIds } ,
596+ NOT : {
597+ parentId : orgId , // Finds any team whose orgId is NOT the target ID
598+ } ,
599+ } ,
600+ } ) ;
601+ }
591602}
Original file line number Diff line number Diff line change 1+ import { TeamRepository } from "@calcom/ee/teams/repositories/TeamRepository" ;
12import { updateNewTeamMemberEventTypes } from "@calcom/features/ee/teams/lib/queries" ;
23import { PermissionCheckService } from "@calcom/features/pbac/services/permission-check.service" ;
34import { prisma } from "@calcom/prisma" ;
@@ -17,6 +18,21 @@ interface AddBulkToTeamProps {
1718export const addMembersToTeams = async ( { user, input } : AddBulkToTeamProps ) => {
1819 if ( ! user . organizationId ) throw new TRPCError ( { code : "UNAUTHORIZED" } ) ;
1920
21+ const teamRepository = new TeamRepository ( prisma ) ;
22+ const teamsNotBelongingToOrg = await teamRepository . findTeamsNotBelongingToOrgByIds ( {
23+ teamIds : input . teamIds ,
24+ orgId : user . organizationId ,
25+ } ) ;
26+
27+ if ( teamsNotBelongingToOrg . length > 0 ) {
28+ throw new TRPCError ( {
29+ code : "BAD_REQUEST" ,
30+ message : `One or more teams do not belong to your organization: ${ teamsNotBelongingToOrg
31+ . map ( ( team ) => team . id )
32+ . join ( ", " ) } `,
33+ } ) ;
34+ }
35+
2036 // Check if user has permission to invite team members in the organization
2137 const permissionCheckService = new PermissionCheckService ( ) ;
2238 const hasPermission = await permissionCheckService . checkPermission ( {
You can’t perform that action at this time.
0 commit comments