Files
twenty/packages/twenty-front/src/modules/object-metadata/hooks/useLoadMockedObjectMetadataItems.ts
T
Charles Bochet 42045667a4 Fix id typing in metadata generated schema (#13596)
In our Graphql schema, ids are typed as UUID.

Our FE codegen is typing it as 'any', unless we say otherwise. Fixing it
and fixing the impacts in the codebase
2025-08-04 18:40:26 +02:00

37 lines
1.2 KiB
TypeScript

import { isAppWaitingForFreshObjectMetadataState } from '@/object-metadata/states/isAppWaitingForFreshObjectMetadataState';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { useRecoilCallback } from 'recoil';
import { isDeeplyEqual } from '~/utils/isDeeplyEqual';
export const useLoadMockedObjectMetadataItems = () => {
const loadMockedObjectMetadataItems = useRecoilCallback(
({ set, snapshot }) =>
async () => {
const { generatedMockObjectMetadataItems } = await import(
'~/testing/utils/generatedMockObjectMetadataItems'
);
if (
!isDeeplyEqual(
snapshot.getLoadable(objectMetadataItemsState).getValue(),
generatedMockObjectMetadataItems,
)
) {
set(objectMetadataItemsState, generatedMockObjectMetadataItems);
}
if (
snapshot
.getLoadable(isAppWaitingForFreshObjectMetadataState)
.getValue() === true
) {
set(isAppWaitingForFreshObjectMetadataState, false);
}
},
[],
);
return {
loadMockedObjectMetadataItems,
};
};