Fix Favorites issue

This commit is contained in:
Charles Bochet
2024-04-30 00:38:22 +02:00
parent dd366dba47
commit fab385179b
3 changed files with 22 additions and 3 deletions

View File

@ -5,6 +5,7 @@ import { useRecoilValue } from 'recoil';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObjectMetadataToGraphQLQuery';
import { RecordGqlOperationSignature } from '@/object-record/graphql/types/RecordGqlOperationSignature';
import { generateDepthOneRecordGqlFields } from '@/object-record/graphql/utils/generateDepthOneRecordGqlFields';
import { isNonEmptyArray } from '~/utils/isNonEmptyArray';
import { capitalize } from '~/utils/string/capitalize';
@ -91,7 +92,11 @@ export const useGenerateCombinedFindManyRecordsQuery = ({
node ${mapObjectMetadataToGraphQLQuery({
objectMetadataItems: objectMetadataItems,
objectMetadataItem,
recordGqlFields: fields,
recordGqlFields:
fields ??
generateDepthOneRecordGqlFields({
objectMetadataItem,
}),
})}
cursor
}

View File

@ -2,6 +2,7 @@ import { useSetRecoilState } from 'recoil';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { useUpsertFindManyRecordsQueryInCache } from '@/object-record/cache/hooks/useUpsertFindManyRecordsQueryInCache';
import { generateDepthOneRecordGqlFields } from '@/object-record/graphql/utils/generateDepthOneRecordGqlFields';
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
import { PREFETCH_CONFIG } from '@/prefetch/constants/PrefetchConfig';
import { prefetchIsLoadedFamilyState } from '@/prefetch/states/prefetchIsLoadedFamilyState';
@ -29,7 +30,9 @@ export const usePrefetchRunQuery = <T extends ObjectRecord>({
const upsertRecordsInCache = (records: T[]) => {
upsertFindManyRecordsQueryInCache({
queryVariables: PREFETCH_CONFIG[prefetchKey].variables,
recordGqlFields: PREFETCH_CONFIG[prefetchKey].fields,
recordGqlFields:
PREFETCH_CONFIG[prefetchKey].fields ??
generateDepthOneRecordGqlFields({ objectMetadataItem }),
objectRecordsToOverwrite: records,
computeReferences: false,
});

View File

@ -1,5 +1,7 @@
import { useRecoilValue } from 'recoil';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { generateDepthOneRecordGqlFields } from '@/object-record/graphql/utils/generateDepthOneRecordGqlFields';
import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords';
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
import { PREFETCH_CONFIG } from '@/prefetch/constants/PrefetchConfig';
@ -12,12 +14,21 @@ export const usePrefetchedData = <T extends ObjectRecord>(
const isDataPrefetched = useRecoilValue(
prefetchIsLoadedFamilyState(prefetchKey),
);
const prefetchQueryKey = PREFETCH_CONFIG[prefetchKey];
const { objectMetadataItem } = useObjectMetadataItem({
objectNameSingular: prefetchQueryKey.objectNameSingular,
});
const { records } = useFindManyRecords<T>({
skip: !isDataPrefetched,
objectNameSingular: prefetchQueryKey.objectNameSingular,
recordGqlFields: prefetchQueryKey.fields,
recordGqlFields:
prefetchQueryKey.fields ??
generateDepthOneRecordGqlFields({
objectMetadataItem,
}),
});
return {