From 54d7acd518a6c99d3ffcf0d2ec2964311bd15a71 Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Fri, 10 Nov 2023 15:54:32 +0100 Subject: [PATCH] Split components into object-metadata and object-record (#2425) * Split components into object-metadata and object-record * Fix seed --- front/codegen-metadata.js | 2 +- front/codegen.js | 2 +- front/src/App.tsx | 4 +- front/src/AppNavbar.tsx | 2 +- front/src/generated-metadata/gql.ts | 12 ++--- front/src/generated-metadata/graphql.ts | 18 ++++---- front/src/index.tsx | 2 +- .../hooks/useOptimisticEffect.ts | 4 +- .../types/OptimisticEffectDefinition.ts | 2 +- .../types/internal/OptimisticEffect.ts | 2 +- .../metadata/hooks/useFindAllMetadata.ts | 46 ------------------- .../states/fetchMoreObjectsFamilyState.ts | 8 ---- .../ApolloMetadataClientProvider.tsx | 0 .../components/ObjectMetadataNavItems.tsx | 0 .../context/ApolloClientMetadataContext.ts | 0 .../graphql/mutations.ts | 6 +-- .../graphql/queries.ts | 0 .../hooks/useApolloMetadataClient.ts | 0 .../hooks/useCreateOneFieldMetadataItem.ts} | 20 ++++---- .../hooks/useCreateOneObjectMetadataItem.ts | 2 +- .../hooks/useDeleteOneFieldMetadataItem.ts} | 16 +++---- .../hooks/useDeleteOneObjectMetadataItem.ts | 0 .../hooks/useFieldMetadataItem.ts} | 30 ++++++------ .../hooks/useFindManyObjectMetadataItems.ts | 0 .../hooks/useFindOneObjectMetadataItem.ts | 22 ++++----- .../hooks/useObjectMetadataItemForSettings.ts | 5 +- .../hooks/useUpdateOneFieldMetadataItem.ts} | 18 ++++---- .../hooks/useUpdateOneObjectMetadataItem.ts | 0 .../states/objectMetadataItemsState.ts | 0 .../activeObjectMetadataItemsSelector.ts | 0 .../disabledObjectMetadataItemsSelector.ts | 0 .../types/ObjectMetadataItem.ts | 0 .../types/ObjectMetadataItemIdentifier.ts | 0 ...matFieldMetadataItemAsColumnDefinition.ts} | 2 +- ...matFieldMetadataItemAsFilterDefinition.ts} | 2 +- ...ormatFieldMetadataItemAsSortDefinition.ts} | 2 +- .../utils/formatFieldMetadataItemInput.ts} | 2 +- .../utils/formatObjectMetadataItemInput.ts | 0 ...bjectMetadataItemsToObjectMetadataItems.ts | 0 .../utils/getFieldSlug.ts | 0 .../utils/getObjectSlug.ts | 0 .../utils/mapFieldMetadataToGraphQLQuery.ts | 0 .../utils/parseFieldType.ts | 0 .../utils/validateMetadataLabel.ts | 0 .../components/RecordShowPage.tsx | 14 +++--- .../components/RecordTableContainer.tsx | 6 +-- .../components/RecordTableEffect.tsx | 6 +-- .../components/RecordTablePage.tsx | 11 +++-- .../getRecordOptimisticEffectDefinition.ts | 4 +- .../hooks/useCreateOneObjectRecord.ts} | 8 ++-- .../hooks/useDeleteOneObjectRecord.ts} | 7 ++- .../hooks/useFindManyObjectRecords.ts} | 13 +++--- .../hooks/useFindOneObjectRecord.ts} | 7 ++- .../hooks/useObjectRecordTable.ts} | 8 ++-- .../hooks/useSetRecordTableData.ts | 0 .../hooks/useUpdateOneObjectRecord.ts} | 7 ++- .../states/cursorFamilyState.ts | 0 .../states/hasNextPageFamilyState.ts | 0 .../isFetchingMoreObjectsFamilyState.ts | 0 .../types/PaginatedObjectType.ts | 0 .../types/PaginatedObjectTypeResults.ts | 0 .../utils/formatPagedObjectsToObjects.ts | 0 .../utils/generateCreateOneObjectMutation.ts | 6 +-- .../utils/generateDeleteOneObjectMutation.ts | 3 +- .../generateFindManyCustomObjectsQuery.ts | 6 +-- .../utils/generateFindOneCustomObjectQuery.ts | 5 +- .../utils/generateUpdateOneObjectMutation.ts | 6 +-- .../SettingsObjectFieldFormSection.tsx | 2 +- .../components/SettingsObjectFieldPreview.tsx | 6 +-- .../components/SettingsObjectFormSection.tsx | 2 +- ...ngsAvailableStandardObjectItemTableRow.tsx | 2 +- ...ettingsAvailableStandardObjectsSection.tsx | 2 +- .../components/SettingsObjectItemTableRow.tsx | 6 +-- .../components/RecordTableBody.tsx | 8 ++-- .../views/components/ViewBarEffect.tsx | 12 ++--- .../views/hooks/internal/useViewFields.ts | 2 +- .../views/hooks/internal/useViewFilters.ts | 2 +- .../views/hooks/internal/useViewSorts.ts | 2 +- .../modules/views/hooks/internal/useViews.ts | 2 +- .../settings/data-model/SettingsNewObject.tsx | 8 ++-- .../data-model/SettingsObjectDetail.tsx | 8 ++-- .../data-model/SettingsObjectEdit.tsx | 4 +- .../data-model/SettingsObjectFieldEdit.tsx | 8 ++-- .../SettingsObjectNewFieldStep1.tsx | 7 +-- .../SettingsObjectNewFieldStep2.tsx | 16 +++---- .../settings/data-model/SettingsObjects.tsx | 4 +- .../src/testing/decorators/RootDecorator.tsx | 2 +- front/src/testing/graphqlMocks.ts | 2 +- front/src/testing/mock-data/metadata.ts | 4 +- .../typeorm-seeds/metadata/field-metadata.ts | 2 +- .../typeorm-seeds/metadata/object-metadata.ts | 6 +++ .../view-fields/view-fields.metadata.ts | 2 +- .../deduce-relation-direction.spec.ts | 6 +-- 93 files changed, 209 insertions(+), 266 deletions(-) delete mode 100644 front/src/modules/metadata/hooks/useFindAllMetadata.ts delete mode 100644 front/src/modules/metadata/states/fetchMoreObjectsFamilyState.ts rename front/src/modules/{metadata => object-metadata}/components/ApolloMetadataClientProvider.tsx (100%) rename front/src/modules/{metadata => object-metadata}/components/ObjectMetadataNavItems.tsx (100%) rename front/src/modules/{metadata => object-metadata}/context/ApolloClientMetadataContext.ts (100%) rename front/src/modules/{metadata => object-metadata}/graphql/mutations.ts (92%) rename front/src/modules/{metadata => object-metadata}/graphql/queries.ts (100%) rename front/src/modules/{metadata => object-metadata}/hooks/useApolloMetadataClient.ts (100%) rename front/src/modules/{metadata/hooks/useCreateOneMetadataField.ts => object-metadata/hooks/useCreateOneFieldMetadataItem.ts} (70%) rename front/src/modules/{metadata => object-metadata}/hooks/useCreateOneObjectMetadataItem.ts (95%) rename front/src/modules/{metadata/hooks/useDeleteOneMetadataField.ts => object-metadata/hooks/useDeleteOneFieldMetadataItem.ts} (67%) rename front/src/modules/{metadata => object-metadata}/hooks/useDeleteOneObjectMetadataItem.ts (100%) rename front/src/modules/{metadata/hooks/useMetadataField.ts => object-metadata/hooks/useFieldMetadataItem.ts} (54%) rename front/src/modules/{metadata => object-metadata}/hooks/useFindManyObjectMetadataItems.ts (100%) rename front/src/modules/{metadata => object-metadata}/hooks/useFindOneObjectMetadataItem.ts (75%) rename front/src/modules/{metadata => object-metadata}/hooks/useObjectMetadataItemForSettings.ts (93%) rename front/src/modules/{metadata/hooks/useUpdateOneMetadataField.ts => object-metadata/hooks/useUpdateOneFieldMetadataItem.ts} (69%) rename front/src/modules/{metadata => object-metadata}/hooks/useUpdateOneObjectMetadataItem.ts (100%) rename front/src/modules/{metadata => object-metadata}/states/objectMetadataItemsState.ts (100%) rename front/src/modules/{metadata => object-metadata}/states/selectors/activeObjectMetadataItemsSelector.ts (100%) rename front/src/modules/{metadata => object-metadata}/states/selectors/disabledObjectMetadataItemsSelector.ts (100%) rename front/src/modules/{metadata => object-metadata}/types/ObjectMetadataItem.ts (100%) rename front/src/modules/{metadata => object-metadata}/types/ObjectMetadataItemIdentifier.ts (100%) rename front/src/modules/{metadata/utils/formatMetadataFieldAsColumnDefinition.ts => object-metadata/utils/formatFieldMetadataItemAsColumnDefinition.ts} (94%) rename front/src/modules/{metadata/utils/formatMetadataFieldAsFilterDefinition.ts => object-metadata/utils/formatFieldMetadataItemAsFilterDefinition.ts} (86%) rename front/src/modules/{metadata/utils/formatMetadataFieldAsSortDefinition.ts => object-metadata/utils/formatFieldMetadataItemAsSortDefinition.ts} (86%) rename front/src/modules/{metadata/utils/formatMetadataFieldInput.ts => object-metadata/utils/formatFieldMetadataItemInput.ts} (87%) rename front/src/modules/{metadata => object-metadata}/utils/formatObjectMetadataItemInput.ts (100%) rename front/src/modules/{metadata => object-metadata}/utils/formatPagedObjectMetadataItemsToObjectMetadataItems.ts (100%) rename front/src/modules/{metadata => object-metadata}/utils/getFieldSlug.ts (100%) rename front/src/modules/{metadata => object-metadata}/utils/getObjectSlug.ts (100%) rename front/src/modules/{metadata => object-metadata}/utils/mapFieldMetadataToGraphQLQuery.ts (100%) rename front/src/modules/{metadata => object-metadata}/utils/parseFieldType.ts (100%) rename front/src/modules/{metadata => object-metadata}/utils/validateMetadataLabel.ts (100%) rename front/src/modules/{metadata => object-record}/components/RecordShowPage.tsx (90%) rename front/src/modules/{metadata => object-record}/components/RecordTableContainer.tsx (93%) rename front/src/modules/{metadata => object-record}/components/RecordTableEffect.tsx (89%) rename front/src/modules/{metadata => object-record}/components/RecordTablePage.tsx (82%) rename front/src/modules/{metadata => object-record}/graphql/optimistic-effect-definition/getRecordOptimisticEffectDefinition.ts (84%) rename front/src/modules/{metadata/hooks/useCreateOneObject.ts => object-record/hooks/useCreateOneObjectRecord.ts} (89%) rename front/src/modules/{metadata/hooks/useDeleteOneObject.ts => object-record/hooks/useDeleteOneObjectRecord.ts} (78%) rename front/src/modules/{metadata/hooks/useFindManyObjects.ts => object-record/hooks/useFindManyObjectRecords.ts} (92%) rename front/src/modules/{metadata/hooks/useFindOneObject.ts => object-record/hooks/useFindOneObjectRecord.ts} (81%) rename front/src/modules/{metadata/hooks/useTableObjects.ts => object-record/hooks/useObjectRecordTable.ts} (89%) rename front/src/modules/{metadata => object-record}/hooks/useSetRecordTableData.ts (100%) rename front/src/modules/{metadata/hooks/useUpdateOneObject.ts => object-record/hooks/useUpdateOneObjectRecord.ts} (78%) rename front/src/modules/{metadata => object-record}/states/cursorFamilyState.ts (100%) rename front/src/modules/{metadata => object-record}/states/hasNextPageFamilyState.ts (100%) rename front/src/modules/{metadata => object-record}/states/isFetchingMoreObjectsFamilyState.ts (100%) rename front/src/modules/{metadata => object-record}/types/PaginatedObjectType.ts (100%) rename front/src/modules/{metadata => object-record}/types/PaginatedObjectTypeResults.ts (100%) rename front/src/modules/{metadata => object-record}/utils/formatPagedObjectsToObjects.ts (100%) rename front/src/modules/{metadata => object-record}/utils/generateCreateOneObjectMutation.ts (76%) rename front/src/modules/{metadata => object-record}/utils/generateDeleteOneObjectMutation.ts (85%) rename front/src/modules/{metadata => object-record}/utils/generateFindManyCustomObjectsQuery.ts (83%) rename front/src/modules/{metadata => object-record}/utils/generateFindOneCustomObjectQuery.ts (73%) rename front/src/modules/{metadata => object-record}/utils/generateUpdateOneObjectMutation.ts (84%) diff --git a/front/codegen-metadata.js b/front/codegen-metadata.js index 45f53d86f..d62ae6a4d 100644 --- a/front/codegen-metadata.js +++ b/front/codegen-metadata.js @@ -1,6 +1,6 @@ module.exports = { schema: process.env.REACT_APP_SERVER_BASE_URL + "/metadata", - documents: ['./src/modules/metadata/graphql/*.tsx', './src/modules/metadata/graphql/*.ts'], + documents: ['./src/modules/object-metadata/graphql/*.ts', './src/modules/object-record/graphql/*.tsx', './src/modules/metadata/graphql/*.ts'], overwrite: true, generates: { './src/generated-metadata/': { diff --git a/front/codegen.js b/front/codegen.js index fe756f367..73cf1346d 100644 --- a/front/codegen.js +++ b/front/codegen.js @@ -1,6 +1,6 @@ module.exports = { schema: process.env.REACT_APP_SERVER_BASE_URL + "/graphql", - documents: ['!./src/modules/metadata/**', './src/modules/**/*.tsx', './src/modules/**/*.ts'], + documents: ['!./src/modules/object-metadata/**', '!./src/modules/object-record/**', './src/modules/**/*.tsx', './src/modules/**/*.ts'], overwrite: true, generates: { './src/generated/graphql.tsx': { diff --git a/front/src/App.tsx b/front/src/App.tsx index 0663052db..c0b20d31c 100644 --- a/front/src/App.tsx +++ b/front/src/App.tsx @@ -1,6 +1,7 @@ import { Navigate, Route, Routes, useLocation } from 'react-router-dom'; -import { RecordShowPage } from '@/metadata/components/RecordShowPage'; +import { RecordShowPage } from '@/object-record/components/RecordShowPage'; +import { RecordTablePage } from '@/object-record/components/RecordTablePage'; import { AppPath } from '@/types/AppPath'; import { SettingsPath } from '@/types/SettingsPath'; import { DefaultLayout } from '@/ui/layout/page/DefaultLayout'; @@ -32,7 +33,6 @@ import { SettingsWorkspaceMembers } from '~/pages/settings/SettingsWorkspaceMemb import { Tasks } from '~/pages/tasks/Tasks'; import { getPageTitleFromPath } from '~/utils/title-utils'; -import { RecordTablePage } from './modules/metadata/components/RecordTablePage'; import { SettingsObjectFieldEdit } from './pages/settings/data-model/SettingsObjectFieldEdit'; import { SettingsObjectNewFieldStep1 } from './pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep1'; import { SettingsObjectNewFieldStep2 } from './pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2'; diff --git a/front/src/AppNavbar.tsx b/front/src/AppNavbar.tsx index ce27370ff..bc1603338 100644 --- a/front/src/AppNavbar.tsx +++ b/front/src/AppNavbar.tsx @@ -3,7 +3,7 @@ import { useLocation, useNavigate } from 'react-router-dom'; import { useCurrentUserTaskCount } from '@/activities/tasks/hooks/useCurrentUserDueTaskCount'; import { useCommandMenu } from '@/command-menu/hooks/useCommandMenu'; import { Favorites } from '@/favorites/components/Favorites'; -import { ObjectMetadataNavItems } from '@/metadata/components/ObjectMetadataNavItems'; +import { ObjectMetadataNavItems } from '@/object-metadata/components/ObjectMetadataNavItems'; import { SettingsNavbar } from '@/settings/components/SettingsNavbar'; import { IconBell, diff --git a/front/src/generated-metadata/gql.ts b/front/src/generated-metadata/gql.ts index 9fd1e0e9a..98ea430fd 100644 --- a/front/src/generated-metadata/gql.ts +++ b/front/src/generated-metadata/gql.ts @@ -14,11 +14,11 @@ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/ */ const documents = { "\n mutation CreateOneObjectMetadataItem($input: CreateOneObjectInput!) {\n createOneObject(input: $input) {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isActive\n createdAt\n updatedAt\n }\n }\n": types.CreateOneObjectMetadataItemDocument, - "\n mutation CreateOneMetadataField($input: CreateOneFieldInput!) {\n createOneField(input: $input) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n": types.CreateOneMetadataFieldDocument, - "\n mutation UpdateOneMetadataField(\n $idToUpdate: ID!\n $updatePayload: UpdateFieldInput!\n ) {\n updateOneField(input: { id: $idToUpdate, update: $updatePayload }) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n": types.UpdateOneMetadataFieldDocument, + "\n mutation CreateOneFieldMetadataItem($input: CreateOneFieldInput!) {\n createOneField(input: $input) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n": types.CreateOneFieldMetadataItemDocument, + "\n mutation UpdateOneFieldMetadataItem(\n $idToUpdate: ID!\n $updatePayload: UpdateFieldInput!\n ) {\n updateOneField(input: { id: $idToUpdate, update: $updatePayload }) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n": types.UpdateOneFieldMetadataItemDocument, "\n mutation UpdateOneObjectMetadataItem(\n $idToUpdate: ID!\n $updatePayload: UpdateObjectInput!\n ) {\n updateOneObject(input: { id: $idToUpdate, update: $updatePayload }) {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isActive\n createdAt\n updatedAt\n }\n }\n": types.UpdateOneObjectMetadataItemDocument, "\n mutation DeleteOneObjectMetadataItem($idToDelete: ID!) {\n deleteOneObject(input: { id: $idToDelete }) {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isActive\n createdAt\n updatedAt\n }\n }\n": types.DeleteOneObjectMetadataItemDocument, - "\n mutation DeleteOneMetadataField($idToDelete: ID!) {\n deleteOneField(input: { id: $idToDelete }) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n": types.DeleteOneMetadataFieldDocument, + "\n mutation DeleteOneFieldMetadataItem($idToDelete: ID!) {\n deleteOneField(input: { id: $idToDelete }) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n": types.DeleteOneFieldMetadataItemDocument, "\n query ObjectMetadataItems {\n objects(paging: { first: 1000 }) {\n edges {\n node {\n id\n dataSourceId\n nameSingular\n namePlural\n labelSingular\n labelPlural\n description\n icon\n isCustom\n isActive\n createdAt\n updatedAt\n fields(paging: { first: 1000 }) {\n edges {\n node {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n totalCount\n }\n }\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n totalCount\n }\n }\n": types.ObjectMetadataItemsDocument, }; @@ -43,11 +43,11 @@ export function graphql(source: "\n mutation CreateOneObjectMetadataItem($input /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n mutation CreateOneMetadataField($input: CreateOneFieldInput!) {\n createOneField(input: $input) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n"): (typeof documents)["\n mutation CreateOneMetadataField($input: CreateOneFieldInput!) {\n createOneField(input: $input) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n"]; +export function graphql(source: "\n mutation CreateOneFieldMetadataItem($input: CreateOneFieldInput!) {\n createOneField(input: $input) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n"): (typeof documents)["\n mutation CreateOneFieldMetadataItem($input: CreateOneFieldInput!) {\n createOneField(input: $input) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n mutation UpdateOneMetadataField(\n $idToUpdate: ID!\n $updatePayload: UpdateFieldInput!\n ) {\n updateOneField(input: { id: $idToUpdate, update: $updatePayload }) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n"): (typeof documents)["\n mutation UpdateOneMetadataField(\n $idToUpdate: ID!\n $updatePayload: UpdateFieldInput!\n ) {\n updateOneField(input: { id: $idToUpdate, update: $updatePayload }) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n"]; +export function graphql(source: "\n mutation UpdateOneFieldMetadataItem(\n $idToUpdate: ID!\n $updatePayload: UpdateFieldInput!\n ) {\n updateOneField(input: { id: $idToUpdate, update: $updatePayload }) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n"): (typeof documents)["\n mutation UpdateOneFieldMetadataItem(\n $idToUpdate: ID!\n $updatePayload: UpdateFieldInput!\n ) {\n updateOneField(input: { id: $idToUpdate, update: $updatePayload }) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ @@ -59,7 +59,7 @@ export function graphql(source: "\n mutation DeleteOneObjectMetadataItem($idToD /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n mutation DeleteOneMetadataField($idToDelete: ID!) {\n deleteOneField(input: { id: $idToDelete }) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n"): (typeof documents)["\n mutation DeleteOneMetadataField($idToDelete: ID!) {\n deleteOneField(input: { id: $idToDelete }) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n"]; +export function graphql(source: "\n mutation DeleteOneFieldMetadataItem($idToDelete: ID!) {\n deleteOneField(input: { id: $idToDelete }) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n"): (typeof documents)["\n mutation DeleteOneFieldMetadataItem($idToDelete: ID!) {\n deleteOneField(input: { id: $idToDelete }) {\n id\n type\n name\n label\n description\n icon\n placeholder\n isCustom\n isActive\n isNullable\n createdAt\n updatedAt\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ diff --git a/front/src/generated-metadata/graphql.ts b/front/src/generated-metadata/graphql.ts index 2b462fd57..f06f828f3 100644 --- a/front/src/generated-metadata/graphql.ts +++ b/front/src/generated-metadata/graphql.ts @@ -879,20 +879,20 @@ export type CreateOneObjectMetadataItemMutationVariables = Exact<{ export type CreateOneObjectMetadataItemMutation = { __typename?: 'Mutation', createOneObject: { __typename?: 'object', id: string, dataSourceId: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, isCustom: boolean, isActive: boolean, createdAt: any, updatedAt: any } }; -export type CreateOneMetadataFieldMutationVariables = Exact<{ +export type CreateOneFieldMetadataItemMutationVariables = Exact<{ input: CreateOneFieldInput; }>; -export type CreateOneMetadataFieldMutation = { __typename?: 'Mutation', createOneField: { __typename?: 'field', id: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, placeholder?: string | null, isCustom: boolean, isActive: boolean, isNullable: boolean, createdAt: any, updatedAt: any } }; +export type CreateOneFieldMetadataItemMutation = { __typename?: 'Mutation', createOneField: { __typename?: 'field', id: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, placeholder?: string | null, isCustom: boolean, isActive: boolean, isNullable: boolean, createdAt: any, updatedAt: any } }; -export type UpdateOneMetadataFieldMutationVariables = Exact<{ +export type UpdateOneFieldMetadataItemMutationVariables = Exact<{ idToUpdate: Scalars['ID']['input']; updatePayload: UpdateFieldInput; }>; -export type UpdateOneMetadataFieldMutation = { __typename?: 'Mutation', updateOneField: { __typename?: 'field', id: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, placeholder?: string | null, isCustom: boolean, isActive: boolean, isNullable: boolean, createdAt: any, updatedAt: any } }; +export type UpdateOneFieldMetadataItemMutation = { __typename?: 'Mutation', updateOneField: { __typename?: 'field', id: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, placeholder?: string | null, isCustom: boolean, isActive: boolean, isNullable: boolean, createdAt: any, updatedAt: any } }; export type UpdateOneObjectMetadataItemMutationVariables = Exact<{ idToUpdate: Scalars['ID']['input']; @@ -909,12 +909,12 @@ export type DeleteOneObjectMetadataItemMutationVariables = Exact<{ export type DeleteOneObjectMetadataItemMutation = { __typename?: 'Mutation', deleteOneObject: { __typename?: 'ObjectDeleteResponse', id?: string | null, dataSourceId?: string | null, nameSingular?: string | null, namePlural?: string | null, labelSingular?: string | null, labelPlural?: string | null, description?: string | null, icon?: string | null, isCustom?: boolean | null, isActive?: boolean | null, createdAt?: any | null, updatedAt?: any | null } }; -export type DeleteOneMetadataFieldMutationVariables = Exact<{ +export type DeleteOneFieldMetadataItemMutationVariables = Exact<{ idToDelete: Scalars['ID']['input']; }>; -export type DeleteOneMetadataFieldMutation = { __typename?: 'Mutation', deleteOneField: { __typename?: 'FieldDeleteResponse', id?: string | null, type?: FieldMetadataType | null, name?: string | null, label?: string | null, description?: string | null, icon?: string | null, placeholder?: string | null, isCustom?: boolean | null, isActive?: boolean | null, isNullable?: boolean | null, createdAt?: any | null, updatedAt?: any | null } }; +export type DeleteOneFieldMetadataItemMutation = { __typename?: 'Mutation', deleteOneField: { __typename?: 'FieldDeleteResponse', id?: string | null, type?: FieldMetadataType | null, name?: string | null, label?: string | null, description?: string | null, icon?: string | null, placeholder?: string | null, isCustom?: boolean | null, isActive?: boolean | null, isNullable?: boolean | null, createdAt?: any | null, updatedAt?: any | null } }; export type ObjectMetadataItemsQueryVariables = Exact<{ [key: string]: never; }>; @@ -923,9 +923,9 @@ export type ObjectMetadataItemsQuery = { __typename?: 'Query', objects: { __type export const CreateOneObjectMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateOneObjectMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateOneObjectInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createOneObject"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"dataSourceId"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]}}]} as unknown as DocumentNode; -export const CreateOneMetadataFieldDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateOneMetadataField"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateOneFieldInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createOneField"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"placeholder"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]}}]} as unknown as DocumentNode; -export const UpdateOneMetadataFieldDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateOneMetadataField"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"idToUpdate"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"updatePayload"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateFieldInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateOneField"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"idToUpdate"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"update"},"value":{"kind":"Variable","name":{"kind":"Name","value":"updatePayload"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"placeholder"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]}}]} as unknown as DocumentNode; +export const CreateOneFieldMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateOneFieldMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateOneFieldInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createOneField"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"placeholder"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]}}]} as unknown as DocumentNode; +export const UpdateOneFieldMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateOneFieldMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"idToUpdate"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"updatePayload"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateFieldInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateOneField"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"idToUpdate"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"update"},"value":{"kind":"Variable","name":{"kind":"Name","value":"updatePayload"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"placeholder"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]}}]} as unknown as DocumentNode; export const UpdateOneObjectMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateOneObjectMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"idToUpdate"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"updatePayload"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateObjectInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateOneObject"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"idToUpdate"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"update"},"value":{"kind":"Variable","name":{"kind":"Name","value":"updatePayload"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"dataSourceId"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]}}]} as unknown as DocumentNode; export const DeleteOneObjectMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteOneObjectMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"idToDelete"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteOneObject"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"idToDelete"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"dataSourceId"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]}}]} as unknown as DocumentNode; -export const DeleteOneMetadataFieldDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteOneMetadataField"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"idToDelete"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteOneField"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"idToDelete"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"placeholder"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]}}]} as unknown as DocumentNode; +export const DeleteOneFieldMetadataItemDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteOneFieldMetadataItem"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"idToDelete"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteOneField"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"idToDelete"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"placeholder"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]}}]} as unknown as DocumentNode; export const ObjectMetadataItemsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ObjectMetadataItems"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objects"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"paging"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"first"},"value":{"kind":"IntValue","value":"1000"}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"dataSourceId"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"paging"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"first"},"value":{"kind":"IntValue","value":"1000"}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"placeholder"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"hasPreviousPage"}},{"kind":"Field","name":{"kind":"Name","value":"startCursor"}},{"kind":"Field","name":{"kind":"Name","value":"endCursor"}}]}},{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"hasPreviousPage"}},{"kind":"Field","name":{"kind":"Name","value":"startCursor"}},{"kind":"Field","name":{"kind":"Name","value":"endCursor"}}]}},{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}}]}}]} as unknown as DocumentNode; \ No newline at end of file diff --git a/front/src/index.tsx b/front/src/index.tsx index 73701a023..9e2955fc3 100644 --- a/front/src/index.tsx +++ b/front/src/index.tsx @@ -7,6 +7,7 @@ import { RecoilRoot } from 'recoil'; import { ApolloProvider } from '@/apollo/components/ApolloProvider'; import { ClientConfigProvider } from '@/client-config/components/ClientConfigProvider'; import { RecoilDebugObserverEffect } from '@/debug/components/RecoilDebugObserver'; +import { ApolloMetadataClientProvider } from '@/object-metadata/components/ApolloMetadataClientProvider'; import { DialogManager } from '@/ui/feedback/dialog-manager/components/DialogManager'; import { DialogManagerScope } from '@/ui/feedback/dialog-manager/scopes/DialogManagerScope'; import { SnackBarProvider } from '@/ui/feedback/snack-bar/components/SnackBarProvider'; @@ -17,7 +18,6 @@ import { UserProvider } from '@/users/components/UserProvider'; import '@emotion/react'; import { PageChangeEffect } from './effect-components/PageChangeEffect'; -import { ApolloMetadataClientProvider } from './modules/metadata/components/ApolloMetadataClientProvider'; import { App } from './App'; import './index.css'; diff --git a/front/src/modules/apollo/optimistic-effect/hooks/useOptimisticEffect.ts b/front/src/modules/apollo/optimistic-effect/hooks/useOptimisticEffect.ts index d13666f1f..b72fe9145 100644 --- a/front/src/modules/apollo/optimistic-effect/hooks/useOptimisticEffect.ts +++ b/front/src/modules/apollo/optimistic-effect/hooks/useOptimisticEffect.ts @@ -8,8 +8,8 @@ import { isNonEmptyArray } from '@sniptt/guards'; import { useRecoilCallback } from 'recoil'; import { GET_COMPANIES } from '@/companies/graphql/queries/getCompanies'; -import { ObjectMetadataItem } from '@/metadata/types/ObjectMetadataItem'; -import { generateFindManyCustomObjectsQuery } from '@/metadata/utils/generateFindManyCustomObjectsQuery'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; +import { generateFindManyCustomObjectsQuery } from '@/object-record/utils/generateFindManyCustomObjectsQuery'; import { GET_PEOPLE } from '@/people/graphql/queries/getPeople'; import { GET_API_KEYS } from '@/settings/developers/graphql/queries/getApiKeys'; import { diff --git a/front/src/modules/apollo/optimistic-effect/types/OptimisticEffectDefinition.ts b/front/src/modules/apollo/optimistic-effect/types/OptimisticEffectDefinition.ts index db8c8bf49..166b74fa5 100644 --- a/front/src/modules/apollo/optimistic-effect/types/OptimisticEffectDefinition.ts +++ b/front/src/modules/apollo/optimistic-effect/types/OptimisticEffectDefinition.ts @@ -1,6 +1,6 @@ import { DocumentNode } from 'graphql'; -import { ObjectMetadataItem } from '@/metadata/types/ObjectMetadataItem'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { OptimisticEffectResolver } from './OptimisticEffectResolver'; diff --git a/front/src/modules/apollo/optimistic-effect/types/internal/OptimisticEffect.ts b/front/src/modules/apollo/optimistic-effect/types/internal/OptimisticEffect.ts index 040d89316..c18b8d831 100644 --- a/front/src/modules/apollo/optimistic-effect/types/internal/OptimisticEffect.ts +++ b/front/src/modules/apollo/optimistic-effect/types/internal/OptimisticEffect.ts @@ -1,6 +1,6 @@ import { ApolloCache, DocumentNode, OperationVariables } from '@apollo/client'; -import { ObjectMetadataItem } from '@/metadata/types/ObjectMetadataItem'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; type OptimisticEffectWriter = ({ cache, diff --git a/front/src/modules/metadata/hooks/useFindAllMetadata.ts b/front/src/modules/metadata/hooks/useFindAllMetadata.ts deleted file mode 100644 index fd49d58bf..000000000 --- a/front/src/modules/metadata/hooks/useFindAllMetadata.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { useMemo } from 'react'; -import { useQuery } from '@apollo/client'; - -import { - ObjectMetadataItemsQuery, - ObjectMetadataItemsQueryVariables, -} from '~/generated-metadata/graphql'; - -import { FIND_MANY_METADATA_OBJECTS } from '../graphql/queries'; -import { formatPagedObjectMetadataItemsToObjectMetadataItems } from '../utils/formatPagedObjectMetadataItemsToObjectMetadataItems'; - -import { useApolloMetadataClient } from './useApolloMetadataClient'; - -// TODO: test fetchMore -export const useFindAllMetadata = () => { - const apolloMetadataClient = useApolloMetadataClient(); - - const { data, fetchMore: fetchMoreInternal } = useQuery< - ObjectMetadataItemsQuery, - ObjectMetadataItemsQueryVariables - >(FIND_MANY_METADATA_OBJECTS, { - client: apolloMetadataClient ?? ({} as any), - skip: !apolloMetadataClient, - }); - - const hasMore = data?.objects?.pageInfo?.hasNextPage; - - const fetchMore = () => - fetchMoreInternal({ - variables: { - afterCursor: data?.objects?.pageInfo?.endCursor, - }, - }); - - const objectMetadataItems = useMemo(() => { - return formatPagedObjectMetadataItemsToObjectMetadataItems({ - pagedObjectMetadataItems: data, - }); - }, [data]); - - return { - objectMetadataItems, - hasMore, - fetchMore, - }; -}; diff --git a/front/src/modules/metadata/states/fetchMoreObjectsFamilyState.ts b/front/src/modules/metadata/states/fetchMoreObjectsFamilyState.ts deleted file mode 100644 index 510e030e2..000000000 --- a/front/src/modules/metadata/states/fetchMoreObjectsFamilyState.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { atomFamily } from 'recoil'; - -export const fetchMoreObjectsFamilyState = atomFamily< - { fetchMore: () => void }, - string ->({ - key: 'fetchMoreObjectsFamilyState', -}); diff --git a/front/src/modules/metadata/components/ApolloMetadataClientProvider.tsx b/front/src/modules/object-metadata/components/ApolloMetadataClientProvider.tsx similarity index 100% rename from front/src/modules/metadata/components/ApolloMetadataClientProvider.tsx rename to front/src/modules/object-metadata/components/ApolloMetadataClientProvider.tsx diff --git a/front/src/modules/metadata/components/ObjectMetadataNavItems.tsx b/front/src/modules/object-metadata/components/ObjectMetadataNavItems.tsx similarity index 100% rename from front/src/modules/metadata/components/ObjectMetadataNavItems.tsx rename to front/src/modules/object-metadata/components/ObjectMetadataNavItems.tsx diff --git a/front/src/modules/metadata/context/ApolloClientMetadataContext.ts b/front/src/modules/object-metadata/context/ApolloClientMetadataContext.ts similarity index 100% rename from front/src/modules/metadata/context/ApolloClientMetadataContext.ts rename to front/src/modules/object-metadata/context/ApolloClientMetadataContext.ts diff --git a/front/src/modules/metadata/graphql/mutations.ts b/front/src/modules/object-metadata/graphql/mutations.ts similarity index 92% rename from front/src/modules/metadata/graphql/mutations.ts rename to front/src/modules/object-metadata/graphql/mutations.ts index e4f818bc1..d687b2b68 100644 --- a/front/src/modules/metadata/graphql/mutations.ts +++ b/front/src/modules/object-metadata/graphql/mutations.ts @@ -20,7 +20,7 @@ export const CREATE_ONE_METADATA_OBJECT = gql` `; export const CREATE_ONE_METADATA_FIELD = gql` - mutation CreateOneMetadataField($input: CreateOneFieldInput!) { + mutation CreateOneFieldMetadataItem($input: CreateOneFieldInput!) { createOneField(input: $input) { id type @@ -39,7 +39,7 @@ export const CREATE_ONE_METADATA_FIELD = gql` `; export const UPDATE_ONE_METADATA_FIELD = gql` - mutation UpdateOneMetadataField( + mutation UpdateOneFieldMetadataItem( $idToUpdate: ID! $updatePayload: UpdateFieldInput! ) { @@ -102,7 +102,7 @@ export const DELETE_ONE_METADATA_OBJECT = gql` `; export const DELETE_ONE_METADATA_FIELD = gql` - mutation DeleteOneMetadataField($idToDelete: ID!) { + mutation DeleteOneFieldMetadataItem($idToDelete: ID!) { deleteOneField(input: { id: $idToDelete }) { id type diff --git a/front/src/modules/metadata/graphql/queries.ts b/front/src/modules/object-metadata/graphql/queries.ts similarity index 100% rename from front/src/modules/metadata/graphql/queries.ts rename to front/src/modules/object-metadata/graphql/queries.ts diff --git a/front/src/modules/metadata/hooks/useApolloMetadataClient.ts b/front/src/modules/object-metadata/hooks/useApolloMetadataClient.ts similarity index 100% rename from front/src/modules/metadata/hooks/useApolloMetadataClient.ts rename to front/src/modules/object-metadata/hooks/useApolloMetadataClient.ts diff --git a/front/src/modules/metadata/hooks/useCreateOneMetadataField.ts b/front/src/modules/object-metadata/hooks/useCreateOneFieldMetadataItem.ts similarity index 70% rename from front/src/modules/metadata/hooks/useCreateOneMetadataField.ts rename to front/src/modules/object-metadata/hooks/useCreateOneFieldMetadataItem.ts index c3b619ff6..67a989f7b 100644 --- a/front/src/modules/metadata/hooks/useCreateOneMetadataField.ts +++ b/front/src/modules/object-metadata/hooks/useCreateOneFieldMetadataItem.ts @@ -4,8 +4,8 @@ import { getOperationName } from '@apollo/client/utilities'; import { FieldType } from '@/ui/object/field/types/FieldType'; import { FieldMetadataType } from '~/generated/graphql'; import { - CreateOneMetadataFieldMutation, - CreateOneMetadataFieldMutationVariables, + CreateOneFieldMetadataItemMutation, + CreateOneFieldMetadataItemMutationVariables, } from '~/generated-metadata/graphql'; import { CREATE_ONE_METADATA_FIELD } from '../graphql/mutations'; @@ -13,24 +13,26 @@ import { FIND_MANY_METADATA_OBJECTS } from '../graphql/queries'; import { useApolloMetadataClient } from './useApolloMetadataClient'; -type CreateOneMetadataFieldArgs = Omit< - CreateOneMetadataFieldMutationVariables['input']['field'], +type CreateOneFieldMetadataItemArgs = Omit< + CreateOneFieldMetadataItemMutationVariables['input']['field'], 'type' > & { type: FieldType; }; -export const useCreateOneMetadataField = () => { +export const useCreateOneFieldMetadataItem = () => { const apolloMetadataClient = useApolloMetadataClient(); const [mutate] = useMutation< - CreateOneMetadataFieldMutation, - CreateOneMetadataFieldMutationVariables + CreateOneFieldMetadataItemMutation, + CreateOneFieldMetadataItemMutationVariables >(CREATE_ONE_METADATA_FIELD, { client: apolloMetadataClient ?? ({} as ApolloClient), }); - const createOneMetadataField = async (input: CreateOneMetadataFieldArgs) => { + const createOneFieldMetadataItem = async ( + input: CreateOneFieldMetadataItemArgs, + ) => { return await mutate({ variables: { input: { @@ -46,6 +48,6 @@ export const useCreateOneMetadataField = () => { }; return { - createOneMetadataField, + createOneFieldMetadataItem, }; }; diff --git a/front/src/modules/metadata/hooks/useCreateOneObjectMetadataItem.ts b/front/src/modules/object-metadata/hooks/useCreateOneObjectMetadataItem.ts similarity index 95% rename from front/src/modules/metadata/hooks/useCreateOneObjectMetadataItem.ts rename to front/src/modules/object-metadata/hooks/useCreateOneObjectMetadataItem.ts index cca4aa681..e5e29b65c 100644 --- a/front/src/modules/metadata/hooks/useCreateOneObjectMetadataItem.ts +++ b/front/src/modules/object-metadata/hooks/useCreateOneObjectMetadataItem.ts @@ -11,7 +11,7 @@ import { FIND_MANY_METADATA_OBJECTS } from '../graphql/queries'; import { useApolloMetadataClient } from './useApolloMetadataClient'; -export const useCreateOneObjectMetadataItem = () => { +export const useCreateOneObjectRecordMetadataItem = () => { const apolloMetadataClient = useApolloMetadataClient(); const [mutate] = useMutation< diff --git a/front/src/modules/metadata/hooks/useDeleteOneMetadataField.ts b/front/src/modules/object-metadata/hooks/useDeleteOneFieldMetadataItem.ts similarity index 67% rename from front/src/modules/metadata/hooks/useDeleteOneMetadataField.ts rename to front/src/modules/object-metadata/hooks/useDeleteOneFieldMetadataItem.ts index 592604438..18ac1d8de 100644 --- a/front/src/modules/metadata/hooks/useDeleteOneMetadataField.ts +++ b/front/src/modules/object-metadata/hooks/useDeleteOneFieldMetadataItem.ts @@ -2,8 +2,8 @@ import { ApolloClient, useMutation } from '@apollo/client'; import { getOperationName } from '@apollo/client/utilities'; import { - DeleteOneMetadataFieldMutation, - DeleteOneMetadataFieldMutationVariables, + DeleteOneFieldMetadataItemMutation, + DeleteOneFieldMetadataItemMutationVariables, } from '~/generated-metadata/graphql'; import { DELETE_ONE_METADATA_FIELD } from '../graphql/mutations'; @@ -11,18 +11,18 @@ import { FIND_MANY_METADATA_OBJECTS } from '../graphql/queries'; import { useApolloMetadataClient } from './useApolloMetadataClient'; -export const useDeleteOneMetadataField = () => { +export const useDeleteOneFieldMetadataItem = () => { const apolloMetadataClient = useApolloMetadataClient(); const [mutate] = useMutation< - DeleteOneMetadataFieldMutation, - DeleteOneMetadataFieldMutationVariables + DeleteOneFieldMetadataItemMutation, + DeleteOneFieldMetadataItemMutationVariables >(DELETE_ONE_METADATA_FIELD, { client: apolloMetadataClient ?? ({} as ApolloClient), }); - const deleteOneMetadataField = async ( - idToDelete: DeleteOneMetadataFieldMutationVariables['idToDelete'], + const deleteOneFieldMetadataItem = async ( + idToDelete: DeleteOneFieldMetadataItemMutationVariables['idToDelete'], ) => { return await mutate({ variables: { @@ -34,6 +34,6 @@ export const useDeleteOneMetadataField = () => { }; return { - deleteOneMetadataField, + deleteOneFieldMetadataItem, }; }; diff --git a/front/src/modules/metadata/hooks/useDeleteOneObjectMetadataItem.ts b/front/src/modules/object-metadata/hooks/useDeleteOneObjectMetadataItem.ts similarity index 100% rename from front/src/modules/metadata/hooks/useDeleteOneObjectMetadataItem.ts rename to front/src/modules/object-metadata/hooks/useDeleteOneObjectMetadataItem.ts diff --git a/front/src/modules/metadata/hooks/useMetadataField.ts b/front/src/modules/object-metadata/hooks/useFieldMetadataItem.ts similarity index 54% rename from front/src/modules/metadata/hooks/useMetadataField.ts rename to front/src/modules/object-metadata/hooks/useFieldMetadataItem.ts index a72bf40a3..2f067523f 100644 --- a/front/src/modules/metadata/hooks/useMetadataField.ts +++ b/front/src/modules/object-metadata/hooks/useFieldMetadataItem.ts @@ -1,16 +1,16 @@ import { MetadataFieldDataType } from '@/settings/data-model/types/ObjectFieldDataType'; import { Field } from '~/generated/graphql'; -import { formatMetadataFieldInput } from '../utils/formatMetadataFieldInput'; +import { formatFieldMetadataItemInput } from '../utils/formatFieldMetadataItemInput'; -import { useCreateOneMetadataField } from './useCreateOneMetadataField'; -import { useDeleteOneMetadataField } from './useDeleteOneMetadataField'; -import { useUpdateOneMetadataField } from './useUpdateOneMetadataField'; +import { useCreateOneFieldMetadataItem } from './useCreateOneFieldMetadataItem'; +import { useDeleteOneFieldMetadataItem } from './useDeleteOneFieldMetadataItem'; +import { useUpdateOneFieldMetadataItem } from './useUpdateOneFieldMetadataItem'; -export const useMetadataField = () => { - const { createOneMetadataField } = useCreateOneMetadataField(); - const { updateOneMetadataField } = useUpdateOneMetadataField(); - const { deleteOneMetadataField } = useDeleteOneMetadataField(); +export const useFieldMetadataItem = () => { + const { createOneFieldMetadataItem } = useCreateOneFieldMetadataItem(); + const { updateOneFieldMetadataItem } = useUpdateOneFieldMetadataItem(); + const { deleteOneFieldMetadataItem } = useDeleteOneFieldMetadataItem(); const createMetadataField = ( input: Pick & { @@ -18,8 +18,8 @@ export const useMetadataField = () => { type: MetadataFieldDataType; }, ) => - createOneMetadataField({ - ...formatMetadataFieldInput(input), + createOneFieldMetadataItem({ + ...formatFieldMetadataItemInput(input), objectMetadataId: input.objectMetadataId, type: input.type, }); @@ -27,25 +27,25 @@ export const useMetadataField = () => { const editMetadataField = ( input: Pick, ) => - updateOneMetadataField({ + updateOneFieldMetadataItem({ fieldMetadataIdToUpdate: input.id, - updatePayload: formatMetadataFieldInput(input), + updatePayload: formatFieldMetadataItemInput(input), }); const activateMetadataField = (metadataField: Field) => - updateOneMetadataField({ + updateOneFieldMetadataItem({ fieldMetadataIdToUpdate: metadataField.id, updatePayload: { isActive: true }, }); const disableMetadataField = (metadataField: Field) => - updateOneMetadataField({ + updateOneFieldMetadataItem({ fieldMetadataIdToUpdate: metadataField.id, updatePayload: { isActive: false }, }); const eraseMetadataField = (metadataField: Field) => - deleteOneMetadataField(metadataField.id); + deleteOneFieldMetadataItem(metadataField.id); return { activateMetadataField, diff --git a/front/src/modules/metadata/hooks/useFindManyObjectMetadataItems.ts b/front/src/modules/object-metadata/hooks/useFindManyObjectMetadataItems.ts similarity index 100% rename from front/src/modules/metadata/hooks/useFindManyObjectMetadataItems.ts rename to front/src/modules/object-metadata/hooks/useFindManyObjectMetadataItems.ts diff --git a/front/src/modules/metadata/hooks/useFindOneObjectMetadataItem.ts b/front/src/modules/object-metadata/hooks/useFindOneObjectMetadataItem.ts similarity index 75% rename from front/src/modules/metadata/hooks/useFindOneObjectMetadataItem.ts rename to front/src/modules/object-metadata/hooks/useFindOneObjectMetadataItem.ts index 2b67c7f9b..4ac370561 100644 --- a/front/src/modules/metadata/hooks/useFindOneObjectMetadataItem.ts +++ b/front/src/modules/object-metadata/hooks/useFindOneObjectMetadataItem.ts @@ -1,5 +1,10 @@ import { gql } from '@apollo/client'; +import { generateCreateOneObjectMutation } from '@/object-record/utils/generateCreateOneObjectMutation'; +import { generateDeleteOneObjectMutation } from '@/object-record/utils/generateDeleteOneObjectMutation'; +import { generateFindManyCustomObjectsQuery } from '@/object-record/utils/generateFindManyCustomObjectsQuery'; +import { generateFindOneCustomObjectQuery } from '@/object-record/utils/generateFindOneCustomObjectQuery'; +import { generateUpdateOneObjectMutation } from '@/object-record/utils/generateUpdateOneObjectMutation'; import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons'; import { FieldMetadata } from '@/ui/object/field/types/FieldMetadata'; import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/FilterDefinition'; @@ -7,14 +12,9 @@ import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefin import { ColumnDefinition } from '@/ui/object/record-table/types/ColumnDefinition'; import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier'; -import { formatMetadataFieldAsColumnDefinition } from '../utils/formatMetadataFieldAsColumnDefinition'; -import { formatMetadataFieldAsFilterDefinition } from '../utils/formatMetadataFieldAsFilterDefinition'; -import { formatMetadataFieldAsSortDefinition } from '../utils/formatMetadataFieldAsSortDefinition'; -import { generateCreateOneObjectMutation } from '../utils/generateCreateOneObjectMutation'; -import { generateDeleteOneObjectMutation } from '../utils/generateDeleteOneObjectMutation'; -import { generateFindManyCustomObjectsQuery } from '../utils/generateFindManyCustomObjectsQuery'; -import { generateFindOneCustomObjectQuery } from '../utils/generateFindOneCustomObjectQuery'; -import { generateUpdateOneObjectMutation } from '../utils/generateUpdateOneObjectMutation'; +import { formatFieldMetadataItemAsColumnDefinition } from '../utils/formatFieldMetadataItemAsColumnDefinition'; +import { formatFieldMetadataItemAsFilterDefinition } from '../utils/formatFieldMetadataItemAsFilterDefinition'; +import { formatFieldMetadataItemAsSortDefinition } from '../utils/formatFieldMetadataItemAsSortDefinition'; import { useFindManyObjectMetadataItems } from './useFindManyObjectMetadataItems'; @@ -57,7 +57,7 @@ export const useFindOneObjectMetadataItem = ({ const columnDefinitions: ColumnDefinition[] = foundObjectMetadataItem ? activeFields.map((field, index) => - formatMetadataFieldAsColumnDefinition({ + formatFieldMetadataItemAsColumnDefinition({ position: index, field, objectMetadataItem: foundObjectMetadataItem, @@ -67,14 +67,14 @@ export const useFindOneObjectMetadataItem = ({ : []; const filterDefinitions: FilterDefinition[] = activeFields.map((field) => - formatMetadataFieldAsFilterDefinition({ + formatFieldMetadataItemAsFilterDefinition({ field, icons, }), ); const sortDefinitions: SortDefinition[] = activeFields.map((field) => - formatMetadataFieldAsSortDefinition({ + formatFieldMetadataItemAsSortDefinition({ field, icons, }), diff --git a/front/src/modules/metadata/hooks/useObjectMetadataItemForSettings.ts b/front/src/modules/object-metadata/hooks/useObjectMetadataItemForSettings.ts similarity index 93% rename from front/src/modules/metadata/hooks/useObjectMetadataItemForSettings.ts rename to front/src/modules/object-metadata/hooks/useObjectMetadataItemForSettings.ts index a3b87e2d7..b6a84deba 100644 --- a/front/src/modules/metadata/hooks/useObjectMetadataItemForSettings.ts +++ b/front/src/modules/object-metadata/hooks/useObjectMetadataItemForSettings.ts @@ -2,7 +2,7 @@ import { ObjectMetadataItem } from '../types/ObjectMetadataItem'; import { formatObjectMetadataItemInput } from '../utils/formatObjectMetadataItemInput'; import { getObjectSlug } from '../utils/getObjectSlug'; -import { useCreateOneObjectMetadataItem } from './useCreateOneObjectMetadataItem'; +import { useCreateOneObjectRecordMetadataItem } from './useCreateOneObjectMetadataItem'; import { useDeleteOneObjectMetadataItem } from './useDeleteOneObjectMetadataItem'; import { useFindManyObjectMetadataItems } from './useFindManyObjectMetadataItems'; import { useUpdateOneObjectMetadataItem } from './useUpdateOneObjectMetadataItem'; @@ -23,7 +23,8 @@ export const useObjectMetadataItemForSettings = () => { getObjectSlug(activeObjectMetadataItem) === slug, ); - const { createOneObjectMetadataItem } = useCreateOneObjectMetadataItem(); + const { createOneObjectMetadataItem } = + useCreateOneObjectRecordMetadataItem(); const { updateOneObjectMetadataItem } = useUpdateOneObjectMetadataItem(); const { deleteOneObjectMetadataItem } = useDeleteOneObjectMetadataItem(); diff --git a/front/src/modules/metadata/hooks/useUpdateOneMetadataField.ts b/front/src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts similarity index 69% rename from front/src/modules/metadata/hooks/useUpdateOneMetadataField.ts rename to front/src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts index 8df8fbdbb..ef80eb527 100644 --- a/front/src/modules/metadata/hooks/useUpdateOneMetadataField.ts +++ b/front/src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts @@ -2,8 +2,8 @@ import { useMutation } from '@apollo/client'; import { getOperationName } from '@apollo/client/utilities'; import { - UpdateOneMetadataFieldMutation, - UpdateOneMetadataFieldMutationVariables, + UpdateOneFieldMetadataItemMutation, + UpdateOneFieldMetadataItemMutationVariables, } from '~/generated-metadata/graphql'; import { UPDATE_ONE_METADATA_FIELD } from '../graphql/mutations'; @@ -11,23 +11,23 @@ import { FIND_MANY_METADATA_OBJECTS } from '../graphql/queries'; import { useApolloMetadataClient } from './useApolloMetadataClient'; -export const useUpdateOneMetadataField = () => { +export const useUpdateOneFieldMetadataItem = () => { const apolloMetadataClient = useApolloMetadataClient(); const [mutate] = useMutation< - UpdateOneMetadataFieldMutation, - UpdateOneMetadataFieldMutationVariables + UpdateOneFieldMetadataItemMutation, + UpdateOneFieldMetadataItemMutationVariables >(UPDATE_ONE_METADATA_FIELD, { client: apolloMetadataClient ?? undefined, }); - const updateOneMetadataField = async ({ + const updateOneFieldMetadataItem = async ({ fieldMetadataIdToUpdate, updatePayload, }: { - fieldMetadataIdToUpdate: UpdateOneMetadataFieldMutationVariables['idToUpdate']; + fieldMetadataIdToUpdate: UpdateOneFieldMetadataItemMutationVariables['idToUpdate']; updatePayload: Pick< - UpdateOneMetadataFieldMutationVariables['updatePayload'], + UpdateOneFieldMetadataItemMutationVariables['updatePayload'], 'description' | 'icon' | 'isActive' | 'label' | 'name' >; }) => { @@ -45,6 +45,6 @@ export const useUpdateOneMetadataField = () => { }; return { - updateOneMetadataField, + updateOneFieldMetadataItem, }; }; diff --git a/front/src/modules/metadata/hooks/useUpdateOneObjectMetadataItem.ts b/front/src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts similarity index 100% rename from front/src/modules/metadata/hooks/useUpdateOneObjectMetadataItem.ts rename to front/src/modules/object-metadata/hooks/useUpdateOneObjectMetadataItem.ts diff --git a/front/src/modules/metadata/states/objectMetadataItemsState.ts b/front/src/modules/object-metadata/states/objectMetadataItemsState.ts similarity index 100% rename from front/src/modules/metadata/states/objectMetadataItemsState.ts rename to front/src/modules/object-metadata/states/objectMetadataItemsState.ts diff --git a/front/src/modules/metadata/states/selectors/activeObjectMetadataItemsSelector.ts b/front/src/modules/object-metadata/states/selectors/activeObjectMetadataItemsSelector.ts similarity index 100% rename from front/src/modules/metadata/states/selectors/activeObjectMetadataItemsSelector.ts rename to front/src/modules/object-metadata/states/selectors/activeObjectMetadataItemsSelector.ts diff --git a/front/src/modules/metadata/states/selectors/disabledObjectMetadataItemsSelector.ts b/front/src/modules/object-metadata/states/selectors/disabledObjectMetadataItemsSelector.ts similarity index 100% rename from front/src/modules/metadata/states/selectors/disabledObjectMetadataItemsSelector.ts rename to front/src/modules/object-metadata/states/selectors/disabledObjectMetadataItemsSelector.ts diff --git a/front/src/modules/metadata/types/ObjectMetadataItem.ts b/front/src/modules/object-metadata/types/ObjectMetadataItem.ts similarity index 100% rename from front/src/modules/metadata/types/ObjectMetadataItem.ts rename to front/src/modules/object-metadata/types/ObjectMetadataItem.ts diff --git a/front/src/modules/metadata/types/ObjectMetadataItemIdentifier.ts b/front/src/modules/object-metadata/types/ObjectMetadataItemIdentifier.ts similarity index 100% rename from front/src/modules/metadata/types/ObjectMetadataItemIdentifier.ts rename to front/src/modules/object-metadata/types/ObjectMetadataItemIdentifier.ts diff --git a/front/src/modules/metadata/utils/formatMetadataFieldAsColumnDefinition.ts b/front/src/modules/object-metadata/utils/formatFieldMetadataItemAsColumnDefinition.ts similarity index 94% rename from front/src/modules/metadata/utils/formatMetadataFieldAsColumnDefinition.ts rename to front/src/modules/object-metadata/utils/formatFieldMetadataItemAsColumnDefinition.ts index f744d64b0..32009229f 100644 --- a/front/src/modules/metadata/utils/formatMetadataFieldAsColumnDefinition.ts +++ b/front/src/modules/object-metadata/utils/formatFieldMetadataItemAsColumnDefinition.ts @@ -7,7 +7,7 @@ import { ObjectMetadataItem } from '../types/ObjectMetadataItem'; import { parseFieldType } from './parseFieldType'; -export const formatMetadataFieldAsColumnDefinition = ({ +export const formatFieldMetadataItemAsColumnDefinition = ({ position, field, objectMetadataItem, diff --git a/front/src/modules/metadata/utils/formatMetadataFieldAsFilterDefinition.ts b/front/src/modules/object-metadata/utils/formatFieldMetadataItemAsFilterDefinition.ts similarity index 86% rename from front/src/modules/metadata/utils/formatMetadataFieldAsFilterDefinition.ts rename to front/src/modules/object-metadata/utils/formatFieldMetadataItemAsFilterDefinition.ts index 56bc5b837..e394cfb6a 100644 --- a/front/src/modules/metadata/utils/formatMetadataFieldAsFilterDefinition.ts +++ b/front/src/modules/object-metadata/utils/formatFieldMetadataItemAsFilterDefinition.ts @@ -2,7 +2,7 @@ import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/Filte import { ObjectMetadataItem } from '../types/ObjectMetadataItem'; -export const formatMetadataFieldAsFilterDefinition = ({ +export const formatFieldMetadataItemAsFilterDefinition = ({ field, icons, }: { diff --git a/front/src/modules/metadata/utils/formatMetadataFieldAsSortDefinition.ts b/front/src/modules/object-metadata/utils/formatFieldMetadataItemAsSortDefinition.ts similarity index 86% rename from front/src/modules/metadata/utils/formatMetadataFieldAsSortDefinition.ts rename to front/src/modules/object-metadata/utils/formatFieldMetadataItemAsSortDefinition.ts index 899d5c4d7..894e61d33 100644 --- a/front/src/modules/metadata/utils/formatMetadataFieldAsSortDefinition.ts +++ b/front/src/modules/object-metadata/utils/formatFieldMetadataItemAsSortDefinition.ts @@ -2,7 +2,7 @@ import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefin import { ObjectMetadataItem } from '../types/ObjectMetadataItem'; -export const formatMetadataFieldAsSortDefinition = ({ +export const formatFieldMetadataItemAsSortDefinition = ({ field, icons, }: { diff --git a/front/src/modules/metadata/utils/formatMetadataFieldInput.ts b/front/src/modules/object-metadata/utils/formatFieldMetadataItemInput.ts similarity index 87% rename from front/src/modules/metadata/utils/formatMetadataFieldInput.ts rename to front/src/modules/object-metadata/utils/formatFieldMetadataItemInput.ts index 58986c9d9..08468db99 100644 --- a/front/src/modules/metadata/utils/formatMetadataFieldInput.ts +++ b/front/src/modules/object-metadata/utils/formatFieldMetadataItemInput.ts @@ -2,7 +2,7 @@ import toCamelCase from 'lodash.camelcase'; import { Field } from '~/generated-metadata/graphql'; -export const formatMetadataFieldInput = ( +export const formatFieldMetadataItemInput = ( input: Pick, ) => ({ description: input.description?.trim() ?? null, diff --git a/front/src/modules/metadata/utils/formatObjectMetadataItemInput.ts b/front/src/modules/object-metadata/utils/formatObjectMetadataItemInput.ts similarity index 100% rename from front/src/modules/metadata/utils/formatObjectMetadataItemInput.ts rename to front/src/modules/object-metadata/utils/formatObjectMetadataItemInput.ts diff --git a/front/src/modules/metadata/utils/formatPagedObjectMetadataItemsToObjectMetadataItems.ts b/front/src/modules/object-metadata/utils/formatPagedObjectMetadataItemsToObjectMetadataItems.ts similarity index 100% rename from front/src/modules/metadata/utils/formatPagedObjectMetadataItemsToObjectMetadataItems.ts rename to front/src/modules/object-metadata/utils/formatPagedObjectMetadataItemsToObjectMetadataItems.ts diff --git a/front/src/modules/metadata/utils/getFieldSlug.ts b/front/src/modules/object-metadata/utils/getFieldSlug.ts similarity index 100% rename from front/src/modules/metadata/utils/getFieldSlug.ts rename to front/src/modules/object-metadata/utils/getFieldSlug.ts diff --git a/front/src/modules/metadata/utils/getObjectSlug.ts b/front/src/modules/object-metadata/utils/getObjectSlug.ts similarity index 100% rename from front/src/modules/metadata/utils/getObjectSlug.ts rename to front/src/modules/object-metadata/utils/getObjectSlug.ts diff --git a/front/src/modules/metadata/utils/mapFieldMetadataToGraphQLQuery.ts b/front/src/modules/object-metadata/utils/mapFieldMetadataToGraphQLQuery.ts similarity index 100% rename from front/src/modules/metadata/utils/mapFieldMetadataToGraphQLQuery.ts rename to front/src/modules/object-metadata/utils/mapFieldMetadataToGraphQLQuery.ts diff --git a/front/src/modules/metadata/utils/parseFieldType.ts b/front/src/modules/object-metadata/utils/parseFieldType.ts similarity index 100% rename from front/src/modules/metadata/utils/parseFieldType.ts rename to front/src/modules/object-metadata/utils/parseFieldType.ts diff --git a/front/src/modules/metadata/utils/validateMetadataLabel.ts b/front/src/modules/object-metadata/utils/validateMetadataLabel.ts similarity index 100% rename from front/src/modules/metadata/utils/validateMetadataLabel.ts rename to front/src/modules/object-metadata/utils/validateMetadataLabel.ts diff --git a/front/src/modules/metadata/components/RecordShowPage.tsx b/front/src/modules/object-record/components/RecordShowPage.tsx similarity index 90% rename from front/src/modules/metadata/components/RecordShowPage.tsx rename to front/src/modules/object-record/components/RecordShowPage.tsx index 54ce627f1..25b05c5d6 100644 --- a/front/src/modules/metadata/components/RecordShowPage.tsx +++ b/front/src/modules/object-record/components/RecordShowPage.tsx @@ -3,6 +3,8 @@ import { DateTime } from 'luxon'; import { useRecoilState } from 'recoil'; import { ActivityTargetableEntityType } from '@/activities/types/ActivityTargetableEntity'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; +import { formatFieldMetadataItemAsColumnDefinition } from '@/object-metadata/utils/formatFieldMetadataItemAsColumnDefinition'; import { IconBuildingSkyscraper } from '@/ui/display/icon'; import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons'; import { PageBody } from '@/ui/layout/page/PageBody'; @@ -23,10 +25,8 @@ import { InlineCellHotkeyScope } from '@/ui/object/record-inline-cell/types/Inli import { PageTitle } from '@/ui/utilities/page-title/PageTitle'; import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope'; -import { useFindOneObject } from '../hooks/useFindOneObject'; -import { useFindOneObjectMetadataItem } from '../hooks/useFindOneObjectMetadataItem'; -import { useUpdateOneObject } from '../hooks/useUpdateOneObject'; -import { formatMetadataFieldAsColumnDefinition } from '../utils/formatMetadataFieldAsColumnDefinition'; +import { useFindOneObjectRecord } from '../hooks/useFindOneObjectRecord'; +import { useUpdateOneObjectRecord } from '../hooks/useUpdateOneObjectRecord'; export const RecordShowPage = () => { const { objectNameSingular, objectMetadataId } = useParams<{ @@ -44,7 +44,7 @@ export const RecordShowPage = () => { entityFieldsFamilyState(objectMetadataId ?? ''), ); - const { object } = useFindOneObject({ + const { object } = useFindOneObjectRecord({ objectMetadataId: objectMetadataId, objectNameSingular, onCompleted: (data) => { @@ -53,7 +53,7 @@ export const RecordShowPage = () => { }); const useUpdateOneObjectMutation: () => [(params: any) => any, any] = () => { - const { updateOneObject } = useUpdateOneObject({ + const { updateOneObject } = useUpdateOneObjectRecord({ objectNameSingular, }); @@ -130,7 +130,7 @@ export const RecordShowPage = () => { entityId: object.id, recoilScopeId: object.id + metadataField.id, fieldDefinition: - formatMetadataFieldAsColumnDefinition({ + formatFieldMetadataItemAsColumnDefinition({ field: metadataField, position: index, objectMetadataItem: foundObjectMetadataItem, diff --git a/front/src/modules/metadata/components/RecordTableContainer.tsx b/front/src/modules/object-record/components/RecordTableContainer.tsx similarity index 93% rename from front/src/modules/metadata/components/RecordTableContainer.tsx rename to front/src/modules/object-record/components/RecordTableContainer.tsx index a61a7d27e..374723050 100644 --- a/front/src/modules/metadata/components/RecordTableContainer.tsx +++ b/front/src/modules/object-record/components/RecordTableContainer.tsx @@ -1,6 +1,7 @@ import styled from '@emotion/styled'; import { useRecoilCallback } from 'recoil'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; import { RecordTable } from '@/ui/object/record-table/components/RecordTable'; import { TableOptionsDropdownId } from '@/ui/object/record-table/constants/TableOptionsDropdownId'; import { useRecordTable } from '@/ui/object/record-table/hooks/useRecordTable'; @@ -15,8 +16,7 @@ import { mapViewFieldsToColumnDefinitions } from '@/views/utils/mapViewFieldsToC import { mapViewFiltersToFilters } from '@/views/utils/mapViewFiltersToFilters'; import { mapViewSortsToSorts } from '@/views/utils/mapViewSortsToSorts'; -import { useFindOneObjectMetadataItem } from '../hooks/useFindOneObjectMetadataItem'; -import { useUpdateOneObject } from '../hooks/useUpdateOneObject'; +import { useUpdateOneObjectRecord } from '../hooks/useUpdateOneObjectRecord'; import { RecordTableEffect } from './RecordTableEffect'; @@ -37,7 +37,7 @@ export const RecordTableContainer = ({ objectNamePlural, }); - const { updateOneObject } = useUpdateOneObject({ + const { updateOneObject } = useUpdateOneObjectRecord({ objectNamePlural, objectNameSingular: foundObjectMetadataItem?.nameSingular, }); diff --git a/front/src/modules/metadata/components/RecordTableEffect.tsx b/front/src/modules/object-record/components/RecordTableEffect.tsx similarity index 89% rename from front/src/modules/metadata/components/RecordTableEffect.tsx rename to front/src/modules/object-record/components/RecordTableEffect.tsx index cdc532964..0fc3a6e2e 100644 --- a/front/src/modules/metadata/components/RecordTableEffect.tsx +++ b/front/src/modules/object-record/components/RecordTableEffect.tsx @@ -1,12 +1,10 @@ import { useEffect } from 'react'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; import { useRecordTable } from '@/ui/object/record-table/hooks/useRecordTable'; import { useView } from '@/views/hooks/useView'; import { ViewType } from '@/views/types/ViewType'; -import { useFindOneObjectMetadataItem } from '../hooks/useFindOneObjectMetadataItem'; -import { useTableObjects } from '../hooks/useTableObjects'; - export const RecordTableEffect = () => { const { scopeId: objectNamePlural, setAvailableTableColumns } = useRecordTable(); @@ -28,7 +26,7 @@ export const RecordTableEffect = () => { setViewObjectMetadataId, } = useView(); - useTableObjects(); + useRecordTable(); useEffect(() => { if (!foundObjectMetadataItem) { diff --git a/front/src/modules/metadata/components/RecordTablePage.tsx b/front/src/modules/object-record/components/RecordTablePage.tsx similarity index 82% rename from front/src/modules/metadata/components/RecordTablePage.tsx rename to front/src/modules/object-record/components/RecordTablePage.tsx index 34a0da0a4..cb2122fc3 100644 --- a/front/src/modules/metadata/components/RecordTablePage.tsx +++ b/front/src/modules/object-record/components/RecordTablePage.tsx @@ -2,8 +2,8 @@ import { useEffect } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; import styled from '@emotion/styled'; -import { RecordTableContainer } from '@/metadata/components/RecordTableContainer'; -import { ObjectMetadataItemIdentifier } from '@/metadata/types/ObjectMetadataItemIdentifier'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; +import { ObjectMetadataItemIdentifier } from '@/object-metadata/types/ObjectMetadataItemIdentifier'; import { IconBuildingSkyscraper } from '@/ui/display/icon'; import { PageAddButton } from '@/ui/layout/page/PageAddButton'; import { PageBody } from '@/ui/layout/page/PageBody'; @@ -13,8 +13,9 @@ import { PageHotkeysEffect } from '@/ui/layout/page/PageHotkeysEffect'; import { RecordTableActionBar } from '@/ui/object/record-table/action-bar/components/RecordTableActionBar'; import { RecordTableContextMenu } from '@/ui/object/record-table/context-menu/components/RecordTableContextMenu'; -import { useCreateOneObject } from '../hooks/useCreateOneObject'; -import { useFindOneObjectMetadataItem } from '../hooks/useFindOneObjectMetadataItem'; +import { useCreateOneObjectRecord } from '../hooks/useCreateOneObjectRecord'; + +import { RecordTableContainer } from './RecordTableContainer'; const StyledTableContainer = styled.div` display: flex; @@ -41,7 +42,7 @@ export const RecordTablePage = () => { } }, [objectNotFoundInMetadata, loading, navigate]); - const { createOneObject } = useCreateOneObject({ + const { createOneObject } = useCreateOneObjectRecord({ objectNamePlural, }); diff --git a/front/src/modules/metadata/graphql/optimistic-effect-definition/getRecordOptimisticEffectDefinition.ts b/front/src/modules/object-record/graphql/optimistic-effect-definition/getRecordOptimisticEffectDefinition.ts similarity index 84% rename from front/src/modules/metadata/graphql/optimistic-effect-definition/getRecordOptimisticEffectDefinition.ts rename to front/src/modules/object-record/graphql/optimistic-effect-definition/getRecordOptimisticEffectDefinition.ts index 79f036afb..6d7123361 100644 --- a/front/src/modules/metadata/graphql/optimistic-effect-definition/getRecordOptimisticEffectDefinition.ts +++ b/front/src/modules/object-record/graphql/optimistic-effect-definition/getRecordOptimisticEffectDefinition.ts @@ -1,8 +1,8 @@ import { produce } from 'immer'; import { OptimisticEffectDefinition } from '@/apollo/optimistic-effect/types/OptimisticEffectDefinition'; -import { ObjectMetadataItem } from '@/metadata/types/ObjectMetadataItem'; -import { PaginatedObjectTypeResults } from '@/metadata/types/PaginatedObjectTypeResults'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; +import { PaginatedObjectTypeResults } from '@/object-record/types/PaginatedObjectTypeResults'; import { capitalize } from '~/utils/string/capitalize'; export const getRecordOptimisticEffectDefinition = ({ diff --git a/front/src/modules/metadata/hooks/useCreateOneObject.ts b/front/src/modules/object-record/hooks/useCreateOneObjectRecord.ts similarity index 89% rename from front/src/modules/metadata/hooks/useCreateOneObject.ts rename to front/src/modules/object-record/hooks/useCreateOneObjectRecord.ts index 764fa1e12..976f0c78f 100644 --- a/front/src/modules/metadata/hooks/useCreateOneObject.ts +++ b/front/src/modules/object-record/hooks/useCreateOneObjectRecord.ts @@ -1,13 +1,11 @@ import { useMutation } from '@apollo/client'; import { useOptimisticEffect } from '@/apollo/optimistic-effect/hooks/useOptimisticEffect'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; +import { ObjectMetadataItemIdentifier } from '@/object-metadata/types/ObjectMetadataItemIdentifier'; import { Currency, FieldMetadataType } from '~/generated-metadata/graphql'; import { capitalize } from '~/utils/string/capitalize'; -import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier'; - -import { useFindOneObjectMetadataItem } from './useFindOneObjectMetadataItem'; - const defaultFieldValues: Record = { [FieldMetadataType.Money]: { amount: null, currency: Currency.Usd }, [FieldMetadataType.Boolean]: false, @@ -22,7 +20,7 @@ const defaultFieldValues: Record = { [FieldMetadataType.Uuid]: '', }; -export const useCreateOneObject = ({ +export const useCreateOneObjectRecord = ({ objectNamePlural, }: Pick) => { const { triggerOptimisticEffects } = useOptimisticEffect(); diff --git a/front/src/modules/metadata/hooks/useDeleteOneObject.ts b/front/src/modules/object-record/hooks/useDeleteOneObjectRecord.ts similarity index 78% rename from front/src/modules/metadata/hooks/useDeleteOneObject.ts rename to front/src/modules/object-record/hooks/useDeleteOneObjectRecord.ts index 6f31540c6..fe45e4064 100644 --- a/front/src/modules/metadata/hooks/useDeleteOneObject.ts +++ b/front/src/modules/object-record/hooks/useDeleteOneObjectRecord.ts @@ -1,11 +1,10 @@ import { useMutation } from '@apollo/client'; import { getOperationName } from '@apollo/client/utilities'; -import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; +import { ObjectMetadataItemIdentifier } from '@/object-metadata/types/ObjectMetadataItemIdentifier'; -import { useFindOneObjectMetadataItem } from './useFindOneObjectMetadataItem'; - -export const useDeleteOneObject = ({ +export const useDeleteOneObjectRecord = ({ objectNamePlural, }: Pick) => { const { diff --git a/front/src/modules/metadata/hooks/useFindManyObjects.ts b/front/src/modules/object-record/hooks/useFindManyObjectRecords.ts similarity index 92% rename from front/src/modules/metadata/hooks/useFindManyObjects.ts rename to front/src/modules/object-record/hooks/useFindManyObjectRecords.ts index c13b29e4f..812cc0de0 100644 --- a/front/src/modules/metadata/hooks/useFindManyObjects.ts +++ b/front/src/modules/object-record/hooks/useFindManyObjectRecords.ts @@ -4,6 +4,8 @@ import { isNonEmptyArray } from '@apollo/client/utilities'; import { isNonEmptyString } from '@sniptt/guards'; import { useRecoilState } from 'recoil'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; +import { ObjectMetadataItemIdentifier } from '@/object-metadata/types/ObjectMetadataItemIdentifier'; import { useSnackBar } from '@/ui/feedback/snack-bar/hooks/useSnackBar'; import { logError } from '~/utils/logError'; import { capitalize } from '~/utils/string/capitalize'; @@ -11,7 +13,6 @@ import { capitalize } from '~/utils/string/capitalize'; import { cursorFamilyState } from '../states/cursorFamilyState'; import { hasNextPageFamilyState } from '../states/hasNextPageFamilyState'; import { isFetchingMoreObjectsFamilyState } from '../states/isFetchingMoreObjectsFamilyState'; -import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier'; import { PaginatedObjectType } from '../types/PaginatedObjectType'; import { PaginatedObjectTypeEdge, @@ -19,11 +20,9 @@ import { } from '../types/PaginatedObjectTypeResults'; import { formatPagedObjectsToObjects } from '../utils/formatPagedObjectsToObjects'; -import { useFindOneObjectMetadataItem } from './useFindOneObjectMetadataItem'; - // TODO: test with a wrong name // TODO: add zod to validate that we have at least id on each object -export const useFindManyObjects = < +export const useFindManyObjectRecords = < ObjectType extends { id: string } & Record, >({ objectNamePlural, @@ -76,9 +75,11 @@ export const useFindManyObjects = < } }, onError: (error) => { - logError(`useFindManyObjects for "${objectNamePlural}" error : ` + error); + logError( + `useFindManyObjectRecords for "${objectNamePlural}" error : ` + error, + ); enqueueSnackBar( - `Error during useFindManyObjects for "${objectNamePlural}", ${error.message}`, + `Error during useFindManyObjectRecords for "${objectNamePlural}", ${error.message}`, { variant: 'error', }, diff --git a/front/src/modules/metadata/hooks/useFindOneObject.ts b/front/src/modules/object-record/hooks/useFindOneObjectRecord.ts similarity index 81% rename from front/src/modules/metadata/hooks/useFindOneObject.ts rename to front/src/modules/object-record/hooks/useFindOneObjectRecord.ts index 454d96566..34d31a43d 100644 --- a/front/src/modules/metadata/hooks/useFindOneObject.ts +++ b/front/src/modules/object-record/hooks/useFindOneObjectRecord.ts @@ -1,10 +1,9 @@ import { useQuery } from '@apollo/client'; -import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; +import { ObjectMetadataItemIdentifier } from '@/object-metadata/types/ObjectMetadataItemIdentifier'; -import { useFindOneObjectMetadataItem } from './useFindOneObjectMetadataItem'; - -export const useFindOneObject = < +export const useFindOneObjectRecord = < ObjectType extends { id: string } & Record, >({ objectNameSingular, diff --git a/front/src/modules/metadata/hooks/useTableObjects.ts b/front/src/modules/object-record/hooks/useObjectRecordTable.ts similarity index 89% rename from front/src/modules/metadata/hooks/useTableObjects.ts rename to front/src/modules/object-record/hooks/useObjectRecordTable.ts index 1b0b413a7..5d9b74599 100644 --- a/front/src/modules/metadata/hooks/useTableObjects.ts +++ b/front/src/modules/object-record/hooks/useObjectRecordTable.ts @@ -1,6 +1,7 @@ import { useRecoilValue } from 'recoil'; import { useOptimisticEffect } from '@/apollo/optimistic-effect/hooks/useOptimisticEffect'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; import { turnFiltersIntoWhereClauseV2 } from '@/ui/object/object-filter-dropdown/utils/turnFiltersIntoWhereClauseV2'; import { turnSortsIntoOrderByV2 } from '@/ui/object/object-sort-dropdown/utils/turnSortsIntoOrderByV2'; import { useRecordTableScopedStates } from '@/ui/object/record-table/hooks/internal/useRecordTableScopedStates'; @@ -8,10 +9,9 @@ import { useRecordTable } from '@/ui/object/record-table/hooks/useRecordTable'; import { getRecordOptimisticEffectDefinition } from '../graphql/optimistic-effect-definition/getRecordOptimisticEffectDefinition'; -import { useFindManyObjects } from './useFindManyObjects'; -import { useFindOneObjectMetadataItem } from './useFindOneObjectMetadataItem'; +import { useFindManyObjectRecords } from './useFindManyObjectRecords'; -export const useTableObjects = () => { +export const useObjectRecordTable = () => { const { scopeId: objectNamePlural } = useRecordTable(); const { registerOptimisticEffect } = useOptimisticEffect(); @@ -37,7 +37,7 @@ export const useTableObjects = () => { foundObjectMetadataItem?.fields ?? [], ); - const { objects, loading, fetchMoreObjects } = useFindManyObjects({ + const { objects, loading, fetchMoreObjects } = useFindManyObjectRecords({ objectNamePlural, filter, orderBy, diff --git a/front/src/modules/metadata/hooks/useSetRecordTableData.ts b/front/src/modules/object-record/hooks/useSetRecordTableData.ts similarity index 100% rename from front/src/modules/metadata/hooks/useSetRecordTableData.ts rename to front/src/modules/object-record/hooks/useSetRecordTableData.ts diff --git a/front/src/modules/metadata/hooks/useUpdateOneObject.ts b/front/src/modules/object-record/hooks/useUpdateOneObjectRecord.ts similarity index 78% rename from front/src/modules/metadata/hooks/useUpdateOneObject.ts rename to front/src/modules/object-record/hooks/useUpdateOneObjectRecord.ts index 228edd297..6ff8b8fbb 100644 --- a/front/src/modules/metadata/hooks/useUpdateOneObject.ts +++ b/front/src/modules/object-record/hooks/useUpdateOneObjectRecord.ts @@ -1,10 +1,9 @@ import { useMutation } from '@apollo/client'; -import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; +import { ObjectMetadataItemIdentifier } from '@/object-metadata/types/ObjectMetadataItemIdentifier'; -import { useFindOneObjectMetadataItem } from './useFindOneObjectMetadataItem'; - -export const useUpdateOneObject = ({ +export const useUpdateOneObjectRecord = ({ objectNamePlural, objectNameSingular, }: ObjectMetadataItemIdentifier) => { diff --git a/front/src/modules/metadata/states/cursorFamilyState.ts b/front/src/modules/object-record/states/cursorFamilyState.ts similarity index 100% rename from front/src/modules/metadata/states/cursorFamilyState.ts rename to front/src/modules/object-record/states/cursorFamilyState.ts diff --git a/front/src/modules/metadata/states/hasNextPageFamilyState.ts b/front/src/modules/object-record/states/hasNextPageFamilyState.ts similarity index 100% rename from front/src/modules/metadata/states/hasNextPageFamilyState.ts rename to front/src/modules/object-record/states/hasNextPageFamilyState.ts diff --git a/front/src/modules/metadata/states/isFetchingMoreObjectsFamilyState.ts b/front/src/modules/object-record/states/isFetchingMoreObjectsFamilyState.ts similarity index 100% rename from front/src/modules/metadata/states/isFetchingMoreObjectsFamilyState.ts rename to front/src/modules/object-record/states/isFetchingMoreObjectsFamilyState.ts diff --git a/front/src/modules/metadata/types/PaginatedObjectType.ts b/front/src/modules/object-record/types/PaginatedObjectType.ts similarity index 100% rename from front/src/modules/metadata/types/PaginatedObjectType.ts rename to front/src/modules/object-record/types/PaginatedObjectType.ts diff --git a/front/src/modules/metadata/types/PaginatedObjectTypeResults.ts b/front/src/modules/object-record/types/PaginatedObjectTypeResults.ts similarity index 100% rename from front/src/modules/metadata/types/PaginatedObjectTypeResults.ts rename to front/src/modules/object-record/types/PaginatedObjectTypeResults.ts diff --git a/front/src/modules/metadata/utils/formatPagedObjectsToObjects.ts b/front/src/modules/object-record/utils/formatPagedObjectsToObjects.ts similarity index 100% rename from front/src/modules/metadata/utils/formatPagedObjectsToObjects.ts rename to front/src/modules/object-record/utils/formatPagedObjectsToObjects.ts diff --git a/front/src/modules/metadata/utils/generateCreateOneObjectMutation.ts b/front/src/modules/object-record/utils/generateCreateOneObjectMutation.ts similarity index 76% rename from front/src/modules/metadata/utils/generateCreateOneObjectMutation.ts rename to front/src/modules/object-record/utils/generateCreateOneObjectMutation.ts index 83d5d39e9..da6365555 100644 --- a/front/src/modules/metadata/utils/generateCreateOneObjectMutation.ts +++ b/front/src/modules/object-record/utils/generateCreateOneObjectMutation.ts @@ -1,11 +1,9 @@ import { gql } from '@apollo/client'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; +import { mapFieldMetadataToGraphQLQuery } from '@/object-metadata/utils/mapFieldMetadataToGraphQLQuery'; import { capitalize } from '~/utils/string/capitalize'; -import { ObjectMetadataItem } from '../types/ObjectMetadataItem'; - -import { mapFieldMetadataToGraphQLQuery } from './mapFieldMetadataToGraphQLQuery'; - export const generateCreateOneObjectMutation = ({ objectMetadataItem, }: { diff --git a/front/src/modules/metadata/utils/generateDeleteOneObjectMutation.ts b/front/src/modules/object-record/utils/generateDeleteOneObjectMutation.ts similarity index 85% rename from front/src/modules/metadata/utils/generateDeleteOneObjectMutation.ts rename to front/src/modules/object-record/utils/generateDeleteOneObjectMutation.ts index b10a7a2a6..d17fe6106 100644 --- a/front/src/modules/metadata/utils/generateDeleteOneObjectMutation.ts +++ b/front/src/modules/object-record/utils/generateDeleteOneObjectMutation.ts @@ -1,9 +1,8 @@ import { gql } from '@apollo/client'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { capitalize } from '~/utils/string/capitalize'; -import { ObjectMetadataItem } from '../types/ObjectMetadataItem'; - export const generateDeleteOneObjectMutation = ({ objectMetadataItem, }: { diff --git a/front/src/modules/metadata/utils/generateFindManyCustomObjectsQuery.ts b/front/src/modules/object-record/utils/generateFindManyCustomObjectsQuery.ts similarity index 83% rename from front/src/modules/metadata/utils/generateFindManyCustomObjectsQuery.ts rename to front/src/modules/object-record/utils/generateFindManyCustomObjectsQuery.ts index b704721ae..bd34c8fd3 100644 --- a/front/src/modules/metadata/utils/generateFindManyCustomObjectsQuery.ts +++ b/front/src/modules/object-record/utils/generateFindManyCustomObjectsQuery.ts @@ -1,11 +1,9 @@ import { gql } from '@apollo/client'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; +import { mapFieldMetadataToGraphQLQuery } from '@/object-metadata/utils/mapFieldMetadataToGraphQLQuery'; import { capitalize } from '~/utils/string/capitalize'; -import { ObjectMetadataItem } from '../types/ObjectMetadataItem'; - -import { mapFieldMetadataToGraphQLQuery } from './mapFieldMetadataToGraphQLQuery'; - export const generateFindManyCustomObjectsQuery = ({ objectMetadataItem, }: { diff --git a/front/src/modules/metadata/utils/generateFindOneCustomObjectQuery.ts b/front/src/modules/object-record/utils/generateFindOneCustomObjectQuery.ts similarity index 73% rename from front/src/modules/metadata/utils/generateFindOneCustomObjectQuery.ts rename to front/src/modules/object-record/utils/generateFindOneCustomObjectQuery.ts index c585b11d2..5608f7679 100644 --- a/front/src/modules/metadata/utils/generateFindOneCustomObjectQuery.ts +++ b/front/src/modules/object-record/utils/generateFindOneCustomObjectQuery.ts @@ -1,8 +1,7 @@ import { gql } from '@apollo/client'; -import { ObjectMetadataItem } from '../types/ObjectMetadataItem'; - -import { mapFieldMetadataToGraphQLQuery } from './mapFieldMetadataToGraphQLQuery'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; +import { mapFieldMetadataToGraphQLQuery } from '@/object-metadata/utils/mapFieldMetadataToGraphQLQuery'; export const generateFindOneCustomObjectQuery = ({ objectMetadataItem, diff --git a/front/src/modules/metadata/utils/generateUpdateOneObjectMutation.ts b/front/src/modules/object-record/utils/generateUpdateOneObjectMutation.ts similarity index 84% rename from front/src/modules/metadata/utils/generateUpdateOneObjectMutation.ts rename to front/src/modules/object-record/utils/generateUpdateOneObjectMutation.ts index b7a83aa5e..c7eb6d804 100644 --- a/front/src/modules/metadata/utils/generateUpdateOneObjectMutation.ts +++ b/front/src/modules/object-record/utils/generateUpdateOneObjectMutation.ts @@ -1,11 +1,9 @@ import { gql } from '@apollo/client'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; +import { mapFieldMetadataToGraphQLQuery } from '@/object-metadata/utils/mapFieldMetadataToGraphQLQuery'; import { capitalize } from '~/utils/string/capitalize'; -import { ObjectMetadataItem } from '../types/ObjectMetadataItem'; - -import { mapFieldMetadataToGraphQLQuery } from './mapFieldMetadataToGraphQLQuery'; - export const getUpdateOneObjectMutationGraphQLField = ({ objectNameSingular, }: { diff --git a/front/src/modules/settings/data-model/components/SettingsObjectFieldFormSection.tsx b/front/src/modules/settings/data-model/components/SettingsObjectFieldFormSection.tsx index 246d22a07..f452d06b3 100644 --- a/front/src/modules/settings/data-model/components/SettingsObjectFieldFormSection.tsx +++ b/front/src/modules/settings/data-model/components/SettingsObjectFieldFormSection.tsx @@ -1,6 +1,6 @@ import styled from '@emotion/styled'; -import { validateMetadataLabel } from '@/metadata/utils/validateMetadataLabel'; +import { validateMetadataLabel } from '@/object-metadata/utils/validateMetadataLabel'; import { H2Title } from '@/ui/display/typography/components/H2Title'; import { IconPicker } from '@/ui/input/components/IconPicker'; import { TextArea } from '@/ui/input/components/TextArea'; diff --git a/front/src/modules/settings/data-model/components/SettingsObjectFieldPreview.tsx b/front/src/modules/settings/data-model/components/SettingsObjectFieldPreview.tsx index b53bc1b50..53e53d189 100644 --- a/front/src/modules/settings/data-model/components/SettingsObjectFieldPreview.tsx +++ b/front/src/modules/settings/data-model/components/SettingsObjectFieldPreview.tsx @@ -3,8 +3,8 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { useRecoilState } from 'recoil'; -import { useFindManyObjects } from '@/metadata/hooks/useFindManyObjects'; -import { parseFieldType } from '@/metadata/utils/parseFieldType'; +import { parseFieldType } from '@/object-metadata/utils/parseFieldType'; +import { useFindManyObjectRecords } from '@/object-record/hooks/useFindManyObjectRecords'; import { Tag } from '@/ui/display/tag/components/Tag'; import { useLazyLoadIcon } from '@/ui/input/hooks/useLazyLoadIcon'; import { FieldDisplay } from '@/ui/object/field/components/FieldDisplay'; @@ -87,7 +87,7 @@ export const SettingsObjectFieldPreview = ({ const { Icon: ObjectIcon } = useLazyLoadIcon(objectIconKey ?? ''); const { Icon: FieldIcon } = useLazyLoadIcon(fieldIconKey ?? ''); - const { objects } = useFindManyObjects({ + const { objects } = useFindManyObjectRecords({ objectNamePlural, skip: !fieldName, }); diff --git a/front/src/modules/settings/data-model/components/SettingsObjectFormSection.tsx b/front/src/modules/settings/data-model/components/SettingsObjectFormSection.tsx index 741bac433..362cbef9e 100644 --- a/front/src/modules/settings/data-model/components/SettingsObjectFormSection.tsx +++ b/front/src/modules/settings/data-model/components/SettingsObjectFormSection.tsx @@ -1,6 +1,6 @@ import styled from '@emotion/styled'; -import { validateMetadataLabel } from '@/metadata/utils/validateMetadataLabel'; +import { validateMetadataLabel } from '@/object-metadata/utils/validateMetadataLabel'; import { H2Title } from '@/ui/display/typography/components/H2Title'; import { TextArea } from '@/ui/input/components/TextArea'; import { TextInput } from '@/ui/input/components/TextInput'; diff --git a/front/src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectItemTableRow.tsx b/front/src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectItemTableRow.tsx index 0d131a593..1f568dd10 100644 --- a/front/src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectItemTableRow.tsx +++ b/front/src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectItemTableRow.tsx @@ -1,7 +1,7 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; -import { ObjectMetadataItem } from '@/metadata/types/ObjectMetadataItem'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { Checkbox } from '@/ui/input/components/Checkbox'; import { useLazyLoadIcon } from '@/ui/input/hooks/useLazyLoadIcon'; import { TableCell } from '@/ui/layout/table/components/TableCell'; diff --git a/front/src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectsSection.tsx b/front/src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectsSection.tsx index f72475733..1f2b3aa80 100644 --- a/front/src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectsSection.tsx +++ b/front/src/modules/settings/data-model/new-object/components/SettingsAvailableStandardObjectsSection.tsx @@ -1,4 +1,4 @@ -import { ObjectMetadataItem } from '@/metadata/types/ObjectMetadataItem'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { H2Title } from '@/ui/display/typography/components/H2Title'; import { Section } from '@/ui/layout/section/components/Section'; import { Table } from '@/ui/layout/table/components/Table'; diff --git a/front/src/modules/settings/data-model/object-details/components/SettingsObjectItemTableRow.tsx b/front/src/modules/settings/data-model/object-details/components/SettingsObjectItemTableRow.tsx index 12c4990ae..95510643f 100644 --- a/front/src/modules/settings/data-model/object-details/components/SettingsObjectItemTableRow.tsx +++ b/front/src/modules/settings/data-model/object-details/components/SettingsObjectItemTableRow.tsx @@ -2,8 +2,8 @@ import { ReactNode } from 'react'; import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; -import { useFindManyObjects } from '@/metadata/hooks/useFindManyObjects'; -import { ObjectMetadataItem } from '@/metadata/types/ObjectMetadataItem'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; +import { useFindManyObjectRecords } from '@/object-record/hooks/useFindManyObjectRecords'; import { Tag } from '@/ui/display/tag/components/Tag'; import { useLazyLoadIcon } from '@/ui/input/hooks/useLazyLoadIcon'; import { TableCell } from '@/ui/layout/table/components/TableCell'; @@ -36,7 +36,7 @@ export const SettingsObjectItemTableRow = ({ }: SettingsObjectItemTableRowProps) => { const theme = useTheme(); - const { objects } = useFindManyObjects({ + const { objects } = useFindManyObjectRecords({ objectNamePlural: objectItem.namePlural, }); diff --git a/front/src/modules/ui/object/record-table/components/RecordTableBody.tsx b/front/src/modules/ui/object/record-table/components/RecordTableBody.tsx index 31ccc91ef..b25e679a2 100644 --- a/front/src/modules/ui/object/record-table/components/RecordTableBody.tsx +++ b/front/src/modules/ui/object/record-table/components/RecordTableBody.tsx @@ -2,9 +2,9 @@ import { useEffect } from 'react'; import { useInView } from 'react-intersection-observer'; import { useRecoilState, useRecoilValue } from 'recoil'; -import { useFindOneObjectMetadataItem } from '@/metadata/hooks/useFindOneObjectMetadataItem'; -import { useTableObjects } from '@/metadata/hooks/useTableObjects'; -import { isFetchingMoreObjectsFamilyState } from '@/metadata/states/isFetchingMoreObjectsFamilyState'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; +import { useObjectRecordTable } from '@/object-record/hooks/useObjectRecordTable'; +import { isFetchingMoreObjectsFamilyState } from '@/object-record/states/isFetchingMoreObjectsFamilyState'; import { isDefined } from '~/utils/isDefined'; import { RowIdContext } from '../contexts/RowIdContext'; @@ -34,7 +34,7 @@ export const RecordTableBody = () => { isFetchingRecordTableDataState, ); - const { fetchMoreObjects } = useTableObjects(); + const { fetchMoreObjects } = useObjectRecordTable(); useEffect(() => { if (lastTableRowIsVisible && isDefined(fetchMoreObjects)) { diff --git a/front/src/modules/views/components/ViewBarEffect.tsx b/front/src/modules/views/components/ViewBarEffect.tsx index 8ffd6413c..c0980a72b 100644 --- a/front/src/modules/views/components/ViewBarEffect.tsx +++ b/front/src/modules/views/components/ViewBarEffect.tsx @@ -2,8 +2,8 @@ import { useEffect } from 'react'; import { useSearchParams } from 'react-router-dom'; import { useRecoilCallback, useRecoilValue } from 'recoil'; -import { useFindManyObjects } from '@/metadata/hooks/useFindManyObjects'; -import { PaginatedObjectTypeResults } from '@/metadata/types/PaginatedObjectTypeResults'; +import { useFindManyObjectRecords } from '@/object-record/hooks/useFindManyObjectRecords'; +import { PaginatedObjectTypeResults } from '@/object-record/types/PaginatedObjectTypeResults'; import { getSnapshotValue } from '@/ui/utilities/recoil-scope/utils/getSnapshotValue'; import { assertNotNull } from '~/utils/assert'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; @@ -33,7 +33,7 @@ export const ViewBarEffect = () => { const viewType = useRecoilValue(viewTypeState); const viewObjectMetadataId = useRecoilValue(viewObjectMetadataIdState); - useFindManyObjects({ + useFindManyObjectRecords({ objectNamePlural: 'viewsV2', filter: { type: { eq: viewType }, @@ -64,7 +64,7 @@ export const ViewBarEffect = () => { ), }); - useFindManyObjects({ + useFindManyObjectRecords({ skip: !currentViewId, objectNamePlural: 'viewFieldsV2', filter: { viewId: { eq: currentViewId } }, @@ -105,7 +105,7 @@ export const ViewBarEffect = () => { ), }); - useFindManyObjects({ + useFindManyObjectRecords({ skip: !currentViewId, objectNamePlural: 'viewFiltersV2', filter: { viewId: { eq: currentViewId } }, @@ -159,7 +159,7 @@ export const ViewBarEffect = () => { ), }); - useFindManyObjects({ + useFindManyObjectRecords({ skip: !currentViewId, objectNamePlural: 'viewSortsV2', filter: { viewId: { eq: currentViewId } }, diff --git a/front/src/modules/views/hooks/internal/useViewFields.ts b/front/src/modules/views/hooks/internal/useViewFields.ts index 0f7bb28ee..cc300042d 100644 --- a/front/src/modules/views/hooks/internal/useViewFields.ts +++ b/front/src/modules/views/hooks/internal/useViewFields.ts @@ -1,7 +1,7 @@ import { useApolloClient } from '@apollo/client'; import { useRecoilCallback } from 'recoil'; -import { useFindOneObjectMetadataItem } from '@/metadata/hooks/useFindOneObjectMetadataItem'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; import { ViewField } from '@/views/types/ViewField'; import { getViewScopedStateValuesFromSnapshot } from '@/views/utils/getViewScopedStateValuesFromSnapshot'; diff --git a/front/src/modules/views/hooks/internal/useViewFilters.ts b/front/src/modules/views/hooks/internal/useViewFilters.ts index 8ec7d7620..769a280bf 100644 --- a/front/src/modules/views/hooks/internal/useViewFilters.ts +++ b/front/src/modules/views/hooks/internal/useViewFilters.ts @@ -2,7 +2,7 @@ import { useApolloClient } from '@apollo/client'; import { produce } from 'immer'; import { useRecoilCallback } from 'recoil'; -import { useFindOneObjectMetadataItem } from '@/metadata/hooks/useFindOneObjectMetadataItem'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; import { Filter } from '@/ui/object/object-filter-dropdown/types/Filter'; import { savedViewFiltersScopedFamilyState } from '@/views/states/savedViewFiltersScopedFamilyState'; import { ViewFilter } from '@/views/types/ViewFilter'; diff --git a/front/src/modules/views/hooks/internal/useViewSorts.ts b/front/src/modules/views/hooks/internal/useViewSorts.ts index 9e308f808..1789bbf1a 100644 --- a/front/src/modules/views/hooks/internal/useViewSorts.ts +++ b/front/src/modules/views/hooks/internal/useViewSorts.ts @@ -2,7 +2,7 @@ import { useApolloClient } from '@apollo/client'; import { produce } from 'immer'; import { useRecoilCallback } from 'recoil'; -import { useFindOneObjectMetadataItem } from '@/metadata/hooks/useFindOneObjectMetadataItem'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; import { Sort } from '@/ui/object/object-sort-dropdown/types/Sort'; import { savedViewSortsScopedFamilyState } from '@/views/states/savedViewSortsScopedFamilyState'; import { ViewSort } from '@/views/types/ViewSort'; diff --git a/front/src/modules/views/hooks/internal/useViews.ts b/front/src/modules/views/hooks/internal/useViews.ts index 2019b1f4f..99f5e91b2 100644 --- a/front/src/modules/views/hooks/internal/useViews.ts +++ b/front/src/modules/views/hooks/internal/useViews.ts @@ -1,7 +1,7 @@ import { useApolloClient } from '@apollo/client'; import { useRecoilCallback } from 'recoil'; -import { useFindOneObjectMetadataItem } from '@/metadata/hooks/useFindOneObjectMetadataItem'; +import { useFindOneObjectMetadataItem } from '@/object-metadata/hooks/useFindOneObjectMetadataItem'; import { View } from '@/views/types/View'; import { getViewScopedStateValuesFromSnapshot } from '@/views/utils/getViewScopedStateValuesFromSnapshot'; diff --git a/front/src/pages/settings/data-model/SettingsNewObject.tsx b/front/src/pages/settings/data-model/SettingsNewObject.tsx index 03479888f..7d7b805c0 100644 --- a/front/src/pages/settings/data-model/SettingsNewObject.tsx +++ b/front/src/pages/settings/data-model/SettingsNewObject.tsx @@ -1,9 +1,9 @@ import { useState } from 'react'; import { useNavigate } from 'react-router-dom'; -import { useCreateOneObject } from '@/metadata/hooks/useCreateOneObject'; -import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings'; -import { getObjectSlug } from '@/metadata/utils/getObjectSlug'; +import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings'; +import { getObjectSlug } from '@/object-metadata/utils/getObjectSlug'; +import { useCreateOneObjectRecord } from '@/object-record/hooks/useCreateOneObjectRecord'; import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; @@ -32,7 +32,7 @@ export const SettingsNewObject = () => { disabledObjectMetadataItems: disabledObjects, } = useObjectMetadataItemForSettings(); - const { createOneObject: createOneView } = useCreateOneObject({ + const { createOneObject: createOneView } = useCreateOneObjectRecord({ objectNamePlural: 'viewsV2', }); diff --git a/front/src/pages/settings/data-model/SettingsObjectDetail.tsx b/front/src/pages/settings/data-model/SettingsObjectDetail.tsx index 6f34ae339..c00fc4e55 100644 --- a/front/src/pages/settings/data-model/SettingsObjectDetail.tsx +++ b/front/src/pages/settings/data-model/SettingsObjectDetail.tsx @@ -2,9 +2,9 @@ import { useEffect } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; import styled from '@emotion/styled'; -import { useMetadataField } from '@/metadata/hooks/useMetadataField'; -import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings'; -import { getFieldSlug } from '@/metadata/utils/getFieldSlug'; +import { useFieldMetadataItem } from '@/object-metadata/hooks/useFieldMetadataItem'; +import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings'; +import { getFieldSlug } from '@/object-metadata/utils/getFieldSlug'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; import { SettingsAboutSection } from '@/settings/data-model/object-details/components/SettingsObjectAboutSection'; import { SettingsObjectFieldActiveActionDropdown } from '@/settings/data-model/object-details/components/SettingsObjectFieldActiveActionDropdown'; @@ -49,7 +49,7 @@ export const SettingsObjectDetail = () => { }, [activeObjectMetadataItem, loading, navigate]); const { activateMetadataField, disableMetadataField, eraseMetadataField } = - useMetadataField(); + useFieldMetadataItem(); if (!activeObjectMetadataItem) return null; diff --git a/front/src/pages/settings/data-model/SettingsObjectEdit.tsx b/front/src/pages/settings/data-model/SettingsObjectEdit.tsx index a7e3507f5..4de6bf13a 100644 --- a/front/src/pages/settings/data-model/SettingsObjectEdit.tsx +++ b/front/src/pages/settings/data-model/SettingsObjectEdit.tsx @@ -1,8 +1,8 @@ import { useEffect, useState } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; -import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings'; -import { getObjectSlug } from '@/metadata/utils/getObjectSlug'; +import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings'; +import { getObjectSlug } from '@/object-metadata/utils/getObjectSlug'; import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; diff --git a/front/src/pages/settings/data-model/SettingsObjectFieldEdit.tsx b/front/src/pages/settings/data-model/SettingsObjectFieldEdit.tsx index 615807a46..708b6c1bc 100644 --- a/front/src/pages/settings/data-model/SettingsObjectFieldEdit.tsx +++ b/front/src/pages/settings/data-model/SettingsObjectFieldEdit.tsx @@ -1,9 +1,9 @@ import { useEffect, useState } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; -import { useMetadataField } from '@/metadata/hooks/useMetadataField'; -import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings'; -import { getFieldSlug } from '@/metadata/utils/getFieldSlug'; +import { useFieldMetadataItem } from '@/object-metadata/hooks/useFieldMetadataItem'; +import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings'; +import { getFieldSlug } from '@/object-metadata/utils/getFieldSlug'; import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; @@ -28,7 +28,7 @@ export const SettingsObjectFieldEdit = () => { const activeObjectMetadataItem = findActiveObjectMetadataItemBySlug(objectSlug); - const { disableMetadataField, editMetadataField } = useMetadataField(); + const { disableMetadataField, editMetadataField } = useFieldMetadataItem(); const activeMetadataField = activeObjectMetadataItem?.fields.find( (metadataField) => metadataField.isActive && getFieldSlug(metadataField) === fieldSlug, diff --git a/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep1.tsx b/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep1.tsx index 942f1ba50..b9bf9a7cd 100644 --- a/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep1.tsx +++ b/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep1.tsx @@ -2,8 +2,8 @@ import { useEffect, useState } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; import styled from '@emotion/styled'; -import { useMetadataField } from '@/metadata/hooks/useMetadataField'; -import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings'; +import { useFieldMetadataItem } from '@/object-metadata/hooks/useFieldMetadataItem'; +import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings'; import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; @@ -43,7 +43,8 @@ export const SettingsObjectNewFieldStep1 = () => { const activeObjectMetadataItem = findActiveObjectMetadataItemBySlug(objectSlug); - const { activateMetadataField, disableMetadataField } = useMetadataField(); + const { activateMetadataField, disableMetadataField } = + useFieldMetadataItem(); const [metadataFields, setMetadataFields] = useState( activeObjectMetadataItem?.fields ?? [], ); diff --git a/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx b/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx index ff7d91c27..9ceead8ab 100644 --- a/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx +++ b/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx @@ -1,11 +1,11 @@ import { useEffect, useState } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; -import { useCreateOneObject } from '@/metadata/hooks/useCreateOneObject'; -import { useFindManyObjects } from '@/metadata/hooks/useFindManyObjects'; -import { useMetadataField } from '@/metadata/hooks/useMetadataField'; -import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings'; -import { PaginatedObjectTypeResults } from '@/metadata/types/PaginatedObjectTypeResults'; +import { useFieldMetadataItem } from '@/object-metadata/hooks/useFieldMetadataItem'; +import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings'; +import { useCreateOneObjectRecord } from '@/object-record/hooks/useCreateOneObjectRecord'; +import { useFindManyObjectRecords } from '@/object-record/hooks/useFindManyObjectRecords'; +import { PaginatedObjectTypeResults } from '@/object-record/types/PaginatedObjectTypeResults'; import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; @@ -28,7 +28,7 @@ export const SettingsObjectNewFieldStep2 = () => { const activeObjectMetadataItem = findActiveObjectMetadataItemBySlug(objectSlug); - const { createMetadataField } = useMetadataField(); + const { createMetadataField } = useFieldMetadataItem(); useEffect(() => { if (loading) return; @@ -44,11 +44,11 @@ export const SettingsObjectNewFieldStep2 = () => { const [objectViews, setObjectViews] = useState([]); - const { createOneObject: createOneViewField } = useCreateOneObject({ + const { createOneObject: createOneViewField } = useCreateOneObjectRecord({ objectNamePlural: 'viewFieldsV2', }); - useFindManyObjects({ + useFindManyObjectRecords({ objectNamePlural: 'viewsV2', filter: { type: { eq: ViewType.Table }, diff --git a/front/src/pages/settings/data-model/SettingsObjects.tsx b/front/src/pages/settings/data-model/SettingsObjects.tsx index aa4606244..8388104d0 100644 --- a/front/src/pages/settings/data-model/SettingsObjects.tsx +++ b/front/src/pages/settings/data-model/SettingsObjects.tsx @@ -2,8 +2,8 @@ import { useNavigate } from 'react-router-dom'; import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; -import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings'; -import { getObjectSlug } from '@/metadata/utils/getObjectSlug'; +import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings'; +import { getObjectSlug } from '@/object-metadata/utils/getObjectSlug'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; import { diff --git a/front/src/testing/decorators/RootDecorator.tsx b/front/src/testing/decorators/RootDecorator.tsx index dfcd961e7..123ce27f0 100644 --- a/front/src/testing/decorators/RootDecorator.tsx +++ b/front/src/testing/decorators/RootDecorator.tsx @@ -2,7 +2,7 @@ import { ApolloProvider } from '@apollo/client'; import { Decorator } from '@storybook/react'; import { RecoilRoot } from 'recoil'; -import { ApolloMetadataClientProvider } from '@/metadata/components/ApolloMetadataClientProvider'; +import { ApolloMetadataClientProvider } from '@/object-metadata/components/ApolloMetadataClientProvider'; import { InitializeHotkeyStorybookHookEffect } from '../InitializeHotkeyStorybookHook'; import { mockedClient } from '../mockedClient'; diff --git a/front/src/testing/graphqlMocks.ts b/front/src/testing/graphqlMocks.ts index f1f6d5697..09ddd6cdd 100644 --- a/front/src/testing/graphqlMocks.ts +++ b/front/src/testing/graphqlMocks.ts @@ -7,7 +7,7 @@ import { CREATE_EVENT } from '@/analytics/graphql/queries/createEvent'; import { GET_CLIENT_CONFIG } from '@/client-config/graphql/queries/getClientConfig'; import { INSERT_ONE_COMPANY } from '@/companies/graphql/mutations/insertOneCompany'; import { GET_COMPANIES } from '@/companies/graphql/queries/getCompanies'; -import { FIND_MANY_METADATA_OBJECTS } from '@/metadata/graphql/queries'; +import { FIND_MANY_METADATA_OBJECTS } from '@/object-metadata/graphql/queries'; import { INSERT_ONE_PERSON } from '@/people/graphql/mutations/insertOnePerson'; import { UPDATE_ONE_PERSON } from '@/people/graphql/mutations/updateOnePerson'; import { GET_PEOPLE } from '@/people/graphql/queries/getPeople'; diff --git a/front/src/testing/mock-data/metadata.ts b/front/src/testing/mock-data/metadata.ts index 8db984347..36c1e132b 100644 --- a/front/src/testing/mock-data/metadata.ts +++ b/front/src/testing/mock-data/metadata.ts @@ -21,7 +21,7 @@ export const mockedObjectMetadataItems = { id: '5db475e7-8208-402d-97a1-62c9ce344dd4', type: 'TEXT', name: 'objectMetadataId', - label: 'Object Id', + label: 'Object Metadata Id', description: 'View target object', icon: null, placeholder: null, @@ -128,7 +128,7 @@ export const mockedObjectMetadataItems = { id: '4d77c2dd-2b04-4989-b11e-cb0e386d1b4d', type: 'TEXT', name: 'fieldMetadataId', - label: 'Field Id', + label: 'Field Metadata Id', description: 'View Field target field', icon: null, placeholder: null, diff --git a/server/src/database/typeorm-seeds/metadata/field-metadata.ts b/server/src/database/typeorm-seeds/metadata/field-metadata.ts index 1900f5260..fa6ca97d4 100644 --- a/server/src/database/typeorm-seeds/metadata/field-metadata.ts +++ b/server/src/database/typeorm-seeds/metadata/field-metadata.ts @@ -291,7 +291,7 @@ export const seedFieldMetadata = async ( isActive: true, type: 'TEXT', name: 'fieldMetadataId', - label: 'Field Id', + label: 'Field Metadata Id', targetColumnMap: { value: 'fieldMetadataId', }, diff --git a/server/src/database/typeorm-seeds/metadata/object-metadata.ts b/server/src/database/typeorm-seeds/metadata/object-metadata.ts index 5f96fced6..4766d0e3b 100644 --- a/server/src/database/typeorm-seeds/metadata/object-metadata.ts +++ b/server/src/database/typeorm-seeds/metadata/object-metadata.ts @@ -20,6 +20,7 @@ export const seedObjectMetadata = async ( 'icon', 'dataSourceId', 'workspaceId', + 'isActive', ]) .orIgnore() .values([ @@ -35,6 +36,7 @@ export const seedObjectMetadata = async ( icon: 'IconBuildingSkyscraper', dataSourceId: 'b37b2163-7f63-47a9-b1b3-6c7290ca9fb1', workspaceId: 'twenty-7ed9d212-1c25-4d02-bf25-6aeccf7ea419', + isActive: true, }, // Views { @@ -48,6 +50,7 @@ export const seedObjectMetadata = async ( icon: 'IconLayoutCollage', dataSourceId: 'b37b2163-7f63-47a9-b1b3-6c7290ca9fb1', workspaceId: 'twenty-7ed9d212-1c25-4d02-bf25-6aeccf7ea419', + isActive: true, }, // ViewFields { @@ -61,6 +64,7 @@ export const seedObjectMetadata = async ( icon: 'IconColumns3', dataSourceId: 'b37b2163-7f63-47a9-b1b3-6c7290ca9fb1', workspaceId: 'twenty-7ed9d212-1c25-4d02-bf25-6aeccf7ea419', + isActive: true, }, // ViewFilters { @@ -74,6 +78,7 @@ export const seedObjectMetadata = async ( icon: 'IconFilterBolt', dataSourceId: 'b37b2163-7f63-47a9-b1b3-6c7290ca9fb1', workspaceId: 'twenty-7ed9d212-1c25-4d02-bf25-6aeccf7ea419', + isActive: true, }, // ViewSorts { @@ -87,6 +92,7 @@ export const seedObjectMetadata = async ( icon: 'IconArrowsSort', dataSourceId: 'b37b2163-7f63-47a9-b1b3-6c7290ca9fb1', workspaceId: 'twenty-7ed9d212-1c25-4d02-bf25-6aeccf7ea419', + isActive: true, }, ]) .execute(); diff --git a/server/src/tenant-manager/standard-objects/view-fields/view-fields.metadata.ts b/server/src/tenant-manager/standard-objects/view-fields/view-fields.metadata.ts index fecd270e4..db8407df8 100644 --- a/server/src/tenant-manager/standard-objects/view-fields/view-fields.metadata.ts +++ b/server/src/tenant-manager/standard-objects/view-fields/view-fields.metadata.ts @@ -10,7 +10,7 @@ const viewFieldsMetadata = { { type: 'TEXT', name: 'fieldMetadataId', - label: 'Field Id', + label: 'Field Metadata Id', targetColumnMap: { value: 'fieldMetadataId', }, diff --git a/server/src/tenant/utils/__tests__/deduce-relation-direction.spec.ts b/server/src/tenant/utils/__tests__/deduce-relation-direction.spec.ts index 9c4d57896..fabc1480f 100644 --- a/server/src/tenant/utils/__tests__/deduce-relation-direction.spec.ts +++ b/server/src/tenant/utils/__tests__/deduce-relation-direction.spec.ts @@ -7,7 +7,7 @@ import { } from 'src/tenant/utils/deduce-relation-direction.util'; describe('deduceRelationDirection', () => { - it('should return FROM when the current object ID matches fromObjectMetadataId', () => { + it('should return FROM when the current object Metadata ID matches fromObjectMetadataId', () => { const currentObjectId = 'from_object_id'; const relationMetadata = { id: 'relation_id', @@ -26,7 +26,7 @@ describe('deduceRelationDirection', () => { expect(result).toBe(RelationDirection.FROM); }); - it('should return TO when the current object ID matches toObjectMetadataId', () => { + it('should return TO when the current object Metadata ID matches toObjectMetadataId', () => { // Arrange const currentObjectId = 'to_object_id'; const relationMetadata = { @@ -46,7 +46,7 @@ describe('deduceRelationDirection', () => { expect(result).toBe(RelationDirection.TO); }); - it('should throw an error when the current object ID does not match any object metadata ID', () => { + it('should throw an error when the current object Metadata ID does not match any object metadata ID', () => { const currentObjectId = 'unrelated_object_id'; const relationMetadata = { id: 'relation_id',