2282 Rename components to use the new naming convention part 3 (#2296)

part 3 of the renaming
This commit is contained in:
bosiraphael
2023-10-31 12:38:53 +01:00
committed by GitHub
parent adeaa35e8d
commit a2e84db049
69 changed files with 604 additions and 564 deletions

View File

@ -3,7 +3,7 @@ import { useLocation, useNavigate } from 'react-router-dom';
import { useCurrentUserTaskCount } from '@/activities/tasks/hooks/useCurrentUserDueTaskCount'; import { useCurrentUserTaskCount } from '@/activities/tasks/hooks/useCurrentUserDueTaskCount';
import { useCommandMenu } from '@/command-menu/hooks/useCommandMenu'; import { useCommandMenu } from '@/command-menu/hooks/useCommandMenu';
import { Favorites } from '@/favorites/components/Favorites'; import { Favorites } from '@/favorites/components/Favorites';
import { MetadataObjectNavItems } from '@/metadata/components/MetadataObjectNavItems'; import { ObjectMetadataNavItems } from '@/metadata/components/ObjectMetadataNavItems';
import { SettingsNavbar } from '@/settings/components/SettingsNavbar'; import { SettingsNavbar } from '@/settings/components/SettingsNavbar';
import { import {
IconBell, IconBell,
@ -95,7 +95,7 @@ export const AppNavbar = () => {
Icon={IconTargetArrow} Icon={IconTargetArrow}
active={currentPath === '/opportunities'} active={currentPath === '/opportunities'}
/> />
{isFlexibleBackendEnabled && <MetadataObjectNavItems />} {isFlexibleBackendEnabled && <ObjectMetadataNavItems />}
</MainNavbar> </MainNavbar>
) : ( ) : (
<SettingsNavbar /> <SettingsNavbar />

View File

@ -13,13 +13,13 @@ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/
* Therefore it is highly recommended to use the babel or swc plugin for production. * Therefore it is highly recommended to use the babel or swc plugin for production.
*/ */
const documents = { const documents = {
"\n mutation CreateOneMetadataObject($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.CreateOneMetadataObjectDocument, "\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 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 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 UpdateOneMetadataObject(\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.UpdateOneMetadataObjectDocument, "\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 DeleteOneMetadataObject($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.DeleteOneMetadataObjectDocument, "\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 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 query MetadataObjects {\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.MetadataObjectsDocument, "\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,
}; };
/** /**
@ -39,7 +39,7 @@ export function graphql(source: string): unknown;
/** /**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. * 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 CreateOneMetadataObject($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"): (typeof documents)["\n mutation CreateOneMetadataObject($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"]; export function graphql(source: "\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"): (typeof 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"];
/** /**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/ */
@ -51,11 +51,11 @@ export function graphql(source: "\n mutation UpdateOneMetadataField(\n $idTo
/** /**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. * 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 UpdateOneMetadataObject(\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"): (typeof documents)["\n mutation UpdateOneMetadataObject(\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"]; export function graphql(source: "\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"): (typeof documents)["\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"];
/** /**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. * 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 DeleteOneMetadataObject($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"): (typeof documents)["\n mutation DeleteOneMetadataObject($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"]; export function graphql(source: "\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"): (typeof documents)["\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"];
/** /**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/ */
@ -63,7 +63,7 @@ export function graphql(source: "\n mutation DeleteOneMetadataField($idToDelete
/** /**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/ */
export function graphql(source: "\n query MetadataObjects {\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"): (typeof documents)["\n query MetadataObjects {\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"]; export function graphql(source: "\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"): (typeof documents)["\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"];
export function graphql(source: string) { export function graphql(source: string) {
return (documents as any)[source] ?? {}; return (documents as any)[source] ?? {};

View File

@ -806,12 +806,12 @@ export type ObjectEdge = {
node: Object; node: Object;
}; };
export type CreateOneMetadataObjectMutationVariables = Exact<{ export type CreateOneObjectMetadataItemMutationVariables = Exact<{
input: CreateOneObjectInput; input: CreateOneObjectInput;
}>; }>;
export type CreateOneMetadataObjectMutation = { __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 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 CreateOneMetadataFieldMutationVariables = Exact<{
input: CreateOneFieldInput; input: CreateOneFieldInput;
@ -828,20 +828,20 @@ export type UpdateOneMetadataFieldMutationVariables = Exact<{
export type UpdateOneMetadataFieldMutation = { __typename?: 'Mutation', updateOneField: { __typename?: 'field', id: string, type: string, 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 UpdateOneMetadataFieldMutation = { __typename?: 'Mutation', updateOneField: { __typename?: 'field', id: string, type: string, 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 UpdateOneMetadataObjectMutationVariables = Exact<{ export type UpdateOneObjectMetadataItemMutationVariables = Exact<{
idToUpdate: Scalars['ID']['input']; idToUpdate: Scalars['ID']['input'];
updatePayload: UpdateObjectInput; updatePayload: UpdateObjectInput;
}>; }>;
export type UpdateOneMetadataObjectMutation = { __typename?: 'Mutation', updateOneObject: { __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 UpdateOneObjectMetadataItemMutation = { __typename?: 'Mutation', updateOneObject: { __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 DeleteOneMetadataObjectMutationVariables = Exact<{ export type DeleteOneObjectMetadataItemMutationVariables = Exact<{
idToDelete: Scalars['ID']['input']; idToDelete: Scalars['ID']['input'];
}>; }>;
export type DeleteOneMetadataObjectMutation = { __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 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 DeleteOneMetadataFieldMutationVariables = Exact<{
idToDelete: Scalars['ID']['input']; idToDelete: Scalars['ID']['input'];
@ -850,16 +850,16 @@ export type DeleteOneMetadataFieldMutationVariables = Exact<{
export type DeleteOneMetadataFieldMutation = { __typename?: 'Mutation', deleteOneField: { __typename?: 'FieldDeleteResponse', id?: string | null, type?: string | 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 DeleteOneMetadataFieldMutation = { __typename?: 'Mutation', deleteOneField: { __typename?: 'FieldDeleteResponse', id?: string | null, type?: string | 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 MetadataObjectsQueryVariables = Exact<{ [key: string]: never; }>; export type ObjectMetadataItemsQueryVariables = Exact<{ [key: string]: never; }>;
export type MetadataObjectsQuery = { __typename?: 'Query', objects: { __typename?: 'ObjectConnection', totalCount: number, edges: Array<{ __typename?: 'objectEdge', node: { __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, fields: { __typename?: 'ObjectFieldsConnection', totalCount: number, edges: Array<{ __typename?: 'fieldEdge', node: { __typename?: 'field', id: string, type: string, name: string, label: string, description?: string | null, icon?: string | null, placeholder?: string | null, isCustom: boolean, isActive: boolean, isNullable: boolean, createdAt: any, updatedAt: any } }>, pageInfo: { __typename?: 'PageInfo', hasNextPage?: boolean | null, hasPreviousPage?: boolean | null, startCursor?: any | null, endCursor?: any | null } } } }>, pageInfo: { __typename?: 'PageInfo', hasNextPage?: boolean | null, hasPreviousPage?: boolean | null, startCursor?: any | null, endCursor?: any | null } } }; export type ObjectMetadataItemsQuery = { __typename?: 'Query', objects: { __typename?: 'ObjectConnection', totalCount: number, edges: Array<{ __typename?: 'objectEdge', node: { __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, fields: { __typename?: 'ObjectFieldsConnection', totalCount: number, edges: Array<{ __typename?: 'fieldEdge', node: { __typename?: 'field', id: string, type: string, name: string, label: string, description?: string | null, icon?: string | null, placeholder?: string | null, isCustom: boolean, isActive: boolean, isNullable: boolean, createdAt: any, updatedAt: any } }>, pageInfo: { __typename?: 'PageInfo', hasNextPage?: boolean | null, hasPreviousPage?: boolean | null, startCursor?: any | null, endCursor?: any | null } } } }>, pageInfo: { __typename?: 'PageInfo', hasNextPage?: boolean | null, hasPreviousPage?: boolean | null, startCursor?: any | null, endCursor?: any | null } } };
export const CreateOneMetadataObjectDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateOneMetadataObject"},"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<CreateOneMetadataObjectMutation, CreateOneMetadataObjectMutationVariables>; 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<CreateOneObjectMetadataItemMutation, CreateOneObjectMetadataItemMutationVariables>;
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<CreateOneMetadataFieldMutation, CreateOneMetadataFieldMutationVariables>; 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<CreateOneMetadataFieldMutation, CreateOneMetadataFieldMutationVariables>;
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<UpdateOneMetadataFieldMutation, UpdateOneMetadataFieldMutationVariables>; 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<UpdateOneMetadataFieldMutation, UpdateOneMetadataFieldMutationVariables>;
export const UpdateOneMetadataObjectDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateOneMetadataObject"},"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<UpdateOneMetadataObjectMutation, UpdateOneMetadataObjectMutationVariables>; 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<UpdateOneObjectMetadataItemMutation, UpdateOneObjectMetadataItemMutationVariables>;
export const DeleteOneMetadataObjectDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteOneMetadataObject"},"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<DeleteOneMetadataObjectMutation, DeleteOneMetadataObjectMutationVariables>; 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<DeleteOneObjectMetadataItemMutation, DeleteOneObjectMetadataItemMutationVariables>;
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<DeleteOneMetadataFieldMutation, DeleteOneMetadataFieldMutationVariables>; 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<DeleteOneMetadataFieldMutation, DeleteOneMetadataFieldMutationVariables>;
export const MetadataObjectsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"MetadataObjects"},"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<MetadataObjectsQuery, MetadataObjectsQueryVariables>; 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<ObjectMetadataItemsQuery, ObjectMetadataItemsQueryVariables>;

View File

@ -1,38 +0,0 @@
import { useNavigate } from 'react-router-dom';
import { Icon123 } from '@/ui/input/constants/icons';
import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons';
import NavItem from '@/ui/navigation/navbar/components/NavItem';
import { useFindManyMetadataObjects } from '../hooks/useFindManyMetadataObjects';
export const MetadataObjectNavItems = () => {
const { metadataObjects } = useFindManyMetadataObjects();
const navigate = useNavigate();
const { icons } = useLazyLoadIcons();
return (
<>
{metadataObjects
.filter(
(metadataObject) =>
metadataObject.isActive &&
!metadataObject.namePlural.endsWith('V2'),
)
.map((metadataObject) => {
return (
<NavItem
key={metadataObject.id}
label={metadataObject.labelPlural}
to={`/objects/${metadataObject.namePlural}`}
Icon={metadataObject.icon ? icons[metadataObject.icon] : Icon123}
onClick={() => {
navigate(`/objects/${metadataObject.namePlural}`);
}}
/>
);
})}
</>
);
};

View File

@ -0,0 +1,42 @@
import { useNavigate } from 'react-router-dom';
import { Icon123 } from '@/ui/input/constants/icons';
import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons';
import NavItem from '@/ui/navigation/navbar/components/NavItem';
import { useFindManyObjectMetadataItems } from '../hooks/useFindManyObjectMetadataItems';
export const ObjectMetadataNavItems = () => {
const { objectMetadataItems } = useFindManyObjectMetadataItems();
const navigate = useNavigate();
const { icons } = useLazyLoadIcons();
return (
<>
{objectMetadataItems
.filter(
(objectMetadataItem) =>
objectMetadataItem.isActive &&
!objectMetadataItem.namePlural.endsWith('V2'),
)
.map((objectMetadataItem) => {
return (
<NavItem
key={objectMetadataItem.id}
label={objectMetadataItem.labelPlural}
to={`/objects/${objectMetadataItem.namePlural}`}
Icon={
objectMetadataItem.icon
? icons[objectMetadataItem.icon]
: Icon123
}
onClick={() => {
navigate(`/objects/${objectMetadataItem.namePlural}`);
}}
/>
);
})}
</>
);
};

View File

@ -5,7 +5,7 @@ import { availableTableColumnsScopedState } from '@/ui/object/record-table/state
import { useView } from '@/views/hooks/useView'; import { useView } from '@/views/hooks/useView';
import { ViewType } from '@/views/types/ViewType'; import { ViewType } from '@/views/types/ViewType';
import { useMetadataObjectInContext } from '../hooks/useMetadataObjectInContext'; import { useObjectMetadataItemInContext } from '../hooks/useObjectMetadataItemInContext';
export const ObjectTableEffect = () => { export const ObjectTableEffect = () => {
const { const {
@ -20,20 +20,20 @@ export const ObjectTableEffect = () => {
columnDefinitions, columnDefinitions,
filterDefinitions, filterDefinitions,
sortDefinitions, sortDefinitions,
foundMetadataObject, foundObjectMetadataItem,
} = useMetadataObjectInContext(); } = useObjectMetadataItemInContext();
const tableScopeId = foundMetadataObject?.namePlural ?? ''; const tableScopeId = foundObjectMetadataItem?.namePlural ?? '';
const setAvailableTableColumns = useSetRecoilState( const setAvailableTableColumns = useSetRecoilState(
availableTableColumnsScopedState(tableScopeId), availableTableColumnsScopedState(tableScopeId),
); );
useEffect(() => { useEffect(() => {
if (!foundMetadataObject) { if (!foundObjectMetadataItem) {
return; return;
} }
setViewObjectId?.(foundMetadataObject.id); setViewObjectId?.(foundObjectMetadataItem.id);
setViewType?.(ViewType.Table); setViewType?.(ViewType.Table);
setAvailableSortDefinitions?.(sortDefinitions); setAvailableSortDefinitions?.(sortDefinitions);
@ -49,7 +49,7 @@ export const ObjectTableEffect = () => {
setAvailableSortDefinitions, setAvailableSortDefinitions,
setAvailableFilterDefinitions, setAvailableFilterDefinitions,
setAvailableFieldDefinitions, setAvailableFieldDefinitions,
foundMetadataObject, foundObjectMetadataItem,
sortDefinitions, sortDefinitions,
filterDefinitions, filterDefinitions,
]); ]);

View File

@ -23,8 +23,8 @@ import { InlineCellHotkeyScope } from '@/ui/object/record-inline-cell/types/Inli
import { PageTitle } from '@/ui/utilities/page-title/PageTitle'; import { PageTitle } from '@/ui/utilities/page-title/PageTitle';
import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope'; import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope';
import { useFindOneMetadataObject } from '../hooks/useFindOneMetadataObject';
import { useFindOneObject } from '../hooks/useFindOneObject'; import { useFindOneObject } from '../hooks/useFindOneObject';
import { useFindOneObjectMetadataItem } from '../hooks/useFindOneObjectMetadataItem';
import { useUpdateOneObject } from '../hooks/useUpdateOneObject'; import { useUpdateOneObject } from '../hooks/useUpdateOneObject';
import { formatMetadataFieldAsColumnDefinition } from '../utils/formatMetadataFieldAsColumnDefinition'; import { formatMetadataFieldAsColumnDefinition } from '../utils/formatMetadataFieldAsColumnDefinition';
@ -36,7 +36,7 @@ export const RecordShowPage = () => {
const { icons } = useLazyLoadIcons(); const { icons } = useLazyLoadIcons();
const { foundMetadataObject } = useFindOneMetadataObject({ const { foundObjectMetadataItem } = useFindOneObjectMetadataItem({
objectNameSingular, objectNameSingular,
}); });
@ -115,7 +115,7 @@ export const RecordShowPage = () => {
avatarType="squared" avatarType="squared"
/> />
<PropertyBox extraPadding={true}> <PropertyBox extraPadding={true}>
{foundMetadataObject?.fields {foundObjectMetadataItem?.fields
.toSorted((a, b) => .toSorted((a, b) =>
DateTime.fromISO(a.createdAt) DateTime.fromISO(a.createdAt)
.diff(DateTime.fromISO(b.createdAt)) .diff(DateTime.fromISO(b.createdAt))
@ -132,7 +132,7 @@ export const RecordShowPage = () => {
formatMetadataFieldAsColumnDefinition({ formatMetadataFieldAsColumnDefinition({
field: metadataField, field: metadataField,
position: index, position: index,
metadataObject: foundMetadataObject, objectMetadataItem: foundObjectMetadataItem,
icons, icons,
}), }),
useUpdateEntityMutation: useUpdateOneObjectMutation, useUpdateEntityMutation: useUpdateOneObjectMutation,

View File

@ -17,9 +17,9 @@ import { viewFieldsToColumnDefinitions } from '@/views/utils/viewFieldsToColumnD
import { viewFiltersToFilters } from '@/views/utils/viewFiltersToFilters'; import { viewFiltersToFilters } from '@/views/utils/viewFiltersToFilters';
import { viewSortsToSorts } from '@/views/utils/viewSortsToSorts'; import { viewSortsToSorts } from '@/views/utils/viewSortsToSorts';
import { useMetadataObjectInContext } from '../hooks/useMetadataObjectInContext'; import { useObjectMetadataItemInContext } from '../hooks/useObjectMetadataItemInContext';
import { useUpdateOneObject } from '../hooks/useUpdateOneObject'; import { useUpdateOneObject } from '../hooks/useUpdateOneObject';
import { MetadataObjectIdentifier } from '../types/MetadataObjectIdentifier'; import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier';
import { ObjectTableEffect } from './ObjectTableEffect'; import { ObjectTableEffect } from './ObjectTableEffect';
import { ObjectRecordTableEffect } from './RecordTableEffect'; import { ObjectRecordTableEffect } from './RecordTableEffect';
@ -32,7 +32,7 @@ const StyledContainer = styled.div`
`; `;
export type ObjectTableProps = Pick< export type ObjectTableProps = Pick<
MetadataObjectIdentifier, ObjectMetadataItemIdentifier,
'objectNamePlural' 'objectNamePlural'
>; >;
@ -40,9 +40,9 @@ export const ObjectTable = ({ objectNamePlural }: ObjectTableProps) => {
const { updateOneObject } = useUpdateOneObject({ const { updateOneObject } = useUpdateOneObject({
objectNamePlural, objectNamePlural,
}); });
const { columnDefinitions, foundMetadataObject } = const { columnDefinitions, foundObjectMetadataItem } =
useMetadataObjectInContext(); useObjectMetadataItemInContext();
const tableScopeId = foundMetadataObject?.namePlural ?? ''; const tableScopeId = foundObjectMetadataItem?.namePlural ?? '';
const viewScopeId = objectNamePlural ?? ''; const viewScopeId = objectNamePlural ?? '';
const { persistViewFields } = useViewFields(viewScopeId); const { persistViewFields } = useViewFields(viewScopeId);

View File

@ -9,11 +9,11 @@ import { tableSortsScopedState } from '@/ui/object/record-table/states/tableSort
import { useRecoilScopedValue } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedValue'; import { useRecoilScopedValue } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedValue';
import { useFindManyObjects } from '../hooks/useFindManyObjects'; import { useFindManyObjects } from '../hooks/useFindManyObjects';
import { useMetadataObjectInContext } from '../hooks/useMetadataObjectInContext'; import { useObjectMetadataItemInContext } from '../hooks/useObjectMetadataItemInContext';
import { MetadataObjectIdentifier } from '../types/MetadataObjectIdentifier'; import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier';
export type ObjectRecordTableEffectProps = Pick< export type ObjectRecordTableEffectProps = Pick<
MetadataObjectIdentifier, ObjectMetadataItemIdentifier,
'objectNamePlural' 'objectNamePlural'
>; >;
@ -22,7 +22,7 @@ export const ObjectRecordTableEffect = ({
objectNamePlural, objectNamePlural,
}: ObjectRecordTableEffectProps) => { }: ObjectRecordTableEffectProps) => {
const setRecordTableData = useSetRecordTableData(); const setRecordTableData = useSetRecordTableData();
const { foundMetadataObject } = useMetadataObjectInContext(); const { foundObjectMetadataItem } = useObjectMetadataItemInContext();
const tableFilters = useRecoilScopedValue( const tableFilters = useRecoilScopedValue(
tableFiltersScopedState, tableFiltersScopedState,
@ -38,11 +38,11 @@ export const ObjectRecordTableEffect = ({
objectNamePlural: objectNamePlural, objectNamePlural: objectNamePlural,
filter: turnFiltersIntoWhereClauseV2( filter: turnFiltersIntoWhereClauseV2(
tableFilters, tableFilters,
foundMetadataObject?.fields ?? [], foundObjectMetadataItem?.fields ?? [],
), ),
orderBy: turnSortsIntoOrderByV2( orderBy: turnSortsIntoOrderByV2(
tableSorts, tableSorts,
foundMetadataObject?.fields ?? [], foundObjectMetadataItem?.fields ?? [],
), ),
}); });

View File

@ -3,7 +3,7 @@ import { useNavigate, useParams } from 'react-router-dom';
import styled from '@emotion/styled'; import styled from '@emotion/styled';
import { ObjectTable } from '@/metadata/components/RecordTable'; import { ObjectTable } from '@/metadata/components/RecordTable';
import { MetadataObjectIdentifier } from '@/metadata/types/MetadataObjectIdentifier'; import { ObjectMetadataItemIdentifier } from '@/metadata/types/ObjectMetadataItemIdentifier';
import { IconBuildingSkyscraper } from '@/ui/display/icon'; import { IconBuildingSkyscraper } from '@/ui/display/icon';
import { PageAddButton } from '@/ui/layout/page/PageAddButton'; import { PageAddButton } from '@/ui/layout/page/PageAddButton';
import { PageBody } from '@/ui/layout/page/PageBody'; import { PageBody } from '@/ui/layout/page/PageBody';
@ -16,8 +16,8 @@ import { TableRecoilScopeContext } from '@/ui/object/record-table/states/recoil-
import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope'; import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope';
import { useCreateOneObject } from '../hooks/useCreateOneObject'; import { useCreateOneObject } from '../hooks/useCreateOneObject';
import { useFindOneMetadataObject } from '../hooks/useFindOneMetadataObject'; import { useFindOneObjectMetadataItem } from '../hooks/useFindOneObjectMetadataItem';
import { MetadataObjectScope } from '../scopes/MetadataObjectScope'; import { ObjectMetadataItemScope } from '../scopes/ObjectMetadataItemScope';
const StyledTableContainer = styled.div` const StyledTableContainer = styled.div`
display: flex; display: flex;
@ -25,14 +25,14 @@ const StyledTableContainer = styled.div`
`; `;
export type RecordTablePageProps = Pick< export type RecordTablePageProps = Pick<
MetadataObjectIdentifier, ObjectMetadataItemIdentifier,
'objectNamePlural' 'objectNamePlural'
>; >;
export const RecordTablePage = () => { export const RecordTablePage = () => {
const objectNamePlural = useParams().objectNamePlural ?? ''; const objectNamePlural = useParams().objectNamePlural ?? '';
const { objectNotFoundInMetadata, loading } = useFindOneMetadataObject({ const { objectNotFoundInMetadata, loading } = useFindOneObjectMetadataItem({
objectNamePlural, objectNamePlural,
}); });
@ -64,9 +64,11 @@ export const RecordTablePage = () => {
CustomRecoilScopeContext={TableRecoilScopeContext} CustomRecoilScopeContext={TableRecoilScopeContext}
> >
<StyledTableContainer> <StyledTableContainer>
<MetadataObjectScope metadataObjectNamePlural={objectNamePlural}> <ObjectMetadataItemScope
objectMetadataItemNamePlural={objectNamePlural}
>
<ObjectTable objectNamePlural={objectNamePlural} /> <ObjectTable objectNamePlural={objectNamePlural} />
</MetadataObjectScope> </ObjectMetadataItemScope>
</StyledTableContainer> </StyledTableContainer>
<RecordTableActionBar /> <RecordTableActionBar />
<RecordTableContextMenu /> <RecordTableContextMenu />

View File

@ -1,7 +1,7 @@
import { gql } from '@apollo/client'; import { gql } from '@apollo/client';
export const CREATE_ONE_METADATA_OBJECT = gql` export const CREATE_ONE_METADATA_OBJECT = gql`
mutation CreateOneMetadataObject($input: CreateOneObjectInput!) { mutation CreateOneObjectMetadataItem($input: CreateOneObjectInput!) {
createOneObject(input: $input) { createOneObject(input: $input) {
id id
dataSourceId dataSourceId
@ -61,7 +61,7 @@ export const UPDATE_ONE_METADATA_FIELD = gql`
`; `;
export const UPDATE_ONE_METADATA_OBJECT = gql` export const UPDATE_ONE_METADATA_OBJECT = gql`
mutation UpdateOneMetadataObject( mutation UpdateOneObjectMetadataItem(
$idToUpdate: ID! $idToUpdate: ID!
$updatePayload: UpdateObjectInput! $updatePayload: UpdateObjectInput!
) { ) {
@ -83,7 +83,7 @@ export const UPDATE_ONE_METADATA_OBJECT = gql`
`; `;
export const DELETE_ONE_METADATA_OBJECT = gql` export const DELETE_ONE_METADATA_OBJECT = gql`
mutation DeleteOneMetadataObject($idToDelete: ID!) { mutation DeleteOneObjectMetadataItem($idToDelete: ID!) {
deleteOneObject(input: { id: $idToDelete }) { deleteOneObject(input: { id: $idToDelete }) {
id id
dataSourceId dataSourceId

View File

@ -1,7 +1,7 @@
import { gql } from '@apollo/client'; import { gql } from '@apollo/client';
export const FIND_MANY_METADATA_OBJECTS = gql` export const FIND_MANY_METADATA_OBJECTS = gql`
query MetadataObjects { query ObjectMetadataItems {
objects(paging: { first: 1000 }) { objects(paging: { first: 1000 }) {
edges { edges {
node { node {

View File

@ -1,26 +1,26 @@
import { useMutation } from '@apollo/client'; import { useMutation } from '@apollo/client';
import { getOperationName } from '@apollo/client/utilities'; import { getOperationName } from '@apollo/client/utilities';
import { MetadataObjectIdentifier } from '../types/MetadataObjectIdentifier'; import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier';
import { useFindOneMetadataObject } from './useFindOneMetadataObject'; import { useFindOneObjectMetadataItem } from './useFindOneObjectMetadataItem';
export const useCreateOneObject = ({ export const useCreateOneObject = ({
objectNamePlural, objectNamePlural,
}: Pick<MetadataObjectIdentifier, 'objectNamePlural'>) => { }: Pick<ObjectMetadataItemIdentifier, 'objectNamePlural'>) => {
const { const {
foundMetadataObject, foundObjectMetadataItem,
objectNotFoundInMetadata, objectNotFoundInMetadata,
findManyQuery, findManyQuery,
createOneMutation, createOneMutation,
} = useFindOneMetadataObject({ } = useFindOneObjectMetadataItem({
objectNamePlural, objectNamePlural,
}); });
// TODO: type this with a minimal type at least with Record<string, any> // TODO: type this with a minimal type at least with Record<string, any>
const [mutate] = useMutation(createOneMutation); const [mutate] = useMutation(createOneMutation);
const createOneObject = foundMetadataObject const createOneObject = foundObjectMetadataItem
? (input: Record<string, any>) => { ? (input: Record<string, any>) => {
return mutate({ return mutate({
variables: { variables: {

View File

@ -2,8 +2,8 @@ import { ApolloClient, useMutation } from '@apollo/client';
import { getOperationName } from '@apollo/client/utilities'; import { getOperationName } from '@apollo/client/utilities';
import { import {
CreateOneMetadataObjectMutation, CreateOneObjectMetadataItemMutation,
CreateOneMetadataObjectMutationVariables, CreateOneObjectMetadataItemMutationVariables,
} from '~/generated-metadata/graphql'; } from '~/generated-metadata/graphql';
import { CREATE_ONE_METADATA_OBJECT } from '../graphql/mutations'; import { CREATE_ONE_METADATA_OBJECT } from '../graphql/mutations';
@ -11,18 +11,18 @@ import { FIND_MANY_METADATA_OBJECTS } from '../graphql/queries';
import { useApolloMetadataClient } from './useApolloMetadataClient'; import { useApolloMetadataClient } from './useApolloMetadataClient';
export const useCreateOneMetadataObject = () => { export const useCreateOneObjectMetadataItem = () => {
const apolloMetadataClient = useApolloMetadataClient(); const apolloMetadataClient = useApolloMetadataClient();
const [mutate] = useMutation< const [mutate] = useMutation<
CreateOneMetadataObjectMutation, CreateOneObjectMetadataItemMutation,
CreateOneMetadataObjectMutationVariables CreateOneObjectMetadataItemMutationVariables
>(CREATE_ONE_METADATA_OBJECT, { >(CREATE_ONE_METADATA_OBJECT, {
client: apolloMetadataClient ?? ({} as ApolloClient<any>), client: apolloMetadataClient ?? ({} as ApolloClient<any>),
}); });
const createOneMetadataObject = async ( const createOneObjectMetadataItem = async (
input: CreateOneMetadataObjectMutationVariables['input']['object'], input: CreateOneObjectMetadataItemMutationVariables['input']['object'],
) => { ) => {
return await mutate({ return await mutate({
variables: { variables: {
@ -38,6 +38,6 @@ export const useCreateOneMetadataObject = () => {
}; };
return { return {
createOneMetadataObject, createOneObjectMetadataItem,
}; };
}; };

View File

@ -1,26 +1,26 @@
import { useMutation } from '@apollo/client'; import { useMutation } from '@apollo/client';
import { getOperationName } from '@apollo/client/utilities'; import { getOperationName } from '@apollo/client/utilities';
import { MetadataObjectIdentifier } from '../types/MetadataObjectIdentifier'; import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier';
import { useFindOneMetadataObject } from './useFindOneMetadataObject'; import { useFindOneObjectMetadataItem } from './useFindOneObjectMetadataItem';
export const useDeleteOneObject = ({ export const useDeleteOneObject = ({
objectNamePlural, objectNamePlural,
}: Pick<MetadataObjectIdentifier, 'objectNamePlural'>) => { }: Pick<ObjectMetadataItemIdentifier, 'objectNamePlural'>) => {
const { const {
foundMetadataObject, foundObjectMetadataItem,
objectNotFoundInMetadata, objectNotFoundInMetadata,
findManyQuery, findManyQuery,
deleteOneMutation, deleteOneMutation,
} = useFindOneMetadataObject({ } = useFindOneObjectMetadataItem({
objectNamePlural, objectNamePlural,
}); });
// TODO: type this with a minimal type at least with Record<string, any> // TODO: type this with a minimal type at least with Record<string, any>
const [mutate] = useMutation(deleteOneMutation); const [mutate] = useMutation(deleteOneMutation);
const deleteOneObject = foundMetadataObject const deleteOneObject = foundObjectMetadataItem
? (input: Record<string, any>) => { ? (input: Record<string, any>) => {
return mutate({ return mutate({
variables: { variables: {

View File

@ -2,8 +2,8 @@ import { ApolloClient, useMutation } from '@apollo/client';
import { getOperationName } from '@apollo/client/utilities'; import { getOperationName } from '@apollo/client/utilities';
import { import {
DeleteOneMetadataObjectMutation, DeleteOneObjectMetadataItemMutation,
DeleteOneMetadataObjectMutationVariables, DeleteOneObjectMetadataItemMutationVariables,
} from '~/generated-metadata/graphql'; } from '~/generated-metadata/graphql';
import { DELETE_ONE_METADATA_OBJECT } from '../graphql/mutations'; import { DELETE_ONE_METADATA_OBJECT } from '../graphql/mutations';
@ -11,18 +11,18 @@ import { FIND_MANY_METADATA_OBJECTS } from '../graphql/queries';
import { useApolloMetadataClient } from './useApolloMetadataClient'; import { useApolloMetadataClient } from './useApolloMetadataClient';
export const useDeleteOneMetadataObject = () => { export const useDeleteOneObjectMetadataItem = () => {
const apolloMetadataClient = useApolloMetadataClient(); const apolloMetadataClient = useApolloMetadataClient();
const [mutate] = useMutation< const [mutate] = useMutation<
DeleteOneMetadataObjectMutation, DeleteOneObjectMetadataItemMutation,
DeleteOneMetadataObjectMutationVariables DeleteOneObjectMetadataItemMutationVariables
>(DELETE_ONE_METADATA_OBJECT, { >(DELETE_ONE_METADATA_OBJECT, {
client: apolloMetadataClient ?? ({} as ApolloClient<any>), client: apolloMetadataClient ?? ({} as ApolloClient<any>),
}); });
const deleteOneMetadataObject = async ( const deleteOneObjectMetadataItem = async (
idToDelete: DeleteOneMetadataObjectMutationVariables['idToDelete'], idToDelete: DeleteOneObjectMetadataItemMutationVariables['idToDelete'],
) => { ) => {
return await mutate({ return await mutate({
variables: { variables: {
@ -34,6 +34,6 @@ export const useDeleteOneMetadataObject = () => {
}; };
return { return {
deleteOneMetadataObject, deleteOneObjectMetadataItem,
}; };
}; };

View File

@ -2,12 +2,12 @@ import { useMemo } from 'react';
import { useQuery } from '@apollo/client'; import { useQuery } from '@apollo/client';
import { import {
MetadataObjectsQuery, ObjectMetadataItemsQuery,
MetadataObjectsQueryVariables, ObjectMetadataItemsQueryVariables,
} from '~/generated-metadata/graphql'; } from '~/generated-metadata/graphql';
import { FIND_MANY_METADATA_OBJECTS } from '../graphql/queries'; import { FIND_MANY_METADATA_OBJECTS } from '../graphql/queries';
import { formatPagedMetadataObjectsToMetadataObjects } from '../utils/formatPagedMetadataObjectsToMetadataObjects'; import { formatPagedObjectMetadataItemsToObjectMetadataItems } from '../utils/formatPagedObjectMetadataItemsToObjectMetadataItems';
import { useApolloMetadataClient } from './useApolloMetadataClient'; import { useApolloMetadataClient } from './useApolloMetadataClient';
@ -16,8 +16,8 @@ export const useFindAllMetadata = () => {
const apolloMetadataClient = useApolloMetadataClient(); const apolloMetadataClient = useApolloMetadataClient();
const { data, fetchMore: fetchMoreInternal } = useQuery< const { data, fetchMore: fetchMoreInternal } = useQuery<
MetadataObjectsQuery, ObjectMetadataItemsQuery,
MetadataObjectsQueryVariables ObjectMetadataItemsQueryVariables
>(FIND_MANY_METADATA_OBJECTS, { >(FIND_MANY_METADATA_OBJECTS, {
client: apolloMetadataClient ?? ({} as any), client: apolloMetadataClient ?? ({} as any),
skip: !apolloMetadataClient, skip: !apolloMetadataClient,
@ -32,14 +32,14 @@ export const useFindAllMetadata = () => {
}, },
}); });
const metadataObjects = useMemo(() => { const objectMetadataItems = useMemo(() => {
return formatPagedMetadataObjectsToMetadataObjects({ return formatPagedObjectMetadataItemsToObjectMetadataItems({
pagedMetadataObjects: data, pagedObjectMetadataItems: data,
}); });
}, [data]); }, [data]);
return { return {
metadataObjects, objectMetadataItems,
hasMore, hasMore,
fetchMore, fetchMore,
}; };

View File

@ -3,18 +3,18 @@ import { useQuery } from '@apollo/client';
import { useSnackBar } from '@/ui/feedback/snack-bar/hooks/useSnackBar'; import { useSnackBar } from '@/ui/feedback/snack-bar/hooks/useSnackBar';
import { import {
MetadataObjectsQuery, ObjectMetadataItemsQuery,
MetadataObjectsQueryVariables, ObjectMetadataItemsQueryVariables,
} from '~/generated-metadata/graphql'; } from '~/generated-metadata/graphql';
import { logError } from '~/utils/logError'; import { logError } from '~/utils/logError';
import { FIND_MANY_METADATA_OBJECTS } from '../graphql/queries'; import { FIND_MANY_METADATA_OBJECTS } from '../graphql/queries';
import { formatPagedMetadataObjectsToMetadataObjects } from '../utils/formatPagedMetadataObjectsToMetadataObjects'; import { formatPagedObjectMetadataItemsToObjectMetadataItems } from '../utils/formatPagedObjectMetadataItemsToObjectMetadataItems';
import { useApolloMetadataClient } from './useApolloMetadataClient'; import { useApolloMetadataClient } from './useApolloMetadataClient';
// TODO: test fetchMore // TODO: test fetchMore
export const useFindManyMetadataObjects = () => { export const useFindManyObjectMetadataItems = () => {
const apolloMetadataClient = useApolloMetadataClient(); const apolloMetadataClient = useApolloMetadataClient();
const { enqueueSnackBar } = useSnackBar(); const { enqueueSnackBar } = useSnackBar();
@ -24,15 +24,15 @@ export const useFindManyMetadataObjects = () => {
fetchMore: fetchMoreInternal, fetchMore: fetchMoreInternal,
loading, loading,
error, error,
} = useQuery<MetadataObjectsQuery, MetadataObjectsQueryVariables>( } = useQuery<ObjectMetadataItemsQuery, ObjectMetadataItemsQueryVariables>(
FIND_MANY_METADATA_OBJECTS, FIND_MANY_METADATA_OBJECTS,
{ {
client: apolloMetadataClient ?? undefined, client: apolloMetadataClient ?? undefined,
skip: !apolloMetadataClient, skip: !apolloMetadataClient,
onError: (error) => { onError: (error) => {
logError('useFindManyMetadataObjects error : ' + error); logError('useFindManyObjectMetadataItems error : ' + error);
enqueueSnackBar( enqueueSnackBar(
`Error during useFindManyMetadataObjects, ${error.message}`, `Error during useFindManyObjectMetadataItems, ${error.message}`,
{ {
variant: 'error', variant: 'error',
}, },
@ -51,14 +51,14 @@ export const useFindManyMetadataObjects = () => {
}, },
}); });
const metadataObjects = useMemo(() => { const objectMetadataItems = useMemo(() => {
return formatPagedMetadataObjectsToMetadataObjects({ return formatPagedObjectMetadataItemsToObjectMetadataItems({
pagedMetadataObjects: data, pagedObjectMetadataItems: data,
}); });
}, [data]); }, [data]);
return { return {
metadataObjects, objectMetadataItems,
hasMore, hasMore,
fetchMore, fetchMore,
loading, loading,

View File

@ -4,11 +4,11 @@ import { useQuery } from '@apollo/client';
import { useSnackBar } from '@/ui/feedback/snack-bar/hooks/useSnackBar'; import { useSnackBar } from '@/ui/feedback/snack-bar/hooks/useSnackBar';
import { logError } from '~/utils/logError'; import { logError } from '~/utils/logError';
import { MetadataObjectIdentifier } from '../types/MetadataObjectIdentifier'; import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier';
import { PaginatedObjectType } from '../types/PaginatedObjectType'; import { PaginatedObjectType } from '../types/PaginatedObjectType';
import { formatPagedObjectsToObjects } from '../utils/formatPagedObjectsToObjects'; import { formatPagedObjectsToObjects } from '../utils/formatPagedObjectsToObjects';
import { useFindOneMetadataObject } from './useFindOneMetadataObject'; import { useFindOneObjectMetadataItem } from './useFindOneObjectMetadataItem';
// TODO: test with a wrong name // TODO: test with a wrong name
// TODO: add zod to validate that we have at least id on each object // TODO: add zod to validate that we have at least id on each object
@ -19,13 +19,13 @@ export const useFindManyObjects = <
filter, filter,
orderBy, orderBy,
onCompleted, onCompleted,
}: Pick<MetadataObjectIdentifier, 'objectNamePlural'> & { }: Pick<ObjectMetadataItemIdentifier, 'objectNamePlural'> & {
filter?: any; filter?: any;
orderBy?: any; orderBy?: any;
onCompleted?: (data: any) => void; onCompleted?: (data: any) => void;
}) => { }) => {
const { foundMetadataObject, objectNotFoundInMetadata, findManyQuery } = const { foundObjectMetadataItem, objectNotFoundInMetadata, findManyQuery } =
useFindOneMetadataObject({ useFindOneObjectMetadataItem({
objectNamePlural, objectNamePlural,
}); });
@ -34,7 +34,7 @@ export const useFindManyObjects = <
const { data, loading, error } = useQuery<PaginatedObjectType<ObjectType>>( const { data, loading, error } = useQuery<PaginatedObjectType<ObjectType>>(
findManyQuery, findManyQuery,
{ {
skip: !foundMetadataObject, skip: !foundObjectMetadataItem,
variables: { variables: {
filter: filter ?? {}, filter: filter ?? {},
orderBy: orderBy ?? {}, orderBy: orderBy ?? {},

View File

@ -1,8 +1,8 @@
import { useQuery } from '@apollo/client'; import { useQuery } from '@apollo/client';
import { MetadataObjectIdentifier } from '../types/MetadataObjectIdentifier'; import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier';
import { useFindOneMetadataObject } from './useFindOneMetadataObject'; import { useFindOneObjectMetadataItem } from './useFindOneObjectMetadataItem';
export const useFindOneObject = < export const useFindOneObject = <
ObjectType extends { id: string } & Record<string, any>, ObjectType extends { id: string } & Record<string, any>,
@ -10,12 +10,12 @@ export const useFindOneObject = <
objectNameSingular, objectNameSingular,
objectId, objectId,
onCompleted, onCompleted,
}: Pick<MetadataObjectIdentifier, 'objectNameSingular'> & { }: Pick<ObjectMetadataItemIdentifier, 'objectNameSingular'> & {
objectId: string | undefined; objectId: string | undefined;
onCompleted?: (data: ObjectType) => void; onCompleted?: (data: ObjectType) => void;
}) => { }) => {
const { foundMetadataObject, objectNotFoundInMetadata, findOneQuery } = const { foundObjectMetadataItem, objectNotFoundInMetadata, findOneQuery } =
useFindOneMetadataObject({ useFindOneObjectMetadataItem({
objectNameSingular, objectNameSingular,
}); });
@ -23,7 +23,7 @@ export const useFindOneObject = <
{ [nameSingular: string]: ObjectType }, { [nameSingular: string]: ObjectType },
{ objectId: string } { objectId: string }
>(findOneQuery, { >(findOneQuery, {
skip: !foundMetadataObject || !objectId, skip: !foundObjectMetadataItem || !objectId,
variables: { variables: {
objectId: objectId ?? '', objectId: objectId ?? '',
}, },

View File

@ -6,7 +6,7 @@ import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/Filte
import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition'; import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition';
import { ColumnDefinition } from '@/ui/object/record-table/types/ColumnDefinition'; import { ColumnDefinition } from '@/ui/object/record-table/types/ColumnDefinition';
import { MetadataObjectIdentifier } from '../types/MetadataObjectIdentifier'; import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier';
import { formatMetadataFieldAsColumnDefinition } from '../utils/formatMetadataFieldAsColumnDefinition'; import { formatMetadataFieldAsColumnDefinition } from '../utils/formatMetadataFieldAsColumnDefinition';
import { formatMetadataFieldAsFilterDefinition } from '../utils/formatMetadataFieldAsFilterDefinition'; import { formatMetadataFieldAsFilterDefinition } from '../utils/formatMetadataFieldAsFilterDefinition';
import { formatMetadataFieldAsSortDefinition } from '../utils/formatMetadataFieldAsSortDefinition'; import { formatMetadataFieldAsSortDefinition } from '../utils/formatMetadataFieldAsSortDefinition';
@ -16,15 +16,15 @@ import { generateFindManyCustomObjectsQuery } from '../utils/generateFindManyCus
import { generateFindOneCustomObjectQuery } from '../utils/generateFindOneCustomObjectQuery'; import { generateFindOneCustomObjectQuery } from '../utils/generateFindOneCustomObjectQuery';
import { generateUpdateOneObjectMutation } from '../utils/generateUpdateOneObjectMutation'; import { generateUpdateOneObjectMutation } from '../utils/generateUpdateOneObjectMutation';
import { useFindManyMetadataObjects } from './useFindManyMetadataObjects'; import { useFindManyObjectMetadataItems } from './useFindManyObjectMetadataItems';
export const useFindOneMetadataObject = ({ export const useFindOneObjectMetadataItem = ({
objectNamePlural, objectNamePlural,
objectNameSingular, objectNameSingular,
}: MetadataObjectIdentifier) => { }: ObjectMetadataItemIdentifier) => {
const { metadataObjects, loading } = useFindManyMetadataObjects(); const { objectMetadataItems, loading } = useFindManyObjectMetadataItems();
const foundMetadataObject = metadataObjects.find( const foundObjectMetadataItem = objectMetadataItems.find(
(object) => (object) =>
object.namePlural === objectNamePlural || object.namePlural === objectNamePlural ||
object.nameSingular === objectNameSingular, object.nameSingular === objectNameSingular,
@ -33,21 +33,21 @@ export const useFindOneMetadataObject = ({
const { icons } = useLazyLoadIcons(); const { icons } = useLazyLoadIcons();
const objectNotFoundInMetadata = const objectNotFoundInMetadata =
metadataObjects.length === 0 || objectMetadataItems.length === 0 ||
(metadataObjects.length > 0 && !foundMetadataObject); (objectMetadataItems.length > 0 && !foundObjectMetadataItem);
const columnDefinitions: ColumnDefinition<FieldMetadata>[] = const columnDefinitions: ColumnDefinition<FieldMetadata>[] =
foundMetadataObject?.fields.map((field, index) => foundObjectMetadataItem?.fields.map((field, index) =>
formatMetadataFieldAsColumnDefinition({ formatMetadataFieldAsColumnDefinition({
position: index, position: index,
field, field,
metadataObject: foundMetadataObject, objectMetadataItem: foundObjectMetadataItem,
icons, icons,
}), }),
) ?? []; ) ?? [];
const filterDefinitions: FilterDefinition[] = const filterDefinitions: FilterDefinition[] =
foundMetadataObject?.fields.map((field) => foundObjectMetadataItem?.fields.map((field) =>
formatMetadataFieldAsFilterDefinition({ formatMetadataFieldAsFilterDefinition({
field, field,
icons, icons,
@ -55,16 +55,16 @@ export const useFindOneMetadataObject = ({
) ?? []; ) ?? [];
const sortDefinitions: SortDefinition[] = const sortDefinitions: SortDefinition[] =
foundMetadataObject?.fields.map((field) => foundObjectMetadataItem?.fields.map((field) =>
formatMetadataFieldAsSortDefinition({ formatMetadataFieldAsSortDefinition({
field, field,
icons, icons,
}), }),
) ?? []; ) ?? [];
const findManyQuery = foundMetadataObject const findManyQuery = foundObjectMetadataItem
? generateFindManyCustomObjectsQuery({ ? generateFindManyCustomObjectsQuery({
metadataObject: foundMetadataObject, objectMetadataItem: foundObjectMetadataItem,
}) })
: gql` : gql`
query EmptyQuery { query EmptyQuery {
@ -72,9 +72,9 @@ export const useFindOneMetadataObject = ({
} }
`; `;
const findOneQuery = foundMetadataObject const findOneQuery = foundObjectMetadataItem
? generateFindOneCustomObjectQuery({ ? generateFindOneCustomObjectQuery({
metadataObject: foundMetadataObject, objectMetadataItem: foundObjectMetadataItem,
}) })
: gql` : gql`
query EmptyQuery { query EmptyQuery {
@ -82,9 +82,9 @@ export const useFindOneMetadataObject = ({
} }
`; `;
const createOneMutation = foundMetadataObject const createOneMutation = foundObjectMetadataItem
? generateCreateOneObjectMutation({ ? generateCreateOneObjectMutation({
metadataObject: foundMetadataObject, objectMetadataItem: foundObjectMetadataItem,
}) })
: gql` : gql`
mutation EmptyMutation { mutation EmptyMutation {
@ -92,9 +92,9 @@ export const useFindOneMetadataObject = ({
} }
`; `;
const updateOneMutation = foundMetadataObject const updateOneMutation = foundObjectMetadataItem
? generateUpdateOneObjectMutation({ ? generateUpdateOneObjectMutation({
metadataObject: foundMetadataObject, objectMetadataItem: foundObjectMetadataItem,
}) })
: gql` : gql`
mutation EmptyMutation { mutation EmptyMutation {
@ -103,9 +103,9 @@ export const useFindOneMetadataObject = ({
`; `;
// TODO: implement backend delete // TODO: implement backend delete
const deleteOneMutation = foundMetadataObject const deleteOneMutation = foundObjectMetadataItem
? generateDeleteOneObjectMutation({ ? generateDeleteOneObjectMutation({
metadataObject: foundMetadataObject, objectMetadataItem: foundObjectMetadataItem,
}) })
: gql` : gql`
mutation EmptyMutation { mutation EmptyMutation {
@ -114,7 +114,7 @@ export const useFindOneMetadataObject = ({
`; `;
return { return {
foundMetadataObject, foundObjectMetadataItem,
objectNotFoundInMetadata, objectNotFoundInMetadata,
columnDefinitions, columnDefinitions,
filterDefinitions, filterDefinitions,

View File

@ -1,18 +0,0 @@
import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId';
import { MetadataObjectScopeInternalContext } from '../scopes/scope-internal-context/MetadataObjectScopeInternalContext';
type UseMetadataObjectProps = {
metadataObjectNamePlural?: string;
};
export const useMetadataObject = (props?: UseMetadataObjectProps) => {
const scopeId = useAvailableScopeIdOrThrow(
MetadataObjectScopeInternalContext,
props?.metadataObjectNamePlural,
);
return {
scopeId,
};
};

View File

@ -1,73 +0,0 @@
import { MetadataObject } from '../types/MetadataObject';
import { formatMetadataObjectInput } from '../utils/formatMetadataObjectInput';
import { getObjectSlug } from '../utils/getObjectSlug';
import { useCreateOneMetadataObject } from './useCreateOneMetadataObject';
import { useDeleteOneMetadataObject } from './useDeleteOneMetadataObject';
import { useFindManyMetadataObjects } from './useFindManyMetadataObjects';
import { useUpdateOneMetadataObject } from './useUpdateOneMetadataObject';
export const useMetadataObjectForSettings = () => {
const { metadataObjects, loading } = useFindManyMetadataObjects();
const activeMetadataObjects = metadataObjects.filter(
({ isActive }) => isActive,
);
const disabledMetadataObjects = metadataObjects.filter(
({ isActive }) => !isActive,
);
const findActiveMetadataObjectBySlug = (slug: string) =>
activeMetadataObjects.find(
(activeMetadataObject) => getObjectSlug(activeMetadataObject) === slug,
);
const { createOneMetadataObject } = useCreateOneMetadataObject();
const { updateOneMetadataObject } = useUpdateOneMetadataObject();
const { deleteOneMetadataObject } = useDeleteOneMetadataObject();
const createMetadataObject = (
input: Pick<
MetadataObject,
'labelPlural' | 'labelSingular' | 'icon' | 'description'
>,
) => createOneMetadataObject(formatMetadataObjectInput(input));
const editMetadataObject = (
input: Pick<
MetadataObject,
'id' | 'labelPlural' | 'labelSingular' | 'icon' | 'description'
>,
) =>
updateOneMetadataObject({
idToUpdate: input.id,
updatePayload: formatMetadataObjectInput(input),
});
const activateMetadataObject = (metadataObject: Pick<MetadataObject, 'id'>) =>
updateOneMetadataObject({
idToUpdate: metadataObject.id,
updatePayload: { isActive: true },
});
const disableMetadataObject = (metadataObject: Pick<MetadataObject, 'id'>) =>
updateOneMetadataObject({
idToUpdate: metadataObject.id,
updatePayload: { isActive: false },
});
const eraseMetadataObject = (metadataObject: Pick<MetadataObject, 'id'>) =>
deleteOneMetadataObject(metadataObject.id);
return {
activateMetadataObject,
activeMetadataObjects,
createMetadataObject,
disabledMetadataObjects,
disableMetadataObject,
editMetadataObject,
eraseMetadataObject,
findActiveMetadataObjectBySlug,
loading,
};
};

View File

@ -1,34 +0,0 @@
import { useContext } from 'react';
import { MetadataObjectScopeInternalContext } from '../scopes/scope-internal-context/MetadataObjectScopeInternalContext';
import { useFindOneMetadataObject } from './useFindOneMetadataObject';
export const useMetadataObjectInContext = () => {
const context = useContext(MetadataObjectScopeInternalContext);
if (!context) {
throw new Error(
'Could not find MetadataObjectScopeInternalContext while in useMetadataObjectInContext',
);
}
const {
foundMetadataObject,
loading,
columnDefinitions,
filterDefinitions,
sortDefinitions,
} = useFindOneMetadataObject({
objectNamePlural: context.objectNamePlural,
});
return {
...context,
foundMetadataObject,
loading,
columnDefinitions,
filterDefinitions,
sortDefinitions,
};
};

View File

@ -0,0 +1,18 @@
import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId';
import { ObjectMetadataItemScopeInternalContext } from '../scopes/scope-internal-context/ObjectMetadataItemScopeInternalContext';
type UseObjectMetadataItemProps = {
objectMetadataItemNamePlural?: string;
};
export const useObjectMetadataItem = (props?: UseObjectMetadataItemProps) => {
const scopeId = useAvailableScopeIdOrThrow(
ObjectMetadataItemScopeInternalContext,
props?.objectMetadataItemNamePlural,
);
return {
scopeId,
};
};

View File

@ -0,0 +1,79 @@
import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
import { formatObjectMetadataItemInput } from '../utils/formatObjectMetadataItemInput';
import { getObjectSlug } from '../utils/getObjectSlug';
import { useCreateOneObjectMetadataItem } from './useCreateOneObjectMetadataItem';
import { useDeleteOneObjectMetadataItem } from './useDeleteOneObjectMetadataItem';
import { useFindManyObjectMetadataItems } from './useFindManyObjectMetadataItems';
import { useUpdateOneObjectMetadataItem } from './useUpdateOneObjectMetadataItem';
export const useObjectMetadataItemForSettings = () => {
const { objectMetadataItems, loading } = useFindManyObjectMetadataItems();
const activeObjectMetadataItems = objectMetadataItems.filter(
({ isActive }) => isActive,
);
const disabledObjectMetadataItems = objectMetadataItems.filter(
({ isActive }) => !isActive,
);
const findActiveObjectMetadataItemBySlug = (slug: string) =>
activeObjectMetadataItems.find(
(activeObjectMetadataItem) =>
getObjectSlug(activeObjectMetadataItem) === slug,
);
const { createOneObjectMetadataItem } = useCreateOneObjectMetadataItem();
const { updateOneObjectMetadataItem } = useUpdateOneObjectMetadataItem();
const { deleteOneObjectMetadataItem } = useDeleteOneObjectMetadataItem();
const createObjectMetadataItem = (
input: Pick<
ObjectMetadataItem,
'labelPlural' | 'labelSingular' | 'icon' | 'description'
>,
) => createOneObjectMetadataItem(formatObjectMetadataItemInput(input));
const editObjectMetadataItem = (
input: Pick<
ObjectMetadataItem,
'id' | 'labelPlural' | 'labelSingular' | 'icon' | 'description'
>,
) =>
updateOneObjectMetadataItem({
idToUpdate: input.id,
updatePayload: formatObjectMetadataItemInput(input),
});
const activateObjectMetadataItem = (
objectMetadataItem: Pick<ObjectMetadataItem, 'id'>,
) =>
updateOneObjectMetadataItem({
idToUpdate: objectMetadataItem.id,
updatePayload: { isActive: true },
});
const disableObjectMetadataItem = (
objectMetadataItem: Pick<ObjectMetadataItem, 'id'>,
) =>
updateOneObjectMetadataItem({
idToUpdate: objectMetadataItem.id,
updatePayload: { isActive: false },
});
const eraseObjectMetadataItem = (
objectMetadataItem: Pick<ObjectMetadataItem, 'id'>,
) => deleteOneObjectMetadataItem(objectMetadataItem.id);
return {
activateObjectMetadataItem,
activeObjectMetadataItems,
createObjectMetadataItem,
disabledObjectMetadataItems,
disableObjectMetadataItem,
editObjectMetadataItem,
eraseObjectMetadataItem,
findActiveObjectMetadataItemBySlug,
loading,
};
};

View File

@ -0,0 +1,34 @@
import { useContext } from 'react';
import { ObjectMetadataItemScopeInternalContext } from '../scopes/scope-internal-context/ObjectMetadataItemScopeInternalContext';
import { useFindOneObjectMetadataItem } from './useFindOneObjectMetadataItem';
export const useObjectMetadataItemInContext = () => {
const context = useContext(ObjectMetadataItemScopeInternalContext);
if (!context) {
throw new Error(
'Could not find ObjectMetadataItemScopeInternalContext while in useObjectMetadataItemInContext',
);
}
const {
foundObjectMetadataItem,
loading,
columnDefinitions,
filterDefinitions,
sortDefinitions,
} = useFindOneObjectMetadataItem({
objectNamePlural: context.objectNamePlural,
});
return {
...context,
foundObjectMetadataItem,
loading,
columnDefinitions,
filterDefinitions,
sortDefinitions,
};
};

View File

@ -1,15 +1,15 @@
import { isNonEmptyArray } from '~/utils/isNonEmptyArray'; import { isNonEmptyArray } from '~/utils/isNonEmptyArray';
import { useCreateOneMetadataField } from './useCreateOneMetadataField'; import { useCreateOneMetadataField } from './useCreateOneMetadataField';
import { useCreateOneMetadataObject } from './useCreateOneMetadataObject'; import { useCreateOneObjectMetadataItem } from './useCreateOneObjectMetadataItem';
export const useSeedCustomObjectsTemp = () => { export const useSeedCustomObjectsTemp = () => {
const { createOneMetadataObject } = useCreateOneMetadataObject(); const { createOneObjectMetadataItem } = useCreateOneObjectMetadataItem();
const { createOneMetadataField } = useCreateOneMetadataField(); const { createOneMetadataField } = useCreateOneMetadataField();
return async () => { return async () => {
const { data: createdMetadataObject, errors } = const { data: createdObjectMetadataItem, errors } =
await createOneMetadataObject({ await createOneObjectMetadataItem({
labelPlural: 'Suppliers', labelPlural: 'Suppliers',
labelSingular: 'Supplier', labelSingular: 'Supplier',
nameSingular: 'supplier', nameSingular: 'supplier',
@ -19,7 +19,8 @@ export const useSeedCustomObjectsTemp = () => {
}); });
if (!isNonEmptyArray(errors)) { if (!isNonEmptyArray(errors)) {
const supplierObjectId = createdMetadataObject?.createOneObject?.id ?? ''; const supplierObjectId =
createdObjectMetadataItem?.createOneObject?.id ?? '';
await createOneMetadataField({ await createOneMetadataField({
objectId: supplierObjectId, objectId: supplierObjectId,

View File

@ -1,20 +1,20 @@
import { useMutation } from '@apollo/client'; import { useMutation } from '@apollo/client';
import { getOperationName } from '@apollo/client/utilities'; import { getOperationName } from '@apollo/client/utilities';
import { MetadataObjectIdentifier } from '../types/MetadataObjectIdentifier'; import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier';
import { useFindOneMetadataObject } from './useFindOneMetadataObject'; import { useFindOneObjectMetadataItem } from './useFindOneObjectMetadataItem';
export const useUpdateOneObject = ({ export const useUpdateOneObject = ({
objectNamePlural, objectNamePlural,
objectNameSingular, objectNameSingular,
}: MetadataObjectIdentifier) => { }: ObjectMetadataItemIdentifier) => {
const { const {
foundMetadataObject, foundObjectMetadataItem,
objectNotFoundInMetadata, objectNotFoundInMetadata,
findManyQuery, findManyQuery,
updateOneMutation, updateOneMutation,
} = useFindOneMetadataObject({ } = useFindOneObjectMetadataItem({
objectNamePlural, objectNamePlural,
objectNameSingular, objectNameSingular,
}); });
@ -24,7 +24,7 @@ export const useUpdateOneObject = ({
refetchQueries: [getOperationName(findManyQuery) ?? ''], refetchQueries: [getOperationName(findManyQuery) ?? ''],
}); });
const updateOneObject = foundMetadataObject const updateOneObject = foundObjectMetadataItem
? ({ ? ({
idToUpdate, idToUpdate,
input, input,

View File

@ -2,8 +2,8 @@ import { useMutation } from '@apollo/client';
import { getOperationName } from '@apollo/client/utilities'; import { getOperationName } from '@apollo/client/utilities';
import { import {
UpdateOneMetadataObjectMutation, UpdateOneObjectMetadataItemMutation,
UpdateOneMetadataObjectMutationVariables, UpdateOneObjectMetadataItemMutationVariables,
} from '~/generated-metadata/graphql'; } from '~/generated-metadata/graphql';
import { UPDATE_ONE_METADATA_OBJECT } from '../graphql/mutations'; import { UPDATE_ONE_METADATA_OBJECT } from '../graphql/mutations';
@ -12,23 +12,23 @@ import { FIND_MANY_METADATA_OBJECTS } from '../graphql/queries';
import { useApolloMetadataClient } from './useApolloMetadataClient'; import { useApolloMetadataClient } from './useApolloMetadataClient';
// TODO: Slice the Apollo store synchronously in the update function instead of subscribing, so we can use update after read in the same function call // TODO: Slice the Apollo store synchronously in the update function instead of subscribing, so we can use update after read in the same function call
export const useUpdateOneMetadataObject = () => { export const useUpdateOneObjectMetadataItem = () => {
const apolloClientMetadata = useApolloMetadataClient(); const apolloClientMetadata = useApolloMetadataClient();
const [mutate] = useMutation< const [mutate] = useMutation<
UpdateOneMetadataObjectMutation, UpdateOneObjectMetadataItemMutation,
UpdateOneMetadataObjectMutationVariables UpdateOneObjectMetadataItemMutationVariables
>(UPDATE_ONE_METADATA_OBJECT, { >(UPDATE_ONE_METADATA_OBJECT, {
client: apolloClientMetadata ?? undefined, client: apolloClientMetadata ?? undefined,
}); });
const updateOneMetadataObject = async ({ const updateOneObjectMetadataItem = async ({
idToUpdate, idToUpdate,
updatePayload, updatePayload,
}: { }: {
idToUpdate: UpdateOneMetadataObjectMutationVariables['idToUpdate']; idToUpdate: UpdateOneObjectMetadataItemMutationVariables['idToUpdate'];
updatePayload: Pick< updatePayload: Pick<
UpdateOneMetadataObjectMutationVariables['updatePayload'], UpdateOneObjectMetadataItemMutationVariables['updatePayload'],
| 'description' | 'description'
| 'icon' | 'icon'
| 'isActive' | 'isActive'
@ -49,6 +49,6 @@ export const useUpdateOneMetadataObject = () => {
}; };
return { return {
updateOneMetadataObject, updateOneObjectMetadataItem,
}; };
}; };

View File

@ -1,24 +0,0 @@
import { ReactNode } from 'react';
import { MetadataObjectScopeInternalContext } from './scope-internal-context/MetadataObjectScopeInternalContext';
type MetadataObjectScopeProps = {
children: ReactNode;
metadataObjectNamePlural: string;
};
export const MetadataObjectScope = ({
children,
metadataObjectNamePlural,
}: MetadataObjectScopeProps) => {
return (
<MetadataObjectScopeInternalContext.Provider
value={{
scopeId: metadataObjectNamePlural,
objectNamePlural: metadataObjectNamePlural,
}}
>
{children}
</MetadataObjectScopeInternalContext.Provider>
);
};

View File

@ -0,0 +1,24 @@
import { ReactNode } from 'react';
import { ObjectMetadataItemScopeInternalContext } from './scope-internal-context/ObjectMetadataItemScopeInternalContext';
type ObjectMetadataItemScopeProps = {
children: ReactNode;
objectMetadataItemNamePlural: string;
};
export const ObjectMetadataItemScope = ({
children,
objectMetadataItemNamePlural,
}: ObjectMetadataItemScopeProps) => {
return (
<ObjectMetadataItemScopeInternalContext.Provider
value={{
scopeId: objectMetadataItemNamePlural,
objectNamePlural: objectMetadataItemNamePlural,
}}
>
{children}
</ObjectMetadataItemScopeInternalContext.Provider>
);
};

View File

@ -1,9 +1,9 @@
import { ScopedStateKey } from '@/ui/utilities/recoil-scope/scopes-internal/types/ScopedStateKey'; import { ScopedStateKey } from '@/ui/utilities/recoil-scope/scopes-internal/types/ScopedStateKey';
import { createScopeInternalContext } from '@/ui/utilities/recoil-scope/scopes-internal/utils/createScopeInternalContext'; import { createScopeInternalContext } from '@/ui/utilities/recoil-scope/scopes-internal/utils/createScopeInternalContext';
type MetadataObjectScopeInternalContextProps = ScopedStateKey & { type ObjectMetadataItemScopeInternalContextProps = ScopedStateKey & {
objectNamePlural: string; objectNamePlural: string;
}; };
export const MetadataObjectScopeInternalContext = export const ObjectMetadataItemScopeInternalContext =
createScopeInternalContext<MetadataObjectScopeInternalContextProps>(); createScopeInternalContext<ObjectMetadataItemScopeInternalContextProps>();

View File

@ -1,11 +0,0 @@
import { atom } from 'recoil';
import { MetadataObject } from '../types/MetadataObject';
/**
* @deprecated Use `useFindManyMetadataObjects` instead.
*/
export const metadataObjectsState = atom<MetadataObject[]>({
key: 'metadataObjectsState',
default: [],
});

View File

@ -0,0 +1,11 @@
import { atom } from 'recoil';
import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
/**
* @deprecated Use `useFindManyObjectMetadataItems` instead.
*/
export const objectMetadataItemsState = atom<ObjectMetadataItem[]>({
key: 'objectMetadataItemsState',
default: [],
});

View File

@ -1,10 +0,0 @@
import { selector } from 'recoil';
import { MetadataObject } from '../../types/MetadataObject';
import { metadataObjectsState } from '../metadataObjectsState';
export const activeMetadataObjectsSelector = selector<MetadataObject[]>({
key: 'activeMetadataObjectsSelector',
get: ({ get }) =>
get(metadataObjectsState).filter(({ isActive }) => isActive),
});

View File

@ -0,0 +1,12 @@
import { selector } from 'recoil';
import { ObjectMetadataItem } from '../../types/ObjectMetadataItem';
import { objectMetadataItemsState } from '../objectMetadataItemsState';
export const activeObjectMetadataItemsSelector = selector<ObjectMetadataItem[]>(
{
key: 'activeObjectMetadataItemsSelector',
get: ({ get }) =>
get(objectMetadataItemsState).filter(({ isActive }) => isActive),
},
);

View File

@ -1,10 +0,0 @@
import { selector } from 'recoil';
import { MetadataObject } from '../../types/MetadataObject';
import { metadataObjectsState } from '../metadataObjectsState';
export const disabledMetadataObjectsSelector = selector<MetadataObject[]>({
key: 'disabledMetadataObjectsSelector',
get: ({ get }) =>
get(metadataObjectsState).filter(({ isActive }) => !isActive),
});

View File

@ -0,0 +1,12 @@
import { selector } from 'recoil';
import { ObjectMetadataItem } from '../../types/ObjectMetadataItem';
import { objectMetadataItemsState } from '../objectMetadataItemsState';
export const disabledObjectMetadataItemsSelector = selector<
ObjectMetadataItem[]
>({
key: 'disabledObjectMetadataItemsSelector',
get: ({ get }) =>
get(objectMetadataItemsState).filter(({ isActive }) => !isActive),
});

View File

@ -1,6 +1,6 @@
import { Field, Object as GeneratedObject } from '~/generated-metadata/graphql'; import { Field, Object as GeneratedObject } from '~/generated-metadata/graphql';
export type MetadataObject = Omit< export type ObjectMetadataItem = Omit<
GeneratedObject, GeneratedObject,
'fields' | 'dataSourceId' 'fields' | 'dataSourceId'
> & { > & {

View File

@ -1,4 +1,4 @@
export type MetadataObjectIdentifier = { export type ObjectMetadataItemIdentifier = {
objectNamePlural?: string; objectNamePlural?: string;
objectNameSingular?: string; objectNameSingular?: string;
}; };

View File

@ -1,19 +1,19 @@
import { FieldMetadata } from '@/ui/object/field/types/FieldMetadata'; import { FieldMetadata } from '@/ui/object/field/types/FieldMetadata';
import { ColumnDefinition } from '@/ui/object/record-table/types/ColumnDefinition'; import { ColumnDefinition } from '@/ui/object/record-table/types/ColumnDefinition';
import { MetadataObject } from '../types/MetadataObject'; import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
import { parseFieldType } from './parseFieldType'; import { parseFieldType } from './parseFieldType';
export const formatMetadataFieldAsColumnDefinition = ({ export const formatMetadataFieldAsColumnDefinition = ({
position, position,
field, field,
metadataObject, objectMetadataItem,
icons, icons,
}: { }: {
position: number; position: number;
field: MetadataObject['fields'][0]; field: ObjectMetadataItem['fields'][0];
metadataObject: Omit<MetadataObject, 'fields'>; objectMetadataItem: Omit<ObjectMetadataItem, 'fields'>;
icons: Record<string, any>; icons: Record<string, any>;
}): ColumnDefinition<FieldMetadata> => ({ }): ColumnDefinition<FieldMetadata> => ({
position, position,
@ -27,5 +27,5 @@ export const formatMetadataFieldAsColumnDefinition = ({
}, },
Icon: icons[field.icon ?? 'Icon123'], Icon: icons[field.icon ?? 'Icon123'],
isVisible: true, isVisible: true,
basePathToShowPage: `/object/${metadataObject.nameSingular}/`, basePathToShowPage: `/object/${objectMetadataItem.nameSingular}/`,
}); });

View File

@ -1,12 +1,12 @@
import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/FilterDefinition'; import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/FilterDefinition';
import { MetadataObject } from '../types/MetadataObject'; import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
export const formatMetadataFieldAsFilterDefinition = ({ export const formatMetadataFieldAsFilterDefinition = ({
field, field,
icons, icons,
}: { }: {
field: MetadataObject['fields'][0]; field: ObjectMetadataItem['fields'][0];
icons: Record<string, any>; icons: Record<string, any>;
}): FilterDefinition => ({ }): FilterDefinition => ({
fieldId: field.id, fieldId: field.id,

View File

@ -1,12 +1,12 @@
import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition'; import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition';
import { MetadataObject } from '../types/MetadataObject'; import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
export const formatMetadataFieldAsSortDefinition = ({ export const formatMetadataFieldAsSortDefinition = ({
field, field,
icons, icons,
}: { }: {
field: MetadataObject['fields'][0]; field: ObjectMetadataItem['fields'][0];
icons: Record<string, any>; icons: Record<string, any>;
}): SortDefinition => ({ }): SortDefinition => ({
fieldId: field.id, fieldId: field.id,

View File

@ -1,10 +1,10 @@
import toCamelCase from 'lodash.camelcase'; import toCamelCase from 'lodash.camelcase';
import { MetadataObject } from '../types/MetadataObject'; import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
export const formatMetadataObjectInput = ( export const formatObjectMetadataItemInput = (
input: Pick< input: Pick<
MetadataObject, ObjectMetadataItem,
'labelPlural' | 'labelSingular' | 'icon' | 'description' 'labelPlural' | 'labelSingular' | 'icon' | 'description'
>, >,
) => ({ ) => ({

View File

@ -1,17 +0,0 @@
import { MetadataObjectsQuery } from '~/generated-metadata/graphql';
import { MetadataObject } from '../types/MetadataObject';
export const formatPagedMetadataObjectsToMetadataObjects = ({
pagedMetadataObjects: pagedMetadataObjects,
}: {
pagedMetadataObjects: MetadataObjectsQuery | undefined;
}) => {
const formattedObjects: MetadataObject[] =
pagedMetadataObjects?.objects.edges.map((object) => ({
...object.node,
fields: object.node.fields.edges.map((field) => field.node),
})) ?? [];
return formattedObjects;
};

View File

@ -0,0 +1,17 @@
import { ObjectMetadataItemsQuery } from '~/generated-metadata/graphql';
import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
export const formatPagedObjectMetadataItemsToObjectMetadataItems = ({
pagedObjectMetadataItems: pagedObjectMetadataItems,
}: {
pagedObjectMetadataItems: ObjectMetadataItemsQuery | undefined;
}) => {
const formattedObjects: ObjectMetadataItem[] =
pagedObjectMetadataItems?.objects.edges.map((object) => ({
...object.node,
fields: object.node.fields.edges.map((field) => field.node),
})) ?? [];
return formattedObjects;
};

View File

@ -2,14 +2,14 @@ import { gql } from '@apollo/client';
import { capitalize } from '~/utils/string/capitalize'; import { capitalize } from '~/utils/string/capitalize';
import { MetadataObject } from '../types/MetadataObject'; import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
export const generateCreateOneObjectMutation = ({ export const generateCreateOneObjectMutation = ({
metadataObject, objectMetadataItem,
}: { }: {
metadataObject: MetadataObject; objectMetadataItem: ObjectMetadataItem;
}) => { }) => {
const capitalizedObjectName = capitalize(metadataObject.nameSingular); const capitalizedObjectName = capitalize(objectMetadataItem.nameSingular);
return gql` return gql`
mutation CreateOne${capitalizedObjectName}($input: ${capitalizedObjectName}CreateInput!) { mutation CreateOne${capitalizedObjectName}($input: ${capitalizedObjectName}CreateInput!) {

View File

@ -2,15 +2,15 @@ import { gql } from '@apollo/client';
import { capitalize } from '~/utils/string/capitalize'; import { capitalize } from '~/utils/string/capitalize';
import { MetadataObject } from '../types/MetadataObject'; import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
// TODO: implement // TODO: implement
export const generateDeleteOneObjectMutation = ({ export const generateDeleteOneObjectMutation = ({
metadataObject, objectMetadataItem,
}: { }: {
metadataObject: MetadataObject; objectMetadataItem: ObjectMetadataItem;
}) => { }) => {
const capitalizedObjectName = capitalize(metadataObject.nameSingular); const capitalizedObjectName = capitalize(objectMetadataItem.nameSingular);
return gql` return gql`
mutation DeleteOne${capitalizedObjectName}($input: ${capitalizedObjectName}DeleteInput!) { mutation DeleteOne${capitalizedObjectName}($input: ${capitalizedObjectName}DeleteInput!) {

View File

@ -2,26 +2,28 @@ import { gql } from '@apollo/client';
import { capitalize } from '~/utils/string/capitalize'; import { capitalize } from '~/utils/string/capitalize';
import { MetadataObject } from '../types/MetadataObject'; import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
import { mapFieldMetadataToGraphQLQuery } from './mapFieldMetadataToGraphQLQuery'; import { mapFieldMetadataToGraphQLQuery } from './mapFieldMetadataToGraphQLQuery';
export const generateFindManyCustomObjectsQuery = ({ export const generateFindManyCustomObjectsQuery = ({
metadataObject, objectMetadataItem,
_fromCursor, _fromCursor,
}: { }: {
metadataObject: MetadataObject; objectMetadataItem: ObjectMetadataItem;
_fromCursor?: string; _fromCursor?: string;
}) => { }) => {
return gql` return gql`
query FindMany${metadataObject.namePlural}($filter: ${capitalize( query FindMany${objectMetadataItem.namePlural}($filter: ${capitalize(
metadataObject.nameSingular, objectMetadataItem.nameSingular,
)}FilterInput, $orderBy: ${capitalize(metadataObject.nameSingular)}OrderBy) { )}FilterInput, $orderBy: ${capitalize(
${metadataObject.namePlural}(filter: $filter, orderBy: $orderBy){ objectMetadataItem.nameSingular,
)}OrderBy) {
${objectMetadataItem.namePlural}(filter: $filter, orderBy: $orderBy){
edges { edges {
node { node {
id id
${metadataObject.fields ${objectMetadataItem.fields
.map(mapFieldMetadataToGraphQLQuery) .map(mapFieldMetadataToGraphQLQuery)
.join('\n')} .join('\n')}
} }

View File

@ -1,23 +1,25 @@
import { gql } from '@apollo/client'; import { gql } from '@apollo/client';
import { MetadataObject } from '../types/MetadataObject'; import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
import { mapFieldMetadataToGraphQLQuery } from './mapFieldMetadataToGraphQLQuery'; import { mapFieldMetadataToGraphQLQuery } from './mapFieldMetadataToGraphQLQuery';
export const generateFindOneCustomObjectQuery = ({ export const generateFindOneCustomObjectQuery = ({
metadataObject, objectMetadataItem,
}: { }: {
metadataObject: MetadataObject; objectMetadataItem: ObjectMetadataItem;
}) => { }) => {
return gql` return gql`
query FindOne${metadataObject.nameSingular}($objectId: UUID!) { query FindOne${objectMetadataItem.nameSingular}($objectId: UUID!) {
${metadataObject.nameSingular}(filter: { ${objectMetadataItem.nameSingular}(filter: {
id: { id: {
eq: $objectId eq: $objectId
} }
}){ }){
id id
${metadataObject.fields.map(mapFieldMetadataToGraphQLQuery).join('\n')} ${objectMetadataItem.fields
.map(mapFieldMetadataToGraphQLQuery)
.join('\n')}
} }
} }
`; `;

View File

@ -2,14 +2,14 @@ import { gql } from '@apollo/client';
import { capitalize } from '~/utils/string/capitalize'; import { capitalize } from '~/utils/string/capitalize';
import { MetadataObject } from '../types/MetadataObject'; import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
export const generateUpdateOneObjectMutation = ({ export const generateUpdateOneObjectMutation = ({
metadataObject, objectMetadataItem,
}: { }: {
metadataObject: MetadataObject; objectMetadataItem: ObjectMetadataItem;
}) => { }) => {
const capitalizedObjectName = capitalize(metadataObject.nameSingular); const capitalizedObjectName = capitalize(objectMetadataItem.nameSingular);
return gql` return gql`
mutation UpdateOne${capitalizedObjectName}($idToUpdate: ID!, $input: ${capitalizedObjectName}UpdateInput!) { mutation UpdateOne${capitalizedObjectName}($idToUpdate: ID!, $input: ${capitalizedObjectName}UpdateInput!) {

View File

@ -1,7 +1,7 @@
import toKebabCase from 'lodash.kebabcase'; import toKebabCase from 'lodash.kebabcase';
import { MetadataObject } from '../types/MetadataObject'; import { ObjectMetadataItem } from '../types/ObjectMetadataItem';
export const getObjectSlug = ( export const getObjectSlug = (
metadataObject: Pick<MetadataObject, 'labelPlural'>, objectMetadataItem: Pick<ObjectMetadataItem, 'labelPlural'>,
) => toKebabCase(metadataObject.labelPlural); ) => toKebabCase(objectMetadataItem.labelPlural);

View File

@ -1,7 +1,7 @@
import { useTheme } from '@emotion/react'; import { useTheme } from '@emotion/react';
import styled from '@emotion/styled'; import styled from '@emotion/styled';
import { MetadataObject } from '@/metadata/types/MetadataObject'; import { ObjectMetadataItem } from '@/metadata/types/ObjectMetadataItem';
import { Checkbox } from '@/ui/input/components/Checkbox'; import { Checkbox } from '@/ui/input/components/Checkbox';
import { useLazyLoadIcon } from '@/ui/input/hooks/useLazyLoadIcon'; import { useLazyLoadIcon } from '@/ui/input/hooks/useLazyLoadIcon';
import { TableCell } from '@/ui/layout/table/components/TableCell'; import { TableCell } from '@/ui/layout/table/components/TableCell';
@ -9,7 +9,7 @@ import { TableRow } from '@/ui/layout/table/components/TableRow';
type SettingsAvailableStandardObjectItemTableRowProps = { type SettingsAvailableStandardObjectItemTableRowProps = {
isSelected?: boolean; isSelected?: boolean;
objectItem: MetadataObject; objectItem: ObjectMetadataItem;
onClick?: () => void; onClick?: () => void;
}; };

View File

@ -1,4 +1,4 @@
import { MetadataObject } from '@/metadata/types/MetadataObject'; import { ObjectMetadataItem } from '@/metadata/types/ObjectMetadataItem';
import { H2Title } from '@/ui/display/typography/components/H2Title'; import { H2Title } from '@/ui/display/typography/components/H2Title';
import { Section } from '@/ui/layout/section/components/Section'; import { Section } from '@/ui/layout/section/components/Section';
import { Table } from '@/ui/layout/table/components/Table'; import { Table } from '@/ui/layout/table/components/Table';
@ -11,7 +11,7 @@ import {
} from './SettingsAvailableStandardObjectItemTableRow'; } from './SettingsAvailableStandardObjectItemTableRow';
type SettingsAvailableStandardObjectsSectionProps = { type SettingsAvailableStandardObjectsSectionProps = {
objectItems: MetadataObject[]; objectItems: ObjectMetadataItem[];
onChange: (selectedIds: Record<string, boolean>) => void; onChange: (selectedIds: Record<string, boolean>) => void;
selectedIds: Record<string, boolean>; selectedIds: Record<string, boolean>;
}; };

View File

@ -3,7 +3,7 @@ import { useTheme } from '@emotion/react';
import styled from '@emotion/styled'; import styled from '@emotion/styled';
import { useFindManyObjects } from '@/metadata/hooks/useFindManyObjects'; import { useFindManyObjects } from '@/metadata/hooks/useFindManyObjects';
import { MetadataObject } from '@/metadata/types/MetadataObject'; import { ObjectMetadataItem } from '@/metadata/types/ObjectMetadataItem';
import { Tag } from '@/ui/display/tag/components/Tag'; import { Tag } from '@/ui/display/tag/components/Tag';
import { useLazyLoadIcon } from '@/ui/input/hooks/useLazyLoadIcon'; import { useLazyLoadIcon } from '@/ui/input/hooks/useLazyLoadIcon';
import { TableCell } from '@/ui/layout/table/components/TableCell'; import { TableCell } from '@/ui/layout/table/components/TableCell';
@ -11,7 +11,7 @@ import { TableRow } from '@/ui/layout/table/components/TableRow';
type SettingsObjectItemTableRowProps = { type SettingsObjectItemTableRowProps = {
action: ReactNode; action: ReactNode;
objectItem: MetadataObject; objectItem: ObjectMetadataItem;
onClick?: () => void; onClick?: () => void;
}; };

View File

@ -1,7 +1,7 @@
import { useApolloClient } from '@apollo/client'; import { useApolloClient } from '@apollo/client';
import { useRecoilCallback } from 'recoil'; import { useRecoilCallback } from 'recoil';
import { useFindOneMetadataObject } from '@/metadata/hooks/useFindOneMetadataObject'; import { useFindOneObjectMetadataItem } from '@/metadata/hooks/useFindOneObjectMetadataItem';
import { currentViewIdScopedState } from '@/views/states/currentViewIdScopedState'; import { currentViewIdScopedState } from '@/views/states/currentViewIdScopedState';
import { savedViewFieldByKeyScopedFamilySelector } from '@/views/states/selectors/savedViewFieldByKeyScopedFamilySelector'; import { savedViewFieldByKeyScopedFamilySelector } from '@/views/states/selectors/savedViewFieldByKeyScopedFamilySelector';
import { viewObjectIdScopeState } from '@/views/states/viewObjectIdScopeState'; import { viewObjectIdScopeState } from '@/views/states/viewObjectIdScopeState';
@ -9,7 +9,7 @@ import { ViewField } from '@/views/types/ViewField';
export const useViewFields = (viewScopeId: string) => { export const useViewFields = (viewScopeId: string) => {
const { updateOneMutation, createOneMutation, findManyQuery } = const { updateOneMutation, createOneMutation, findManyQuery } =
useFindOneMetadataObject({ useFindOneObjectMetadataItem({
objectNameSingular: 'viewFieldV2', objectNameSingular: 'viewFieldV2',
}); });
const apolloClient = useApolloClient(); const apolloClient = useApolloClient();

View File

@ -2,7 +2,7 @@ import { useApolloClient } from '@apollo/client';
import { produce } from 'immer'; import { produce } from 'immer';
import { useRecoilCallback } from 'recoil'; import { useRecoilCallback } from 'recoil';
import { useFindOneMetadataObject } from '@/metadata/hooks/useFindOneMetadataObject'; import { useFindOneObjectMetadataItem } from '@/metadata/hooks/useFindOneObjectMetadataItem';
import { Filter } from '@/ui/object/object-filter-dropdown/types/Filter'; import { Filter } from '@/ui/object/object-filter-dropdown/types/Filter';
import { currentViewFiltersScopedFamilyState } from '@/views/states/currentViewFiltersScopedFamilyState'; import { currentViewFiltersScopedFamilyState } from '@/views/states/currentViewFiltersScopedFamilyState';
import { currentViewIdScopedState } from '@/views/states/currentViewIdScopedState'; import { currentViewIdScopedState } from '@/views/states/currentViewIdScopedState';
@ -15,7 +15,7 @@ import { useViewSetStates } from '../useViewSetStates';
export const useViewFilters = (viewScopeId: string) => { export const useViewFilters = (viewScopeId: string) => {
const { updateOneMutation, createOneMutation, findManyQuery } = const { updateOneMutation, createOneMutation, findManyQuery } =
useFindOneMetadataObject({ useFindOneObjectMetadataItem({
objectNameSingular: 'viewFilterV2', objectNameSingular: 'viewFilterV2',
}); });
const apolloClient = useApolloClient(); const apolloClient = useApolloClient();

View File

@ -2,7 +2,7 @@ import { useApolloClient } from '@apollo/client';
import { produce } from 'immer'; import { produce } from 'immer';
import { useRecoilCallback } from 'recoil'; import { useRecoilCallback } from 'recoil';
import { useFindOneMetadataObject } from '@/metadata/hooks/useFindOneMetadataObject'; import { useFindOneObjectMetadataItem } from '@/metadata/hooks/useFindOneObjectMetadataItem';
import { Sort } from '@/ui/object/object-sort-dropdown/types/Sort'; import { Sort } from '@/ui/object/object-sort-dropdown/types/Sort';
import { currentViewIdScopedState } from '@/views/states/currentViewIdScopedState'; import { currentViewIdScopedState } from '@/views/states/currentViewIdScopedState';
import { currentViewSortsScopedFamilyState } from '@/views/states/currentViewSortsScopedFamilyState'; import { currentViewSortsScopedFamilyState } from '@/views/states/currentViewSortsScopedFamilyState';
@ -15,7 +15,7 @@ import { useViewSetStates } from '../useViewSetStates';
export const useViewSorts = (viewScopeId: string) => { export const useViewSorts = (viewScopeId: string) => {
const { updateOneMutation, createOneMutation, findManyQuery } = const { updateOneMutation, createOneMutation, findManyQuery } =
useFindOneMetadataObject({ useFindOneObjectMetadataItem({
objectNameSingular: 'viewSortV2', objectNameSingular: 'viewSortV2',
}); });
const apolloClient = useApolloClient(); const apolloClient = useApolloClient();

View File

@ -1,14 +1,14 @@
import { useApolloClient } from '@apollo/client'; import { useApolloClient } from '@apollo/client';
import { useRecoilCallback } from 'recoil'; import { useRecoilCallback } from 'recoil';
import { useFindOneMetadataObject } from '@/metadata/hooks/useFindOneMetadataObject'; import { useFindOneObjectMetadataItem } from '@/metadata/hooks/useFindOneObjectMetadataItem';
import { viewObjectIdScopeState } from '@/views/states/viewObjectIdScopeState'; import { viewObjectIdScopeState } from '@/views/states/viewObjectIdScopeState';
import { viewTypeScopedState } from '@/views/states/viewTypeScopedState'; import { viewTypeScopedState } from '@/views/states/viewTypeScopedState';
import { View } from '@/views/types/View'; import { View } from '@/views/types/View';
export const useViews = (scopeId: string) => { export const useViews = (scopeId: string) => {
const { updateOneMutation, createOneMutation, findManyQuery } = const { updateOneMutation, createOneMutation, findManyQuery } =
useFindOneMetadataObject({ useFindOneObjectMetadataItem({
objectNameSingular: 'viewV2', objectNameSingular: 'viewV2',
}); });
const apolloClient = useApolloClient(); const apolloClient = useApolloClient();

View File

@ -2,7 +2,7 @@ import { useState } from 'react';
import { useNavigate } from 'react-router-dom'; import { useNavigate } from 'react-router-dom';
import { useCreateOneObject } from '@/metadata/hooks/useCreateOneObject'; import { useCreateOneObject } from '@/metadata/hooks/useCreateOneObject';
import { useMetadataObjectForSettings } from '@/metadata/hooks/useMetadataObjectForSettings'; import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings';
import { getObjectSlug } from '@/metadata/utils/getObjectSlug'; import { getObjectSlug } from '@/metadata/utils/getObjectSlug';
import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons'; import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons';
import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer';
@ -27,10 +27,10 @@ export const SettingsNewObject = () => {
useState<NewObjectType>('Standard'); useState<NewObjectType>('Standard');
const { const {
activateMetadataObject: activateObject, activateObjectMetadataItem: activateObject,
createMetadataObject: createObject, createObjectMetadataItem: createObject,
disabledMetadataObjects: disabledObjects, disabledObjectMetadataItems: disabledObjects,
} = useMetadataObjectForSettings(); } = useObjectMetadataItemForSettings();
const { createOneObject: createOneView } = useCreateOneObject({ const { createOneObject: createOneView } = useCreateOneObject({
objectNamePlural: 'viewsV2', objectNamePlural: 'viewsV2',

View File

@ -3,7 +3,7 @@ import { useNavigate, useParams } from 'react-router-dom';
import styled from '@emotion/styled'; import styled from '@emotion/styled';
import { useMetadataField } from '@/metadata/hooks/useMetadataField'; import { useMetadataField } from '@/metadata/hooks/useMetadataField';
import { useMetadataObjectForSettings } from '@/metadata/hooks/useMetadataObjectForSettings'; import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings';
import { getFieldSlug } from '@/metadata/utils/getFieldSlug'; import { getFieldSlug } from '@/metadata/utils/getFieldSlug';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
import { SettingsAboutSection } from '@/settings/data-model/object-details/components/SettingsObjectAboutSection'; import { SettingsAboutSection } from '@/settings/data-model/object-details/components/SettingsObjectAboutSection';
@ -34,30 +34,34 @@ export const SettingsObjectDetail = () => {
const navigate = useNavigate(); const navigate = useNavigate();
const { objectSlug = '' } = useParams(); const { objectSlug = '' } = useParams();
const { disableMetadataObject, findActiveMetadataObjectBySlug, loading } = const {
useMetadataObjectForSettings(); disableObjectMetadataItem,
findActiveObjectMetadataItemBySlug,
loading,
} = useObjectMetadataItemForSettings();
const activeMetadataObject = findActiveMetadataObjectBySlug(objectSlug); const activeObjectMetadataItem =
findActiveObjectMetadataItemBySlug(objectSlug);
useEffect(() => { useEffect(() => {
if (loading) return; if (loading) return;
if (!activeMetadataObject) navigate(AppPath.NotFound); if (!activeObjectMetadataItem) navigate(AppPath.NotFound);
}, [activeMetadataObject, loading, navigate]); }, [activeObjectMetadataItem, loading, navigate]);
const { activateMetadataField, disableMetadataField, eraseMetadataField } = const { activateMetadataField, disableMetadataField, eraseMetadataField } =
useMetadataField(); useMetadataField();
if (!activeMetadataObject) return null; if (!activeObjectMetadataItem) return null;
const activeMetadataFields = activeMetadataObject.fields.filter( const activeMetadataFields = activeObjectMetadataItem.fields.filter(
(metadataField) => metadataField.isActive, (metadataField) => metadataField.isActive,
); );
const disabledMetadataFields = activeMetadataObject.fields.filter( const disabledMetadataFields = activeObjectMetadataItem.fields.filter(
(metadataField) => !metadataField.isActive, (metadataField) => !metadataField.isActive,
); );
const handleDisable = async () => { const handleDisable = async () => {
await disableMetadataObject(activeMetadataObject); await disableObjectMetadataItem(activeObjectMetadataItem);
navigate('/settings/objects'); navigate('/settings/objects');
}; };
@ -67,20 +71,20 @@ export const SettingsObjectDetail = () => {
<Breadcrumb <Breadcrumb
links={[ links={[
{ children: 'Objects', href: '/settings/objects' }, { children: 'Objects', href: '/settings/objects' },
{ children: activeMetadataObject.labelPlural }, { children: activeObjectMetadataItem.labelPlural },
]} ]}
/> />
<SettingsAboutSection <SettingsAboutSection
iconKey={activeMetadataObject.icon ?? undefined} iconKey={activeObjectMetadataItem.icon ?? undefined}
name={activeMetadataObject.labelPlural || ''} name={activeObjectMetadataItem.labelPlural || ''}
isCustom={activeMetadataObject.isCustom} isCustom={activeObjectMetadataItem.isCustom}
onDisable={handleDisable} onDisable={handleDisable}
onEdit={() => navigate('./edit')} onEdit={() => navigate('./edit')}
/> />
<Section> <Section>
<H2Title <H2Title
title="Fields" title="Fields"
description={`Customise the fields available in the ${activeMetadataObject.labelSingular} views and their display order in the ${activeMetadataObject.labelSingular} detail view and menus.`} description={`Customise the fields available in the ${activeObjectMetadataItem.labelSingular} views and their display order in the ${activeObjectMetadataItem.labelSingular} detail view and menus.`}
/> />
<Table> <Table>
<StyledObjectFieldTableRow> <StyledObjectFieldTableRow>

View File

@ -1,7 +1,7 @@
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import { useNavigate, useParams } from 'react-router-dom'; import { useNavigate, useParams } from 'react-router-dom';
import { useMetadataObjectForSettings } from '@/metadata/hooks/useMetadataObjectForSettings'; import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings';
import { getObjectSlug } from '@/metadata/utils/getObjectSlug'; import { getObjectSlug } from '@/metadata/utils/getObjectSlug';
import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons'; import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons';
import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer';
@ -21,13 +21,14 @@ export const SettingsObjectEdit = () => {
const { objectSlug = '' } = useParams(); const { objectSlug = '' } = useParams();
const { const {
disableMetadataObject, disableObjectMetadataItem,
editMetadataObject, editObjectMetadataItem,
findActiveMetadataObjectBySlug, findActiveObjectMetadataItemBySlug,
loading, loading,
} = useMetadataObjectForSettings(); } = useObjectMetadataItemForSettings();
const activeMetadataObject = findActiveMetadataObjectBySlug(objectSlug); const activeObjectMetadataItem =
findActiveObjectMetadataItemBySlug(objectSlug);
const [formValues, setFormValues] = useState< const [formValues, setFormValues] = useState<
Partial<{ Partial<{
@ -41,44 +42,47 @@ export const SettingsObjectEdit = () => {
useEffect(() => { useEffect(() => {
if (loading) return; if (loading) return;
if (!activeMetadataObject) { if (!activeObjectMetadataItem) {
navigate(AppPath.NotFound); navigate(AppPath.NotFound);
return; return;
} }
if (!Object.keys(formValues).length) { if (!Object.keys(formValues).length) {
setFormValues({ setFormValues({
icon: activeMetadataObject.icon ?? undefined, icon: activeObjectMetadataItem.icon ?? undefined,
labelSingular: activeMetadataObject.labelSingular, labelSingular: activeObjectMetadataItem.labelSingular,
labelPlural: activeMetadataObject.labelPlural, labelPlural: activeObjectMetadataItem.labelPlural,
description: activeMetadataObject.description ?? undefined, description: activeObjectMetadataItem.description ?? undefined,
}); });
} }
}, [activeMetadataObject, formValues, loading, navigate]); }, [activeObjectMetadataItem, formValues, loading, navigate]);
if (!activeMetadataObject) return null; if (!activeObjectMetadataItem) return null;
const areRequiredFieldsFilled = const areRequiredFieldsFilled =
!!formValues.labelSingular && !!formValues.labelPlural; !!formValues.labelSingular && !!formValues.labelPlural;
const hasChanges = const hasChanges =
formValues.description !== activeMetadataObject.description || formValues.description !== activeObjectMetadataItem.description ||
formValues.icon !== activeMetadataObject.icon || formValues.icon !== activeObjectMetadataItem.icon ||
formValues.labelPlural !== activeMetadataObject.labelPlural || formValues.labelPlural !== activeObjectMetadataItem.labelPlural ||
formValues.labelSingular !== activeMetadataObject.labelSingular; formValues.labelSingular !== activeObjectMetadataItem.labelSingular;
const canSave = areRequiredFieldsFilled && hasChanges; const canSave = areRequiredFieldsFilled && hasChanges;
const handleSave = async () => { const handleSave = async () => {
const editedMetadataObject = { ...activeMetadataObject, ...formValues }; const editedObjectMetadataItem = {
...activeObjectMetadataItem,
...formValues,
};
await editMetadataObject(editedMetadataObject); await editObjectMetadataItem(editedObjectMetadataItem);
navigate(`/settings/objects/${getObjectSlug(editedMetadataObject)}`); navigate(`/settings/objects/${getObjectSlug(editedObjectMetadataItem)}`);
}; };
const handleDisable = async () => { const handleDisable = async () => {
await disableMetadataObject(activeMetadataObject); await disableObjectMetadataItem(activeObjectMetadataItem);
navigate('/settings/objects'); navigate('/settings/objects');
}; };
@ -90,13 +94,13 @@ export const SettingsObjectEdit = () => {
links={[ links={[
{ children: 'Objects', href: '/settings/objects' }, { children: 'Objects', href: '/settings/objects' },
{ {
children: activeMetadataObject.labelPlural, children: activeObjectMetadataItem.labelPlural,
href: `/settings/objects/${objectSlug}`, href: `/settings/objects/${objectSlug}`,
}, },
{ children: 'Edit' }, { children: 'Edit' },
]} ]}
/> />
{activeMetadataObject.isCustom && ( {activeObjectMetadataItem.isCustom && (
<SaveAndCancelButtons <SaveAndCancelButtons
isSaveDisabled={!canSave} isSaveDisabled={!canSave}
onCancel={() => navigate(`/settings/objects/${objectSlug}`)} onCancel={() => navigate(`/settings/objects/${objectSlug}`)}
@ -105,7 +109,7 @@ export const SettingsObjectEdit = () => {
)} )}
</SettingsHeaderContainer> </SettingsHeaderContainer>
<SettingsObjectIconSection <SettingsObjectIconSection
disabled={!activeMetadataObject.isCustom} disabled={!activeObjectMetadataItem.isCustom}
iconKey={formValues.icon} iconKey={formValues.icon}
label={formValues.labelPlural} label={formValues.labelPlural}
onChange={({ iconKey }) => onChange={({ iconKey }) =>
@ -116,7 +120,7 @@ export const SettingsObjectEdit = () => {
} }
/> />
<SettingsObjectFormSection <SettingsObjectFormSection
disabled={!activeMetadataObject.isCustom} disabled={!activeObjectMetadataItem.isCustom}
singularName={formValues.labelSingular} singularName={formValues.labelSingular}
pluralName={formValues.labelPlural} pluralName={formValues.labelPlural}
description={formValues.description} description={formValues.description}

View File

@ -2,7 +2,7 @@ import { useEffect, useState } from 'react';
import { useNavigate, useParams } from 'react-router-dom'; import { useNavigate, useParams } from 'react-router-dom';
import { useMetadataField } from '@/metadata/hooks/useMetadataField'; import { useMetadataField } from '@/metadata/hooks/useMetadataField';
import { useMetadataObjectForSettings } from '@/metadata/hooks/useMetadataObjectForSettings'; import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings';
import { getFieldSlug } from '@/metadata/utils/getFieldSlug'; import { getFieldSlug } from '@/metadata/utils/getFieldSlug';
import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons'; import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons';
import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer';
@ -22,13 +22,14 @@ export const SettingsObjectFieldEdit = () => {
const navigate = useNavigate(); const navigate = useNavigate();
const { objectSlug = '', fieldSlug = '' } = useParams(); const { objectSlug = '', fieldSlug = '' } = useParams();
const { findActiveMetadataObjectBySlug, loading } = const { findActiveObjectMetadataItemBySlug, loading } =
useMetadataObjectForSettings(); useObjectMetadataItemForSettings();
const activeMetadataObject = findActiveMetadataObjectBySlug(objectSlug); const activeObjectMetadataItem =
findActiveObjectMetadataItemBySlug(objectSlug);
const { disableMetadataField, editMetadataField } = useMetadataField(); const { disableMetadataField, editMetadataField } = useMetadataField();
const activeMetadataField = activeMetadataObject?.fields.find( const activeMetadataField = activeObjectMetadataItem?.fields.find(
(metadataField) => (metadataField) =>
metadataField.isActive && getFieldSlug(metadataField) === fieldSlug, metadataField.isActive && getFieldSlug(metadataField) === fieldSlug,
); );
@ -44,7 +45,7 @@ export const SettingsObjectFieldEdit = () => {
useEffect(() => { useEffect(() => {
if (loading) return; if (loading) return;
if (!activeMetadataObject || !activeMetadataField) { if (!activeObjectMetadataItem || !activeMetadataField) {
navigate(AppPath.NotFound); navigate(AppPath.NotFound);
return; return;
} }
@ -58,13 +59,13 @@ export const SettingsObjectFieldEdit = () => {
} }
}, [ }, [
activeMetadataField, activeMetadataField,
activeMetadataObject, activeObjectMetadataItem,
formValues, formValues,
loading, loading,
navigate, navigate,
]); ]);
if (!activeMetadataObject || !activeMetadataField) return null; if (!activeObjectMetadataItem || !activeMetadataField) return null;
const areRequiredFieldsFilled = !!formValues.label; const areRequiredFieldsFilled = !!formValues.label;
@ -96,7 +97,7 @@ export const SettingsObjectFieldEdit = () => {
links={[ links={[
{ children: 'Objects', href: '/settings/objects' }, { children: 'Objects', href: '/settings/objects' },
{ {
children: activeMetadataObject.labelPlural, children: activeObjectMetadataItem.labelPlural,
href: `/settings/objects/${objectSlug}`, href: `/settings/objects/${objectSlug}`,
}, },
{ children: activeMetadataField.label }, { children: activeMetadataField.label },

View File

@ -3,7 +3,7 @@ import { useNavigate, useParams } from 'react-router-dom';
import styled from '@emotion/styled'; import styled from '@emotion/styled';
import { useMetadataField } from '@/metadata/hooks/useMetadataField'; import { useMetadataField } from '@/metadata/hooks/useMetadataField';
import { useMetadataObjectForSettings } from '@/metadata/hooks/useMetadataObjectForSettings'; import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings';
import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons'; import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons';
import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
@ -37,14 +37,15 @@ export const SettingsObjectNewFieldStep1 = () => {
const navigate = useNavigate(); const navigate = useNavigate();
const { objectSlug = '' } = useParams(); const { objectSlug = '' } = useParams();
const { findActiveMetadataObjectBySlug, loading } = const { findActiveObjectMetadataItemBySlug, loading } =
useMetadataObjectForSettings(); useObjectMetadataItemForSettings();
const activeMetadataObject = findActiveMetadataObjectBySlug(objectSlug); const activeObjectMetadataItem =
findActiveObjectMetadataItemBySlug(objectSlug);
const { activateMetadataField, disableMetadataField } = useMetadataField(); const { activateMetadataField, disableMetadataField } = useMetadataField();
const [metadataFields, setMetadataFields] = useState( const [metadataFields, setMetadataFields] = useState(
activeMetadataObject?.fields ?? [], activeObjectMetadataItem?.fields ?? [],
); );
const activeMetadataFields = metadataFields.filter((field) => field.isActive); const activeMetadataFields = metadataFields.filter((field) => field.isActive);
@ -54,21 +55,22 @@ export const SettingsObjectNewFieldStep1 = () => {
const canSave = metadataFields.some( const canSave = metadataFields.some(
(field, index) => (field, index) =>
field.isActive !== activeMetadataObject?.fields[index].isActive, field.isActive !== activeObjectMetadataItem?.fields[index].isActive,
); );
useEffect(() => { useEffect(() => {
if (loading) return; if (loading) return;
if (!activeMetadataObject) { if (!activeObjectMetadataItem) {
navigate(AppPath.NotFound); navigate(AppPath.NotFound);
return; return;
} }
if (!metadataFields.length) setMetadataFields(activeMetadataObject.fields); if (!metadataFields.length)
}, [activeMetadataObject, metadataFields.length, loading, navigate]); setMetadataFields(activeObjectMetadataItem.fields);
}, [activeObjectMetadataItem, metadataFields.length, loading, navigate]);
if (!activeMetadataObject) return null; if (!activeObjectMetadataItem) return null;
const handleToggleField = (fieldId: string) => const handleToggleField = (fieldId: string) =>
setMetadataFields((previousFields) => setMetadataFields((previousFields) =>
@ -81,7 +83,8 @@ export const SettingsObjectNewFieldStep1 = () => {
await Promise.all( await Promise.all(
metadataFields.map((metadataField, index) => { metadataFields.map((metadataField, index) => {
if ( if (
metadataField.isActive === activeMetadataObject.fields[index].isActive metadataField.isActive ===
activeObjectMetadataItem.fields[index].isActive
) { ) {
return; return;
} }
@ -103,7 +106,7 @@ export const SettingsObjectNewFieldStep1 = () => {
links={[ links={[
{ children: 'Objects', href: '/settings/objects' }, { children: 'Objects', href: '/settings/objects' },
{ {
children: activeMetadataObject.labelPlural, children: activeObjectMetadataItem.labelPlural,
href: `/settings/objects/${objectSlug}`, href: `/settings/objects/${objectSlug}`,
}, },
{ children: 'New Field' }, { children: 'New Field' },

View File

@ -4,7 +4,7 @@ import { useNavigate, useParams } from 'react-router-dom';
import { useCreateOneObject } from '@/metadata/hooks/useCreateOneObject'; import { useCreateOneObject } from '@/metadata/hooks/useCreateOneObject';
import { useFindManyObjects } from '@/metadata/hooks/useFindManyObjects'; import { useFindManyObjects } from '@/metadata/hooks/useFindManyObjects';
import { useMetadataField } from '@/metadata/hooks/useMetadataField'; import { useMetadataField } from '@/metadata/hooks/useMetadataField';
import { useMetadataObjectForSettings } from '@/metadata/hooks/useMetadataObjectForSettings'; import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings';
import { PaginatedObjectTypeResults } from '@/metadata/types/PaginatedObjectTypeResults'; import { PaginatedObjectTypeResults } from '@/metadata/types/PaginatedObjectTypeResults';
import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons'; import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons';
import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer';
@ -23,16 +23,17 @@ export const SettingsObjectNewFieldStep2 = () => {
const navigate = useNavigate(); const navigate = useNavigate();
const { objectSlug = '' } = useParams(); const { objectSlug = '' } = useParams();
const { findActiveMetadataObjectBySlug, loading } = const { findActiveObjectMetadataItemBySlug, loading } =
useMetadataObjectForSettings(); useObjectMetadataItemForSettings();
const activeMetadataObject = findActiveMetadataObjectBySlug(objectSlug); const activeObjectMetadataItem =
findActiveObjectMetadataItemBySlug(objectSlug);
const { createMetadataField } = useMetadataField(); const { createMetadataField } = useMetadataField();
useEffect(() => { useEffect(() => {
if (loading) return; if (loading) return;
if (!activeMetadataObject) navigate(AppPath.NotFound); if (!activeObjectMetadataItem) navigate(AppPath.NotFound);
}, [activeMetadataObject, loading, navigate]); }, [activeObjectMetadataItem, loading, navigate]);
const [formValues, setFormValues] = useState<{ const [formValues, setFormValues] = useState<{
description?: string; description?: string;
@ -51,7 +52,7 @@ export const SettingsObjectNewFieldStep2 = () => {
objectNamePlural: 'viewsV2', objectNamePlural: 'viewsV2',
filter: { filter: {
type: { eq: ViewType.Table }, type: { eq: ViewType.Table },
objectId: { eq: activeMetadataObject?.id }, objectId: { eq: activeObjectMetadataItem?.id },
}, },
onCompleted: async (data: PaginatedObjectTypeResults<View>) => { onCompleted: async (data: PaginatedObjectTypeResults<View>) => {
const views = data.edges; const views = data.edges;
@ -64,20 +65,20 @@ export const SettingsObjectNewFieldStep2 = () => {
}, },
}); });
if (!activeMetadataObject || !objectViews.length) return null; if (!activeObjectMetadataItem || !objectViews.length) return null;
const canSave = !!formValues.label; const canSave = !!formValues.label;
const handleSave = async () => { const handleSave = async () => {
const createdField = await createMetadataField({ const createdField = await createMetadataField({
...formValues, ...formValues,
objectId: activeMetadataObject.id, objectId: activeObjectMetadataItem.id,
}); });
objectViews.forEach(async (view) => { objectViews.forEach(async (view) => {
await createOneViewField?.({ await createOneViewField?.({
viewId: view.id, viewId: view.id,
fieldId: createdField.data?.createOneField.id, fieldId: createdField.data?.createOneField.id,
position: activeMetadataObject.fields.length, position: activeObjectMetadataItem.fields.length,
isVisible: true, isVisible: true,
size: 100, size: 100,
}); });
@ -93,7 +94,7 @@ export const SettingsObjectNewFieldStep2 = () => {
links={[ links={[
{ children: 'Objects', href: '/settings/objects' }, { children: 'Objects', href: '/settings/objects' },
{ {
children: activeMetadataObject.labelPlural, children: activeObjectMetadataItem.labelPlural,
href: `/settings/objects/${objectSlug}`, href: `/settings/objects/${objectSlug}`,
}, },
{ children: 'New Field' }, { children: 'New Field' },

View File

@ -2,7 +2,7 @@ import { useNavigate } from 'react-router-dom';
import { useTheme } from '@emotion/react'; import { useTheme } from '@emotion/react';
import styled from '@emotion/styled'; import styled from '@emotion/styled';
import { useMetadataObjectForSettings } from '@/metadata/hooks/useMetadataObjectForSettings'; import { useObjectMetadataItemForSettings } from '@/metadata/hooks/useObjectMetadataItemForSettings';
import { getObjectSlug } from '@/metadata/utils/getObjectSlug'; import { getObjectSlug } from '@/metadata/utils/getObjectSlug';
import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer';
import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer';
@ -35,11 +35,11 @@ export const SettingsObjects = () => {
const navigate = useNavigate(); const navigate = useNavigate();
const { const {
activateMetadataObject, activateObjectMetadataItem,
activeMetadataObjects, activeObjectMetadataItems,
disabledMetadataObjects, disabledObjectMetadataItems,
eraseMetadataObject, eraseObjectMetadataItem,
} = useMetadataObjectForSettings(); } = useObjectMetadataItemForSettings();
return ( return (
<SubMenuTopBarContainer Icon={IconSettings} title="Settings"> <SubMenuTopBarContainer Icon={IconSettings} title="Settings">
@ -66,12 +66,12 @@ export const SettingsObjects = () => {
<TableHeader align="right">Instances</TableHeader> <TableHeader align="right">Instances</TableHeader>
<TableHeader></TableHeader> <TableHeader></TableHeader>
</StyledObjectTableRow> </StyledObjectTableRow>
{!!activeMetadataObjects.length && ( {!!activeObjectMetadataItems.length && (
<TableSection title="Active"> <TableSection title="Active">
{activeMetadataObjects.map((activeMetadataObject) => ( {activeObjectMetadataItems.map((activeObjectMetadataItem) => (
<SettingsObjectItemTableRow <SettingsObjectItemTableRow
key={activeMetadataObject.namePlural} key={activeObjectMetadataItem.namePlural}
objectItem={activeMetadataObject} objectItem={activeObjectMetadataItem}
action={ action={
<StyledIconChevronRight <StyledIconChevronRight
size={theme.icon.size.md} size={theme.icon.size.md}
@ -81,7 +81,7 @@ export const SettingsObjects = () => {
onClick={() => onClick={() =>
navigate( navigate(
`/settings/objects/${getObjectSlug( `/settings/objects/${getObjectSlug(
activeMetadataObject, activeObjectMetadataItem,
)}`, )}`,
) )
} }
@ -89,26 +89,32 @@ export const SettingsObjects = () => {
))} ))}
</TableSection> </TableSection>
)} )}
{!!disabledMetadataObjects.length && ( {!!disabledObjectMetadataItems.length && (
<TableSection title="Disabled"> <TableSection title="Disabled">
{disabledMetadataObjects.map((disabledMetadataObject) => ( {disabledObjectMetadataItems.map(
<SettingsObjectItemTableRow (disabledObjectMetadataItem) => (
key={disabledMetadataObject.namePlural} <SettingsObjectItemTableRow
objectItem={disabledMetadataObject} key={disabledObjectMetadataItem.namePlural}
action={ objectItem={disabledObjectMetadataItem}
<SettingsObjectDisabledMenuDropDown action={
isCustomObject={disabledMetadataObject.isCustom} <SettingsObjectDisabledMenuDropDown
scopeKey={disabledMetadataObject.namePlural} isCustomObject={disabledObjectMetadataItem.isCustom}
onActivate={() => scopeKey={disabledObjectMetadataItem.namePlural}
activateMetadataObject(disabledMetadataObject) onActivate={() =>
} activateObjectMetadataItem(
onErase={() => disabledObjectMetadataItem,
eraseMetadataObject(disabledMetadataObject) )
} }
/> onErase={() =>
} eraseObjectMetadataItem(
/> disabledObjectMetadataItem,
))} )
}
/>
}
/>
),
)}
</TableSection> </TableSection>
)} )}
</Table> </Table>

View File

@ -34,7 +34,7 @@ import { mockedApiKeys } from '~/testing/mock-data/api-keys';
import { mockedActivities, mockedTasks } from './mock-data/activities'; import { mockedActivities, mockedTasks } from './mock-data/activities';
import { mockedCompaniesData } from './mock-data/companies'; import { mockedCompaniesData } from './mock-data/companies';
import { mockedMetadataObjects } from './mock-data/metadata'; import { mockedObjectMetadataItems } from './mock-data/metadata';
import { mockedPeopleData } from './mock-data/people'; import { mockedPeopleData } from './mock-data/people';
import { mockedPipelineProgressData } from './mock-data/pipeline-progress'; import { mockedPipelineProgressData } from './mock-data/pipeline-progress';
import { mockedPipelinesData } from './mock-data/pipelines'; import { mockedPipelinesData } from './mock-data/pipelines';
@ -291,7 +291,7 @@ export const graphqlMocks = [
metadataGraphql.query( metadataGraphql.query(
getOperationName(FIND_MANY_METADATA_OBJECTS) ?? '', getOperationName(FIND_MANY_METADATA_OBJECTS) ?? '',
(req, res, ctx) => { (req, res, ctx) => {
return res(ctx.data({ objects: mockedMetadataObjects })); return res(ctx.data({ objects: mockedObjectMetadataItems }));
}, },
), ),
]; ];

View File

@ -1,4 +1,4 @@
export const mockedMetadataObjects = { export const mockedObjectMetadataItems = {
edges: [ edges: [
{ {
node: { node: {