Added metadata creation (#2086)

* Reworked metadata creation

* Fix from PR

* Removed consolelog
This commit is contained in:
Lucas Bordeau
2023-10-17 20:59:41 +02:00
committed by GitHub
parent c4fa36402b
commit a40516df83
24 changed files with 286 additions and 164 deletions

View File

@ -5,16 +5,16 @@ import { useRecoilState } from 'recoil';
import { tokenPairState } from '@/auth/states/tokenPairState';
import { ApolloClientMetadataContext } from '../context/ApolloClientMetadataContext';
import { ApolloMetadataClientContext } from '../context/ApolloClientMetadataContext';
export const ApolloClientMetadataProvider = ({
export const ApolloMetadataClientProvider = ({
children,
}: {
children: React.ReactNode;
}) => {
const [tokenPair] = useRecoilState(tokenPairState);
const apolloClientMetadata = useMemo(() => {
const apolloMetadataClient = useMemo(() => {
if (tokenPair?.accessToken.token) {
return new ApolloClient({
uri: `${process.env.REACT_APP_SERVER_BASE_URL}/metadata`,
@ -29,8 +29,8 @@ export const ApolloClientMetadataProvider = ({
}, [tokenPair]);
return (
<ApolloClientMetadataContext.Provider value={apolloClientMetadata}>
<ApolloMetadataClientContext.Provider value={apolloMetadataClient}>
{children}
</ApolloClientMetadataContext.Provider>
</ApolloMetadataClientContext.Provider>
);
};

View File

@ -2,10 +2,10 @@ import { useEffect } from 'react';
import { useRecoilState } from 'recoil';
import { isFlexibleBackendEnabledState } from '@/client-config/states/isFlexibleBackendEnabledState';
import { ObjectsQuery } from '~/generated-metadata/graphql';
import { MetadataObjectsQuery } from '~/generated-metadata/graphql';
import { GET_ALL_OBJECTS } from '../graphql/queries';
import { useApolloClientMetadata } from '../hooks/useApolloClientMetadata';
import { useApolloMetadataClient } from '../hooks/useApolloClientMetadata';
import { useSeedCustomObjectsTemp } from '../hooks/useSeedCustomObjectsTemp';
import { metadataObjectsState } from '../states/metadataObjectsState';
import { MetadataObject } from '../types/MetadataObject';
@ -16,7 +16,7 @@ export const FetchMetadataEffect = () => {
const [isFlexibleBackendEnabled] = useRecoilState(
isFlexibleBackendEnabledState,
);
const apolloClientMetadata = useApolloClientMetadata();
const apolloMetadataClient = useApolloMetadataClient();
const seedCustomObjectsTemp = useSeedCustomObjectsTemp();
@ -24,8 +24,8 @@ export const FetchMetadataEffect = () => {
if (!isFlexibleBackendEnabled) return;
(async () => {
if (apolloClientMetadata && metadataObjects.length === 0) {
const objects = await apolloClientMetadata.query<ObjectsQuery>({
if (apolloMetadataClient && metadataObjects.length === 0) {
const objects = await apolloMetadataClient.query<MetadataObjectsQuery>({
query: GET_ALL_OBJECTS,
});
@ -46,9 +46,10 @@ export const FetchMetadataEffect = () => {
try {
await seedCustomObjectsTemp();
const objects = await apolloClientMetadata.query<ObjectsQuery>({
query: GET_ALL_OBJECTS,
});
const objects =
await apolloMetadataClient.query<MetadataObjectsQuery>({
query: GET_ALL_OBJECTS,
});
const formattedObjects: MetadataObject[] =
objects.data.objects.edges.map((object) => ({
@ -68,7 +69,7 @@ export const FetchMetadataEffect = () => {
isFlexibleBackendEnabled,
metadataObjects,
setMetadataObjects,
apolloClientMetadata,
apolloMetadataClient,
seedCustomObjectsTemp,
]);

View File

@ -14,21 +14,23 @@ import { useFindManyCustomObjects } from '../hooks/useFindManyCustomObjects';
import { useSetObjectDataTableData } from '../hooks/useSetDataTableData';
export const ObjectDataTableEffect = ({
objectName,
objectNameSingular,
objectNamePlural,
}: {
objectNamePlural: string;
objectNameSingular: string;
objectName: string;
}) => {
const setDataTableData = useSetObjectDataTableData();
const { data } = useFindManyCustomObjects({ objectName });
const { objects } = useFindManyCustomObjects({
objectNamePlural: objectNamePlural,
});
useEffect(() => {
const entities = data?.['findMany' + objectNameSingular]?.edges ?? [];
const entities = objects ?? [];
setDataTableData(entities);
}, [data, objectNameSingular, setDataTableData]);
}, [objects, objectNameSingular, setDataTableData]);
const [searchParams] = useSearchParams();
const tableRecoilScopeId = useRecoilScopeId(TableRecoilScopeContext);

View File

@ -9,11 +9,11 @@ import { useTableViews } from '@/views/hooks/useTableViews';
import { ObjectDataTableEffect } from './ObjectDataTableEffect';
export const ObjectTable = ({
objectName,
objectNamePlural,
objectNameSingular,
}: {
objectNameSingular: string;
objectName: string;
objectNamePlural: string;
}) => {
const { createView, deleteView, submitCurrentView, updateView } =
useTableViews({
@ -32,7 +32,7 @@ export const ObjectTable = ({
}}
>
<ObjectDataTableEffect
objectName={objectName}
objectNamePlural={objectNamePlural}
objectNameSingular={objectNameSingular}
/>
<ViewBarContext.Provider