From 3fc9946b1df0c7d182684642d64e88c2bb9deebe Mon Sep 17 00:00:00 2001 From: Andres Pinto Date: Sun, 4 Aug 2024 23:11:40 -0400 Subject: [PATCH] fix: fixed get workspace teams permissions and remove default team from response --- src/modules/workspaces/workspaces.controller.ts | 6 ++---- src/modules/workspaces/workspaces.usecase.ts | 7 +++++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/modules/workspaces/workspaces.controller.ts b/src/modules/workspaces/workspaces.controller.ts index 3d49ef4e..40628b10 100644 --- a/src/modules/workspaces/workspaces.controller.ts +++ b/src/modules/workspaces/workspaces.controller.ts @@ -505,15 +505,13 @@ export class WorkspacesController { @ApiOkResponse({ description: 'Teams in the workspace along with its members quantity', }) + @UseGuards(WorkspaceGuard) + @WorkspaceRequiredAccess(AccessContext.WORKSPACE, WorkspaceRole.MEMBER) async getWorkspaceTeams( @Param('workspaceId', ValidateUUIDPipe) workspaceId: WorkspaceAttributes['id'], @UserDecorator() user: User, ) { - if (!workspaceId || !isUUID(workspaceId)) { - throw new BadRequestException('Invalid workspace ID'); - } - return this.workspaceUseCases.getWorkspaceTeams(user, workspaceId); } diff --git a/src/modules/workspaces/workspaces.usecase.ts b/src/modules/workspaces/workspaces.usecase.ts index 73d208ca..aa58fbdc 100644 --- a/src/modules/workspaces/workspaces.usecase.ts +++ b/src/modules/workspaces/workspaces.usecase.ts @@ -1617,7 +1617,6 @@ export class WorkspacesUsecases { async getWorkspaceTeams(user: User, workspaceId: WorkspaceAttributes['id']) { const workspace = await this.workspaceRepository.findOne({ - ownerId: user.uuid, id: workspaceId, }); @@ -1630,7 +1629,11 @@ export class WorkspacesUsecases { workspace.id, ); - return teamsWithMemberCount; + const teamsWithouDefaultTeam = teamsWithMemberCount.filter( + (teamAndMembers) => workspace.defaultTeamId !== teamAndMembers.team.id, + ); + + return teamsWithouDefaultTeam; } async getWorkspaceMembers(