Refactored useFindOneObjectMetadataItem and useFindManyObjectMetadataItems (#2600)

* Refactored useFindOneObjectMetadataItem and useFindManyObjectMetadataItems to rely on a recoil family selector

* Removed console.log

* Cleaned

* Removed unused hook

* Fixed seeds
This commit is contained in:
Lucas Bordeau
2023-11-20 16:34:06 +01:00
committed by GitHub
parent 3ad30a0498
commit 189586830e
44 changed files with 190 additions and 239 deletions

View File

@ -0,0 +1,68 @@
import { gql } from '@apollo/client';
import { useRecoilValue } from 'recoil';
import { objectMetadataItemFamilySelector } from '@/object-metadata/states/objectMetadataItemFamilySelector';
import { useGenerateCreateOneObjectMutation } from '@/object-record/utils/generateCreateOneObjectMutation';
import { useGenerateDeleteOneObjectMutation } from '@/object-record/utils/useGenerateDeleteOneObjectMutation';
import { useGenerateFindManyCustomObjectsQuery } from '@/object-record/utils/useGenerateFindManyCustomObjectsQuery';
import { useGenerateFindOneCustomObjectQuery } from '@/object-record/utils/useGenerateFindOneCustomObjectQuery';
import { useGenerateUpdateOneObjectMutation } from '@/object-record/utils/useGenerateUpdateOneObjectMutation';
import { isDefined } from '~/utils/isDefined';
import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier';
export const EMPTY_QUERY = gql`
query EmptyQuery {
empty
}
`;
export const EMPTY_MUTATION = gql`
mutation EmptyMutation {
empty
}
`;
export const useObjectMetadataItem = ({
objectNamePlural,
objectNameSingular,
}: ObjectMetadataItemIdentifier & { skip?: boolean }) => {
const objectMetadataItem = useRecoilValue(
objectMetadataItemFamilySelector({
objectNamePlural,
objectNameSingular,
}),
);
const objectNotFoundInMetadata = !isDefined(objectMetadataItem);
const findManyQuery = useGenerateFindManyCustomObjectsQuery({
objectMetadataItem,
});
const findOneQuery = useGenerateFindOneCustomObjectQuery({
objectMetadataItem,
});
const createOneMutation = useGenerateCreateOneObjectMutation({
objectMetadataItem,
});
const updateOneMutation = useGenerateUpdateOneObjectMutation({
objectMetadataItem,
});
const deleteOneMutation = useGenerateDeleteOneObjectMutation({
objectMetadataItem,
});
return {
objectMetadataItem,
objectNotFoundInMetadata,
findManyQuery,
findOneQuery,
createOneMutation,
updateOneMutation,
deleteOneMutation,
};
};