From 0fa90ee875dbfe5a1918c7f9315c5852964d0c11 Mon Sep 17 00:00:00 2001 From: Muhsin Shah C P Date: Fri, 7 Mar 2025 11:33:59 +0530 Subject: [PATCH] [modularisation fixes] login and workspaces (#12139) * Fixed the organization invite issue for existed users after unarchive * Fixed workspace switching issue --- frontend/src/_helpers/authorizeWorkspace.js | 2 +- .../src/modules/onboarding/guards/personal-workspace.guard.ts | 3 ++- .../src/modules/session/guards/invited-user-session.guard.ts | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/frontend/src/_helpers/authorizeWorkspace.js b/frontend/src/_helpers/authorizeWorkspace.js index 540d4f9b73..a03d7b986d 100644 --- a/frontend/src/_helpers/authorizeWorkspace.js +++ b/frontend/src/_helpers/authorizeWorkspace.js @@ -226,7 +226,7 @@ export const authorizeUserAndHandleErrors = (workspace_id, workspace_slug, callb const unauthorized_organization_slug = workspace_slug; /* get current session's workspace id */ - authenticationService + sessionService .validateSession() .then(({ current_organization_id, ...restSessionData }) => { /* change current organization id to valid one [current logged in organization] */ diff --git a/server/src/modules/onboarding/guards/personal-workspace.guard.ts b/server/src/modules/onboarding/guards/personal-workspace.guard.ts index 33d67b0d3e..82421d4274 100644 --- a/server/src/modules/onboarding/guards/personal-workspace.guard.ts +++ b/server/src/modules/onboarding/guards/personal-workspace.guard.ts @@ -10,10 +10,11 @@ export class AllowPersonalWorkspaceGuard implements CanActivate { async canActivate(context: ExecutionContext): Promise { const request = context.switchToHttp().getRequest(); const user = request.user; + const organizationId = request.body.organizationId; const isPersonalWorkspaceEnabled = (await this.instanceSettingsUtilService.getSettings(INSTANCE_USER_SETTINGS.ALLOW_PERSONAL_WORKSPACE)) === 'true'; - return isSuperAdmin(user) || isPersonalWorkspaceEnabled; + return isSuperAdmin(user) || isPersonalWorkspaceEnabled || !!organizationId; } } diff --git a/server/src/modules/session/guards/invited-user-session.guard.ts b/server/src/modules/session/guards/invited-user-session.guard.ts index f47cecfbea..4711fd0fbd 100644 --- a/server/src/modules/session/guards/invited-user-session.guard.ts +++ b/server/src/modules/session/guards/invited-user-session.guard.ts @@ -150,7 +150,7 @@ export class InvitedUserSessionAuthGuard extends AuthGuard('jwt') { return invitedUser; } /* User doesn't have a session. Next?: login again and accept invite */ - const organization = await this.organizationRepository.fetchOrganization(invitedUser.invitedOrganizationId); + const organization = await this.organizationRepository.fetchOrganization(invitedUser.organizationId); if (!organization || organization.status !== WORKSPACE_STATUS.ACTIVE) { throw new BadRequestException('Organization is Archived');