diff --git a/packages/twenty-server/src/engine/core-modules/user-workspace/guards/upload-profile-picture-permission.guard.ts b/packages/twenty-server/src/engine/core-modules/user-workspace/guards/upload-profile-picture-permission.guard.ts index 55d6b54105..84b0267496 100644 --- a/packages/twenty-server/src/engine/core-modules/user-workspace/guards/upload-profile-picture-permission.guard.ts +++ b/packages/twenty-server/src/engine/core-modules/user-workspace/guards/upload-profile-picture-permission.guard.ts @@ -6,6 +6,7 @@ import { import { GqlExecutionContext } from '@nestjs/graphql'; import { msg } from '@lingui/core/macro'; +import { isDefined } from 'class-validator'; import { PermissionFlagType } from 'twenty-shared/constants'; import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; @@ -24,6 +25,16 @@ export class UploadProfilePicturePermissionGuard implements CanActivate { const gqlContext = GqlExecutionContext.create(context); const request = gqlContext.getContext().req; + if (!isDefined(request.workspace)) { + throw new PermissionsException( + PermissionsExceptionMessage.PERMISSION_DENIED, + PermissionsExceptionCode.PERMISSION_DENIED, + { + userFriendlyMessage: msg`Workspace not found`, + }, + ); + } + const workspaceId = request.workspace.id; const userWorkspaceId = request.userWorkspaceId; const workspaceActivationStatus = request.workspace.activationStatus; diff --git a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.resolver.ts b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.resolver.ts index 147179a9cd..07383f9706 100644 --- a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.resolver.ts @@ -38,6 +38,10 @@ export class UserWorkspaceResolver { workspaceId, }); + if (!files.length) { + throw new Error('Failed to upload profile picture'); + } + return files[0]; } }