feat: create custom object and update edited object names (#2220)

Closes #2155, Closes #2153
This commit is contained in:
Thaïs
2023-10-26 11:04:16 +02:00
committed by GitHub
parent 0b33880cc9
commit 2b1945a3e1
22 changed files with 214 additions and 73 deletions

View File

@ -1,5 +1,8 @@
import { MetadataObject } from '../types/MetadataObject';
import { formatMetadataObjectInput } from '../utils/formatMetadataObjectInput';
import { getObjectSlug } from '../utils/getObjectSlug';
import { useCreateOneMetadataObject } from './useCreateOneMetadataObject';
import { useFindManyMetadataObjects } from './useFindManyMetadataObjects';
import { useUpdateOneMetadataObject } from './useUpdateOneMetadataObject';
@ -13,17 +16,30 @@ export const useObjectMetadata = () => {
({ isActive }) => !isActive,
);
const findActiveObjectBySlug = (slug: string) =>
activeMetadataObjects.find(
(activeObject) => getObjectSlug(activeObject) === slug,
);
const { createOneMetadataObject } = useCreateOneMetadataObject();
const { updateOneMetadataObject } = useUpdateOneMetadataObject();
const editObject = (metadataObject: MetadataObject) =>
const createObject = (
input: Pick<
MetadataObject,
'labelPlural' | 'labelSingular' | 'icon' | 'description'
>,
) => createOneMetadataObject(formatMetadataObjectInput(input));
const editObject = (
input: Pick<
MetadataObject,
'id' | 'labelPlural' | 'labelSingular' | 'icon' | 'description'
>,
) =>
updateOneMetadataObject({
idToUpdate: metadataObject.id,
updatePayload: {
description: metadataObject.description ?? null,
icon: metadataObject.icon,
labelPlural: metadataObject.labelPlural,
labelSingular: metadataObject.labelSingular,
},
idToUpdate: input.id,
updatePayload: formatMetadataObjectInput(input),
});
const activateObject = (metadataObject: MetadataObject) =>
@ -40,9 +56,11 @@ export const useObjectMetadata = () => {
return {
activateObject,
disableObject,
activeObjects: activeMetadataObjects,
createObject,
disabledObjects: disabledMetadataObjects,
disableObject,
editObject,
findActiveObjectBySlug,
};
};