Feat/metadata with datatable v2 (#2110)

* Reworked metadata creation

* Wip

* Fix from PR

* Removed consolelog

* Post merge

* Fixed seeds

* Wip

* Added dynamic routing

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Lucas Bordeau
2023-10-18 19:41:02 +02:00
committed by GitHub
parent 830dfc4d99
commit c590300bf1
14 changed files with 189 additions and 75 deletions

View File

@ -1,11 +1,12 @@
import { useMemo } from 'react';
import { gql, useQuery } from '@apollo/client';
import { MetadataObjectIdentifier } from '../types/MetadataObjectIdentifier';
import { PaginatedObjectType } from '../types/PaginatedObjectType';
import { formatPagedObjectsToObjects } from '../utils/formatPagedObjectsToObjects';
import { generateFindManyCustomObjectsQuery } from '../utils/generateFindManyCustomObjectsQuery';
import { useFindManyMetadataObjects } from './useFindManyMetadataObjects';
import { useFindOneMetadataObject } from './useFindOneMetadataObject';
// TODO: test with a wrong name
// TODO: add zod to validate that we have at least id on each object
@ -13,14 +14,11 @@ export const useFindManyObjects = <
ObjectType extends { id: string } & Record<string, any>,
>({
objectNamePlural,
}: {
objectNamePlural: string;
}) => {
const { metadataObjects } = useFindManyMetadataObjects();
const foundMetadataObject = metadataObjects.find(
(object) => object.namePlural === objectNamePlural,
);
}: MetadataObjectIdentifier) => {
const { foundMetadataObject, objectNotFoundInMetadata } =
useFindOneMetadataObject({
objectNamePlural,
});
const generatedQuery = foundMetadataObject
? generateFindManyCustomObjectsQuery({
@ -48,9 +46,6 @@ export const useFindManyObjects = <
[data, objectNamePlural],
);
const objectNotFoundInMetadata =
metadataObjects.length > 0 && !foundMetadataObject;
return {
objects,
loading,