[FE] handle restricted objects 2 (#12437)

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Weiko
2025-06-05 15:49:22 +02:00
committed by GitHub
parent ad804ebecd
commit 3f30964523
109 changed files with 904 additions and 306 deletions

View File

@ -13,8 +13,9 @@ import { CachedObjectRecordQueryVariables } from '@/apollo/types/CachedObjectRec
import { encodeCursor } from '@/apollo/utils/encodeCursor';
import { getRecordFromCache } from '@/object-record/cache/utils/getRecordFromCache';
import { getRecordNodeFromRecord } from '@/object-record/cache/utils/getRecordNodeFromRecord';
import { parseApolloStoreFieldName } from '~/utils/parseApolloStoreFieldName';
import { isDefined } from 'twenty-shared/utils';
import { ObjectPermission } from '~/generated-metadata/graphql';
import { parseApolloStoreFieldName } from '~/utils/parseApolloStoreFieldName';
/*
TODO: for now new records are added to all cached record lists, no matter what the variables (filters, orderBy, etc.) are.
@ -28,6 +29,7 @@ type TriggerCreateRecordsOptimisticEffectArgs = {
objectMetadataItems: ObjectMetadataItem[];
shouldMatchRootQueryFilter?: boolean;
checkForRecordInCache?: boolean;
objectPermissionsByObjectMetadataId: Record<string, ObjectPermission>;
};
export const triggerCreateRecordsOptimisticEffect = ({
cache,
@ -36,6 +38,7 @@ export const triggerCreateRecordsOptimisticEffect = ({
objectMetadataItems,
shouldMatchRootQueryFilter,
checkForRecordInCache = false,
objectPermissionsByObjectMetadataId,
}: TriggerCreateRecordsOptimisticEffectArgs) => {
const getRecordNodeFromCache = (recordId: string): RecordGqlNode | null => {
const cachedRecord = getRecordFromCache({
@ -43,6 +46,7 @@ export const triggerCreateRecordsOptimisticEffect = ({
objectMetadataItem,
objectMetadataItems,
recordId,
objectPermissionsByObjectMetadataId,
});
return getRecordNodeFromRecord({
objectMetadataItem,