Fix emailThread not loading and rest batch api forbidden

This commit is contained in:
Charles Bochet
2024-09-14 02:09:52 +02:00
parent 8588612cee
commit a18b998bed
6 changed files with 37 additions and 16 deletions

View File

@ -6,13 +6,13 @@ import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm';
import { Repository } from 'typeorm';
import { TypeORMService } from 'src/database/typeorm/typeorm.service';
import { ObjectRecordDeleteEvent } from 'src/engine/core-modules/event-emitter/types/object-record-delete.event';
import { User } from 'src/engine/core-modules/user/user.entity';
import { WorkspaceService } from 'src/engine/core-modules/workspace/services/workspace.service';
import {
Workspace,
WorkspaceActivationStatus,
} from 'src/engine/core-modules/workspace/workspace.entity';
import { ObjectRecordDeleteEvent } from 'src/engine/core-modules/event-emitter/types/object-record-delete.event';
import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service';
import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.manager';
import { WorkspaceEventEmitter } from 'src/engine/workspace-event-emitter/workspace-event-emitter';
@ -32,17 +32,14 @@ export class UserService extends TypeOrmQueryService<User> {
super(userRepository);
}
async loadWorkspaceMember(user: User) {
if (
user.defaultWorkspace.activationStatus !==
WorkspaceActivationStatus.ACTIVE
) {
async loadWorkspaceMember(user: User, workspace: Workspace) {
if (workspace?.activationStatus !== WorkspaceActivationStatus.ACTIVE) {
return null;
}
const workspaceMemberRepository =
await this.twentyORMGlobalManager.getRepositoryForWorkspace<WorkspaceMemberWorkspaceEntity>(
user.defaultWorkspaceId,
workspace.id,
'workspaceMember',
);

View File

@ -97,8 +97,14 @@ export class UserResolver {
@ResolveField(() => WorkspaceMember, {
nullable: true,
})
async workspaceMember(@Parent() user: User): Promise<WorkspaceMember | null> {
const workspaceMember = await this.userService.loadWorkspaceMember(user);
async workspaceMember(
@Parent() user: User,
@AuthWorkspace() workspace: Workspace,
): Promise<WorkspaceMember | null> {
const workspaceMember = await this.userService.loadWorkspaceMember(
user,
workspace,
);
if (workspaceMember && workspaceMember.avatarUrl) {
const avatarUrlToken = await this.fileService.encodeFileToken({