Use forceRefetch for task update (#2695)

This commit is contained in:
Lucas Bordeau
2023-11-24 15:38:21 +01:00
committed by GitHub
parent e6744e7ce1
commit 6d1f52a888
5 changed files with 23 additions and 18 deletions

View File

@ -11,11 +11,13 @@ export const useFieldContext = ({
fieldMetadataName,
objectRecordId,
fieldPosition,
forceRefetch,
}: {
objectNameSingular: string;
objectRecordId: string;
fieldMetadataName: string;
fieldPosition: number;
forceRefetch?: boolean;
}) => {
const { objectMetadataItem } = useObjectMetadataItem({
objectNameSingular,
@ -43,6 +45,7 @@ export const useFieldContext = ({
updateOneObject?.({
idToUpdate: variables.where.id,
input: variables.data,
forceRefetch,
});
};

View File

@ -1,4 +1,5 @@
import { useApolloClient, useMutation } from '@apollo/client';
import { getOperationName } from '@apollo/client/utilities';
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { ObjectMetadataItemIdentifier } from '@/object-metadata/types/ObjectMetadataItemIdentifier';
@ -12,6 +13,7 @@ export const useUpdateOneObjectRecord = <T>({
objectNotFoundInMetadata,
updateOneMutation,
cacheFragment,
findManyQuery,
} = useObjectMetadataItem({
objectNameSingular,
});
@ -24,9 +26,11 @@ export const useUpdateOneObjectRecord = <T>({
const updateOneObject = async ({
idToUpdate,
input,
forceRefetch,
}: {
idToUpdate: string;
input: Record<string, any>;
forceRefetch?: boolean;
}) => {
if (!foundObjectMetadataItem || !objectNameSingular) {
return null;
@ -54,6 +58,10 @@ export const useUpdateOneObjectRecord = <T>({
...input,
},
},
refetchQueries: forceRefetch
? [getOperationName(findManyQuery) ?? '']
: undefined,
awaitRefetchQueries: forceRefetch,
});
return updatedObject.data[`update${capitalize(objectNameSingular)}`] as T;