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
@@ -2,7 +2,7 @@ import { Test, type TestingModule } from '@nestjs/testing';
import { AggregateOperations, FieldMetadataType } from 'twenty-shared/types';
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 { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
import { BarChartGroupMode } from 'src/engine/metadata-modules/page-layout-widget/enums/bar-chart-group-mode.enum';
import { BarChartLayout } from 'src/engine/metadata-modules/page-layout-widget/enums/bar-chart-layout.enum';
@@ -17,9 +17,10 @@ describe('BarChartDataService', () => {
let mockGetOrRecomputeManyOrAllFlatEntityMaps: jest.Mock;
const workspaceId = 'test-workspace-id';
const mockAuthContext: AuthContext = {
workspace: { id: workspaceId } as any,
};
const mockAuthContext = {
type: 'system',
workspace: { id: workspaceId },
} as unknown as WorkspaceAuthContext;
const objectMetadataId = 'test-object-id';
const mockGroupByField = {
@@ -2,7 +2,7 @@ import { Test, type TestingModule } from '@nestjs/testing';
import { AggregateOperations, FieldMetadataType } from 'twenty-shared/types';
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 { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
import { WidgetConfigurationType } from 'src/engine/metadata-modules/page-layout-widget/enums/widget-configuration-type.type';
import { LINE_CHART_MAXIMUM_NUMBER_OF_DATA_POINTS } from 'src/modules/dashboard/chart-data/constants/line-chart-maximum-number-of-data-points.constant';
@@ -14,9 +14,10 @@ describe('LineChartDataService', () => {
let mockExecuteGroupByQuery: jest.Mock;
const workspaceId = 'test-workspace-id';
const mockAuthContext: AuthContext = {
workspace: { id: workspaceId } as any,
};
const mockAuthContext = {
type: 'system',
workspace: { id: workspaceId },
} as unknown as WorkspaceAuthContext;
const objectMetadataId = 'test-object-id';
const mockGroupByFieldX = {
@@ -2,7 +2,7 @@ import { Test, type TestingModule } from '@nestjs/testing';
import { AggregateOperations, FieldMetadataType } from 'twenty-shared/types';
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 { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
import { WidgetConfigurationType } from 'src/engine/metadata-modules/page-layout-widget/enums/widget-configuration-type.type';
import { PIE_CHART_MAXIMUM_NUMBER_OF_SLICES } from 'src/modules/dashboard/chart-data/constants/pie-chart-maximum-number-of-slices.constant';
@@ -15,9 +15,10 @@ describe('PieChartDataService', () => {
let mockGetOrRecomputeManyOrAllFlatEntityMaps: jest.Mock;
const workspaceId = 'test-workspace-id';
const mockAuthContext: AuthContext = {
const mockAuthContext = {
type: 'system',
workspace: { id: workspaceId } as any,
};
} as unknown as WorkspaceAuthContext;
const objectMetadataId = 'test-object-id';
const mockGroupByField = {
@@ -8,7 +8,7 @@ import {
isDefined,
} from 'twenty-shared/utils';
import { 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 { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util';
import { FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type';
@@ -44,7 +44,7 @@ type GetBarChartDataParams = {
workspaceId: string;
objectMetadataId: string;
configuration: BarChartConfigurationDTO;
authContext: AuthContext;
authContext: WorkspaceAuthContext;
};
@Injectable()
@@ -16,7 +16,7 @@ import {
import { ObjectRecordGroupBy } from 'src/engine/api/graphql/workspace-query-builder/interfaces/object-record.interface';
import { CommonGroupByQueryRunnerService } from 'src/engine/api/common/common-query-runners/common-group-by-query-runner.service';
import { 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 { FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type';
import { FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type';
import { FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type';
@@ -45,7 +45,7 @@ type ExecuteGroupByQueryParams = {
flatFieldMetadataMaps: FlatEntityMaps<FlatFieldMetadata>;
flatObjectMetadataMaps: FlatEntityMaps<FlatObjectMetadata>;
objectIdByNameSingular: Record<string, string>;
authContext: AuthContext;
authContext: WorkspaceAuthContext;
groupByFieldMetadataId: string;
groupBySubFieldName?: string | null;
aggregateFieldMetadataId: string;
@@ -7,7 +7,7 @@ import {
isDefined,
} from 'twenty-shared/utils';
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 { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util';
import { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
import { FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type';
@@ -43,7 +43,7 @@ type GetLineChartDataParams = {
workspaceId: string;
objectMetadataId: string;
configuration: LineChartConfigurationDTO;
authContext: AuthContext;
authContext: WorkspaceAuthContext;
};
@Injectable()
@@ -7,7 +7,7 @@ import {
isDefined,
} from 'twenty-shared/utils';
import { 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 { WorkspaceManyOrAllFlatEntityMapsCacheService } from 'src/engine/metadata-modules/flat-entity/services/workspace-many-or-all-flat-entity-maps-cache.service';
import { findFlatEntityByIdInFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/utils/find-flat-entity-by-id-in-flat-entity-maps.util';
import { FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type';
@@ -31,7 +31,7 @@ type GetPieChartDataParams = {
workspaceId: string;
objectMetadataId: string;
configuration: PieChartConfigurationDTO;
authContext: AuthContext;
authContext: WorkspaceAuthContext;
};
@Injectable()