Improve workspace auth context surface (#18164)

This commit is contained in:
Weiko
2026-03-05 16:13:59 +01:00
committed by GitHub
parent 5853891b02
commit cfeea43eaf
118 changed files with 453 additions and 677 deletions
@@ -4,7 +4,7 @@ import { type WorkspacePostQueryHookInstance } from 'src/engine/api/graphql/work
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
import { WorkspaceQueryHookType } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/types/workspace-query-hook.type';
import { type AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
import { type WorkspaceAuthContext } from 'src/engine/core-modules/auth/types/workspace-auth-context.type';
import { TaskPostQueryHookService } from 'src/modules/task/query-hooks/task-post-query-hook.service';
import { TaskWorkspaceEntity } from 'src/modules/task/standard-objects/task.workspace-entity';
@@ -21,7 +21,7 @@ export class TaskDeleteManyPostQueryHook
) {}
async execute(
authContext: AuthContext,
authContext: WorkspaceAuthContext,
_objectName: string,
payload: TaskWorkspaceEntity[],
): Promise<void> {
@@ -4,7 +4,7 @@ import { type WorkspacePostQueryHookInstance } from 'src/engine/api/graphql/work
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
import { WorkspaceQueryHookType } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/types/workspace-query-hook.type';
import { type AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
import { type WorkspaceAuthContext } from 'src/engine/core-modules/auth/types/workspace-auth-context.type';
import { TaskPostQueryHookService } from 'src/modules/task/query-hooks/task-post-query-hook.service';
import { TaskWorkspaceEntity } from 'src/modules/task/standard-objects/task.workspace-entity';
@@ -21,7 +21,7 @@ export class TaskDeleteOnePostQueryHook
) {}
async execute(
authContext: AuthContext,
authContext: WorkspaceAuthContext,
_objectName: string,
payload: TaskWorkspaceEntity[],
): Promise<void> {
@@ -4,7 +4,6 @@ import { assertIsDefinedOrThrow } from 'twenty-shared/utils';
import { In } from 'typeorm';
import { type WorkspaceAuthContext } from 'src/engine/core-modules/auth/types/workspace-auth-context.type';
import { type AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
import { WorkspaceNotFoundDefaultError } from 'src/engine/core-modules/workspace/workspace.exception';
import { GlobalWorkspaceOrmManager } from 'src/engine/twenty-orm/global-workspace-datasource/global-workspace-orm.manager';
import { TaskTargetWorkspaceEntity } from 'src/modules/task/standard-objects/task-target.workspace-entity';
@@ -17,7 +16,7 @@ export class TaskPostQueryHookService {
) {}
async handleTaskTargetsDelete(
authContext: AuthContext,
authContext: WorkspaceAuthContext,
payload: TaskWorkspaceEntity[],
): Promise<void> {
if (!payload || payload?.length === 0) {
@@ -38,11 +37,11 @@ export class TaskPostQueryHookService {
await taskTargetRepository.softDelete({
taskId: In(payload.map((task) => task.id)),
});
}, authContext as WorkspaceAuthContext);
}, authContext);
}
async handleTaskTargetsRestore(
authContext: AuthContext,
authContext: WorkspaceAuthContext,
payload: TaskWorkspaceEntity[],
): Promise<void> {
if (!payload || payload?.length === 0) {
@@ -63,6 +62,6 @@ export class TaskPostQueryHookService {
await taskTargetRepository.restore({
taskId: In(payload.map((task) => task.id)),
});
}, authContext as WorkspaceAuthContext);
}, authContext);
}
}
@@ -4,7 +4,7 @@ import { type WorkspacePostQueryHookInstance } from 'src/engine/api/graphql/work
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
import { WorkspaceQueryHookType } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/types/workspace-query-hook.type';
import { type AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
import { type WorkspaceAuthContext } from 'src/engine/core-modules/auth/types/workspace-auth-context.type';
import { TaskPostQueryHookService } from 'src/modules/task/query-hooks/task-post-query-hook.service';
import { TaskWorkspaceEntity } from 'src/modules/task/standard-objects/task.workspace-entity';
@@ -21,7 +21,7 @@ export class TaskRestoreManyPostQueryHook
) {}
async execute(
authContext: AuthContext,
authContext: WorkspaceAuthContext,
_objectName: string,
payload: TaskWorkspaceEntity[],
): Promise<void> {
@@ -4,7 +4,7 @@ import { type WorkspacePostQueryHookInstance } from 'src/engine/api/graphql/work
import { WorkspaceQueryHook } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/decorators/workspace-query-hook.decorator';
import { WorkspaceQueryHookType } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/types/workspace-query-hook.type';
import { type AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
import { type WorkspaceAuthContext } from 'src/engine/core-modules/auth/types/workspace-auth-context.type';
import { TaskPostQueryHookService } from 'src/modules/task/query-hooks/task-post-query-hook.service';
import { TaskWorkspaceEntity } from 'src/modules/task/standard-objects/task.workspace-entity';
@@ -21,7 +21,7 @@ export class TaskRestoreOnePostQueryHook
) {}
async execute(
authContext: AuthContext,
authContext: WorkspaceAuthContext,
_objectName: string,
payload: TaskWorkspaceEntity[],
): Promise<void> {