feat: activate and disable objects (#2194)

Closes #2144, Closes #2148, Closes #2154
This commit is contained in:
Thaïs
2023-10-24 08:07:00 +02:00
committed by GitHub
parent f94886d150
commit 26e8cd76be
8 changed files with 185 additions and 103 deletions

View File

@ -1,15 +1,35 @@
import { useRecoilValue } from 'recoil';
import { MetadataObject } from '../types/MetadataObject';
import { activeMetadataObjectsSelector } from '../states/selectors/activeMetadataObjectsSelector';
import { disabledMetadataObjectsSelector } from '../states/selectors/disabledMetadataObjectsSelector';
import { useFindManyMetadataObjects } from './useFindManyMetadataObjects';
import { useUpdateOneMetadataObject } from './useUpdateOneMetadataObject';
export const useObjectMetadata = () => {
const activeMetadataObjects = useRecoilValue(activeMetadataObjectsSelector);
const disabledMetadataObjects = useRecoilValue(
disabledMetadataObjectsSelector,
const { metadataObjects } = useFindManyMetadataObjects();
const activeMetadataObjects = metadataObjects.filter(
({ isActive }) => isActive,
);
const disabledMetadataObjects = metadataObjects.filter(
({ isActive }) => !isActive,
);
const { updateOneMetadataObject } = useUpdateOneMetadataObject();
const activateObject = (metadataObject: MetadataObject) =>
updateOneMetadataObject({
idToUpdate: metadataObject.id,
updatePayload: { isActive: true },
});
const disableObject = (metadataObject: MetadataObject) =>
updateOneMetadataObject({
idToUpdate: metadataObject.id,
updatePayload: { isActive: false },
});
return {
activateObject,
disableObject,
activeObjects: activeMetadataObjects,
disabledObjects: disabledMetadataObjects,
};