feat: activate standard objects in New Object page (#2232)
* feat: activate standard objects in New Object page Closes #2010, Closes #2173 * Pagination limit = 1000 * Various fixes --------- Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
This commit is contained in:
47
front/src/modules/metadata/hooks/useMetadataField.ts
Normal file
47
front/src/modules/metadata/hooks/useMetadataField.ts
Normal file
@ -0,0 +1,47 @@
|
||||
import { MetadataFieldDataType } from '@/settings/data-model/types/ObjectFieldDataType';
|
||||
import { Field } from '~/generated/graphql';
|
||||
|
||||
import { formatMetadataFieldInput } from '../utils/formatMetadataFieldInput';
|
||||
|
||||
import { useCreateOneMetadataField } from './useCreateOneMetadataField';
|
||||
import { useDeleteOneMetadataField } from './useDeleteOneMetadataField';
|
||||
import { useUpdateOneMetadataField } from './useUpdateOneMetadataField';
|
||||
|
||||
export const useMetadataField = () => {
|
||||
const { createOneMetadataField } = useCreateOneMetadataField();
|
||||
const { updateOneMetadataField } = useUpdateOneMetadataField();
|
||||
const { deleteOneMetadataField } = useDeleteOneMetadataField();
|
||||
|
||||
const createMetadataField = (
|
||||
input: Pick<Field, 'label' | 'icon' | 'description'> & {
|
||||
objectId: string;
|
||||
type: MetadataFieldDataType;
|
||||
},
|
||||
) =>
|
||||
createOneMetadataField({
|
||||
...formatMetadataFieldInput(input),
|
||||
objectId: input.objectId,
|
||||
});
|
||||
|
||||
const activateMetadataField = (metadataField: Field) =>
|
||||
updateOneMetadataField({
|
||||
fieldIdToUpdate: metadataField.id,
|
||||
updatePayload: { isActive: true },
|
||||
});
|
||||
|
||||
const disableMetadataField = (metadataField: Field) =>
|
||||
updateOneMetadataField({
|
||||
fieldIdToUpdate: metadataField.id,
|
||||
updatePayload: { isActive: false },
|
||||
});
|
||||
|
||||
const eraseMetadataField = (metadataField: Field) =>
|
||||
deleteOneMetadataField(metadataField.id);
|
||||
|
||||
return {
|
||||
activateMetadataField,
|
||||
createMetadataField,
|
||||
disableMetadataField,
|
||||
eraseMetadataField,
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user