Feat/metadata datatable types (#2175)

* Handled new url v2 type

* Fixed refetch queries

* wip

* Ok delete but views bug

* Fix lint

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Lucas Bordeau
2023-10-21 14:07:18 +02:00
committed by GitHub
parent 598fda8f45
commit f1670f0cf4
50 changed files with 1125 additions and 350 deletions
@@ -0,0 +1,40 @@
import { useMutation } from '@apollo/client';
import { getOperationName } from '@apollo/client/utilities';
import { MetadataObjectIdentifier } from '../types/MetadataObjectIdentifier';
import { useFindOneMetadataObject } from './useFindOneMetadataObject';
export const useDeleteOneObject = ({
objectNamePlural,
}: MetadataObjectIdentifier) => {
const {
foundMetadataObject,
objectNotFoundInMetadata,
findManyQuery,
deleteOneMutation,
} = useFindOneMetadataObject({
objectNamePlural,
});
// TODO: type this with a minimal type at least with Record<string, any>
const [mutate] = useMutation(deleteOneMutation);
const deleteOneObject = foundMetadataObject
? (input: Record<string, any>) => {
return mutate({
variables: {
input: {
...input,
},
},
refetchQueries: [getOperationName(findManyQuery) ?? ''],
});
}
: undefined;
return {
deleteOneObject,
objectNotFoundInMetadata,
};
};