Enable deletion of relation fields (#5338)
In this PR 1. Enable deletion of relation fields in the product and via the api (migration part was missing in the api) 3. Change wording, only use "deactivate" and "delete" everywhere (and not a mix of the two + "disable", "erase")
This commit is contained in:
@ -1,4 +1,6 @@
|
||||
import { useDeleteOneRelationMetadataItem } from '@/object-metadata/hooks/useDeleteOneRelationMetadataItem';
|
||||
import { Field } from '~/generated/graphql';
|
||||
import { FieldMetadataType } from '~/generated-metadata/graphql';
|
||||
|
||||
import { FieldMetadataItem } from '../types/FieldMetadataItem';
|
||||
import { formatFieldMetadataItemInput } from '../utils/formatFieldMetadataItemInput';
|
||||
@ -11,6 +13,7 @@ export const useFieldMetadataItem = () => {
|
||||
const { createOneFieldMetadataItem } = useCreateOneFieldMetadataItem();
|
||||
const { updateOneFieldMetadataItem } = useUpdateOneFieldMetadataItem();
|
||||
const { deleteOneFieldMetadataItem } = useDeleteOneFieldMetadataItem();
|
||||
const { deleteOneRelationMetadataItem } = useDeleteOneRelationMetadataItem();
|
||||
|
||||
const createMetadataField = (
|
||||
input: Pick<
|
||||
@ -37,19 +40,24 @@ export const useFieldMetadataItem = () => {
|
||||
updatePayload: { isActive: true },
|
||||
});
|
||||
|
||||
const disableMetadataField = (metadataField: FieldMetadataItem) =>
|
||||
const deactivateMetadataField = (metadataField: FieldMetadataItem) =>
|
||||
updateOneFieldMetadataItem({
|
||||
fieldMetadataIdToUpdate: metadataField.id,
|
||||
updatePayload: { isActive: false },
|
||||
});
|
||||
|
||||
const eraseMetadataField = (metadataField: FieldMetadataItem) =>
|
||||
deleteOneFieldMetadataItem(metadataField.id);
|
||||
const deleteMetadataField = (metadataField: FieldMetadataItem) => {
|
||||
return metadataField.type === FieldMetadataType.Relation
|
||||
? deleteOneRelationMetadataItem(
|
||||
metadataField.relationDefinition?.relationId,
|
||||
)
|
||||
: deleteOneFieldMetadataItem(metadataField.id);
|
||||
};
|
||||
|
||||
return {
|
||||
activateMetadataField,
|
||||
createMetadataField,
|
||||
disableMetadataField,
|
||||
eraseMetadataField,
|
||||
deactivateMetadataField,
|
||||
deleteMetadataField,
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user