Enable deletion of relation fields (#5338)
In this PR 1. Enable deletion of relation fields in the product and via the api (migration part was missing in the api) 3. Change wording, only use "deactivate" and "delete" everywhere (and not a mix of the two + "disable", "erase")
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -366,6 +366,11 @@ export type MutationTrackArgs = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationUpdateOneObjectArgs = {
|
||||||
|
input: UpdateOneObjectInput;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
export type MutationUpdatePasswordViaResetTokenArgs = {
|
export type MutationUpdatePasswordViaResetTokenArgs = {
|
||||||
newPassword: Scalars['String'];
|
newPassword: Scalars['String'];
|
||||||
passwordResetToken: Scalars['String'];
|
passwordResetToken: Scalars['String'];
|
||||||
@ -548,18 +553,6 @@ export enum RelationDefinitionType {
|
|||||||
OneToOne = 'ONE_TO_ONE'
|
OneToOne = 'ONE_TO_ONE'
|
||||||
}
|
}
|
||||||
|
|
||||||
export type RelationDeleteResponse = {
|
|
||||||
__typename?: 'RelationDeleteResponse';
|
|
||||||
createdAt?: Maybe<Scalars['DateTime']>;
|
|
||||||
fromFieldMetadataId?: Maybe<Scalars['String']>;
|
|
||||||
fromObjectMetadataId?: Maybe<Scalars['String']>;
|
|
||||||
id?: Maybe<Scalars['UUID']>;
|
|
||||||
relationType?: Maybe<RelationMetadataType>;
|
|
||||||
toFieldMetadataId?: Maybe<Scalars['String']>;
|
|
||||||
toObjectMetadataId?: Maybe<Scalars['String']>;
|
|
||||||
updatedAt?: Maybe<Scalars['DateTime']>;
|
|
||||||
};
|
|
||||||
|
|
||||||
/** Type of the relation */
|
/** Type of the relation */
|
||||||
export enum RelationMetadataType {
|
export enum RelationMetadataType {
|
||||||
ManyToMany = 'MANY_TO_MANY',
|
ManyToMany = 'MANY_TO_MANY',
|
||||||
@ -728,6 +721,24 @@ export type UpdateBillingEntity = {
|
|||||||
success: Scalars['Boolean'];
|
success: Scalars['Boolean'];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type UpdateObjectPayload = {
|
||||||
|
description?: InputMaybe<Scalars['String']>;
|
||||||
|
icon?: InputMaybe<Scalars['String']>;
|
||||||
|
imageIdentifierFieldMetadataId?: InputMaybe<Scalars['String']>;
|
||||||
|
isActive?: InputMaybe<Scalars['Boolean']>;
|
||||||
|
labelIdentifierFieldMetadataId?: InputMaybe<Scalars['String']>;
|
||||||
|
labelPlural?: InputMaybe<Scalars['String']>;
|
||||||
|
labelSingular?: InputMaybe<Scalars['String']>;
|
||||||
|
namePlural?: InputMaybe<Scalars['String']>;
|
||||||
|
nameSingular?: InputMaybe<Scalars['String']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type UpdateOneObjectInput = {
|
||||||
|
/** The id of the object to update */
|
||||||
|
id: Scalars['UUID'];
|
||||||
|
update: UpdateObjectPayload;
|
||||||
|
};
|
||||||
|
|
||||||
export type UpdateWorkspaceInput = {
|
export type UpdateWorkspaceInput = {
|
||||||
allowImpersonation?: InputMaybe<Scalars['Boolean']>;
|
allowImpersonation?: InputMaybe<Scalars['Boolean']>;
|
||||||
displayName?: InputMaybe<Scalars['String']>;
|
displayName?: InputMaybe<Scalars['String']>;
|
||||||
|
|||||||
@ -139,3 +139,11 @@ export const DELETE_ONE_FIELD_METADATA_ITEM = gql`
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
export const DELETE_ONE_RELATION_METADATA_ITEM = gql`
|
||||||
|
mutation DeleteOneRelationMetadataItem($idToDelete: UUID!) {
|
||||||
|
deleteOneRelation(input: { id: $idToDelete }) {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|||||||
@ -68,6 +68,7 @@ export const FIND_MANY_OBJECT_METADATA_ITEMS = gql`
|
|||||||
defaultValue
|
defaultValue
|
||||||
options
|
options
|
||||||
relationDefinition {
|
relationDefinition {
|
||||||
|
relationId
|
||||||
direction
|
direction
|
||||||
sourceObjectMetadata {
|
sourceObjectMetadata {
|
||||||
id
|
id
|
||||||
|
|||||||
@ -0,0 +1,15 @@
|
|||||||
|
import { gql } from '@apollo/client';
|
||||||
|
|
||||||
|
export const query = gql`
|
||||||
|
mutation DeleteOneRelationMetadataItem($idToDelete: UUID!) {
|
||||||
|
deleteOneRelation(input: { id: $idToDelete }) {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
export const variables = { idToDelete: 'idToDelete' };
|
||||||
|
|
||||||
|
export const responseData = {
|
||||||
|
id: 'idToDelete'
|
||||||
|
};
|
||||||
@ -1,4 +1,9 @@
|
|||||||
import { gql } from '@apollo/client';
|
import { gql } from '@apollo/client';
|
||||||
|
import { FieldMetadataType } from '~/generated/graphql';
|
||||||
|
|
||||||
|
export const FIELD_METADATA_ID = '2c43466a-fe9e-4005-8d08-c5836067aa6c';
|
||||||
|
export const FIELD_RELATION_METADATA_ID = '4da0302d-358a-45cd-9973-9f92723ed3c1';
|
||||||
|
export const RELATION_METADATA_ID = 'f81d4fae-7dec-11d0-a765-00a0c91e6bf6';
|
||||||
|
|
||||||
const baseFields = `
|
const baseFields = `
|
||||||
id
|
id
|
||||||
@ -15,13 +20,20 @@ const baseFields = `
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
export const queries = {
|
export const queries = {
|
||||||
eraseMetadataField: gql`
|
deleteMetadataField: gql`
|
||||||
mutation DeleteOneFieldMetadataItem($idToDelete: UUID!) {
|
mutation DeleteOneFieldMetadataItem($idToDelete: UUID!) {
|
||||||
deleteOneField(input: { id: $idToDelete }) {
|
deleteOneField(input: { id: $idToDelete }) {
|
||||||
${baseFields}
|
${baseFields}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
|
deleteMetadataFieldRelation: gql`
|
||||||
|
mutation DeleteOneRelationMetadataItem($idToDelete: UUID!) {
|
||||||
|
deleteOneRelation(input: { id: $idToDelete }) {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`,
|
||||||
activateMetadataField: gql`
|
activateMetadataField: gql`
|
||||||
mutation UpdateOneFieldMetadataItem(
|
mutation UpdateOneFieldMetadataItem(
|
||||||
$idToUpdate: UUID!
|
$idToUpdate: UUID!
|
||||||
@ -43,13 +55,13 @@ export const queries = {
|
|||||||
`,
|
`,
|
||||||
};
|
};
|
||||||
|
|
||||||
const fieldId = '2c43466a-fe9e-4005-8d08-c5836067aa6c';
|
|
||||||
export const objectMetadataId = '25611fce-6637-4089-b0ca-91afeec95784';
|
export const objectMetadataId = '25611fce-6637-4089-b0ca-91afeec95784';
|
||||||
|
|
||||||
export const variables = {
|
export const variables = {
|
||||||
eraseMetadataField: { idToDelete: fieldId },
|
deleteMetadataField: { idToDelete: FIELD_METADATA_ID },
|
||||||
|
deleteMetadataFieldRelation: { idToDelete: RELATION_METADATA_ID },
|
||||||
activateMetadataField: {
|
activateMetadataField: {
|
||||||
idToUpdate: fieldId,
|
idToUpdate: FIELD_METADATA_ID,
|
||||||
updatePayload: { isActive: true, label: undefined },
|
updatePayload: { isActive: true, label: undefined },
|
||||||
},
|
},
|
||||||
createMetadataField: {
|
createMetadataField: {
|
||||||
@ -66,14 +78,14 @@ export const variables = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
disableMetadataField: {
|
deactivateMetadataField: {
|
||||||
idToUpdate: fieldId,
|
idToUpdate: FIELD_METADATA_ID,
|
||||||
updatePayload: { isActive: false, label: undefined },
|
updatePayload: { isActive: false, label: undefined },
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const defaultResponseData = {
|
const defaultResponseData = {
|
||||||
id: '2c43466a-fe9e-4005-8d08-c5836067aa6c',
|
id: FIELD_METADATA_ID,
|
||||||
type: 'type',
|
type: 'type',
|
||||||
name: 'name',
|
name: 'name',
|
||||||
label: 'label',
|
label: 'label',
|
||||||
@ -86,11 +98,19 @@ const defaultResponseData = {
|
|||||||
updatedAt: '1996-10-10T08:27:57.117Z',
|
updatedAt: '1996-10-10T08:27:57.117Z',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const fieldRelationResponseData = {
|
||||||
|
...defaultResponseData,
|
||||||
|
id: FIELD_RELATION_METADATA_ID,
|
||||||
|
type: FieldMetadataType.Relation,
|
||||||
|
};
|
||||||
|
|
||||||
export const responseData = {
|
export const responseData = {
|
||||||
default: defaultResponseData,
|
default: defaultResponseData,
|
||||||
|
fieldRelation: fieldRelationResponseData,
|
||||||
createMetadataField: {
|
createMetadataField: {
|
||||||
...defaultResponseData,
|
...defaultResponseData,
|
||||||
defaultValue: '',
|
defaultValue: '',
|
||||||
options: [],
|
options: [],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,49 @@
|
|||||||
|
import { ReactNode } from 'react';
|
||||||
|
import { MockedProvider } from '@apollo/client/testing';
|
||||||
|
import { act, renderHook } from '@testing-library/react';
|
||||||
|
import { RecoilRoot } from 'recoil';
|
||||||
|
|
||||||
|
import { useDeleteOneRelationMetadataItem } from '@/object-metadata/hooks/useDeleteOneRelationMetadataItem';
|
||||||
|
|
||||||
|
import {
|
||||||
|
query,
|
||||||
|
responseData,
|
||||||
|
variables,
|
||||||
|
} from '../__mocks__/useDeleteOneRelationMetadataItem';
|
||||||
|
|
||||||
|
const mocks = [
|
||||||
|
{
|
||||||
|
request: {
|
||||||
|
query,
|
||||||
|
variables,
|
||||||
|
},
|
||||||
|
result: jest.fn(() => ({
|
||||||
|
data: {
|
||||||
|
deleteOneRelation: responseData,
|
||||||
|
},
|
||||||
|
})),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const Wrapper = ({ children }: { children: ReactNode }) => (
|
||||||
|
<RecoilRoot>
|
||||||
|
<MockedProvider mocks={mocks} addTypename={false}>
|
||||||
|
{children}
|
||||||
|
</MockedProvider>
|
||||||
|
</RecoilRoot>
|
||||||
|
);
|
||||||
|
|
||||||
|
describe('useDeleteOneRelationMetadataItem', () => {
|
||||||
|
it('should work as expected', async () => {
|
||||||
|
const { result } = renderHook(() => useDeleteOneRelationMetadataItem(), {
|
||||||
|
wrapper: Wrapper,
|
||||||
|
});
|
||||||
|
|
||||||
|
await act(async () => {
|
||||||
|
const res =
|
||||||
|
await result.current.deleteOneRelationMetadataItem('idToDelete');
|
||||||
|
|
||||||
|
expect(res.data).toEqual({ deleteOneRelation: responseData });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -5,17 +5,20 @@ import { RecoilRoot } from 'recoil';
|
|||||||
|
|
||||||
import { useFieldMetadataItem } from '@/object-metadata/hooks/useFieldMetadataItem';
|
import { useFieldMetadataItem } from '@/object-metadata/hooks/useFieldMetadataItem';
|
||||||
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
|
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
|
||||||
import { FieldMetadataType } from '~/generated/graphql';
|
import { FieldMetadataType, RelationDefinitionType } from '~/generated/graphql';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
FIELD_METADATA_ID,
|
||||||
|
FIELD_RELATION_METADATA_ID,
|
||||||
objectMetadataId,
|
objectMetadataId,
|
||||||
queries,
|
queries,
|
||||||
|
RELATION_METADATA_ID,
|
||||||
responseData,
|
responseData,
|
||||||
variables,
|
variables,
|
||||||
} from '../__mocks__/useFieldMetadataItem';
|
} from '../__mocks__/useFieldMetadataItem';
|
||||||
|
|
||||||
const fieldMetadataItem: FieldMetadataItem = {
|
const fieldMetadataItem: FieldMetadataItem = {
|
||||||
id: '2c43466a-fe9e-4005-8d08-c5836067aa6c',
|
id: FIELD_METADATA_ID,
|
||||||
createdAt: '',
|
createdAt: '',
|
||||||
label: 'label',
|
label: 'label',
|
||||||
name: 'name',
|
name: 'name',
|
||||||
@ -23,11 +26,42 @@ const fieldMetadataItem: FieldMetadataItem = {
|
|||||||
updatedAt: '',
|
updatedAt: '',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const fieldRelationMetadataItem: FieldMetadataItem = {
|
||||||
|
id: FIELD_RELATION_METADATA_ID,
|
||||||
|
createdAt: '',
|
||||||
|
label: 'label',
|
||||||
|
name: 'name',
|
||||||
|
type: FieldMetadataType.Relation,
|
||||||
|
updatedAt: '',
|
||||||
|
relationDefinition: {
|
||||||
|
relationId: RELATION_METADATA_ID,
|
||||||
|
direction: RelationDefinitionType.OneToMany,
|
||||||
|
sourceFieldMetadata: {
|
||||||
|
id: 'e5903d91-9b10-4f3e-b761-35c36e93b7c1',
|
||||||
|
name: 'sourceField',
|
||||||
|
},
|
||||||
|
targetFieldMetadata: {
|
||||||
|
id: 'd23d82d4-690b-489f-a8e3-fc5ed01a91f6',
|
||||||
|
name: 'targetField',
|
||||||
|
},
|
||||||
|
sourceObjectMetadata: {
|
||||||
|
id: 'bf46be8a-7c47-45a7-b2f1-30f49e14fbd9',
|
||||||
|
nameSingular: 'sourceObject',
|
||||||
|
namePlural: 'sourceObjects',
|
||||||
|
},
|
||||||
|
targetObjectMetadata: {
|
||||||
|
id: '987c0489-2855-4a63-bb81-93692e51b2a9',
|
||||||
|
nameSingular: 'targetObject',
|
||||||
|
namePlural: 'targetObjects',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
const mocks = [
|
const mocks = [
|
||||||
{
|
{
|
||||||
request: {
|
request: {
|
||||||
query: queries.eraseMetadataField,
|
query: queries.deleteMetadataField,
|
||||||
variables: variables.eraseMetadataField,
|
variables: variables.deleteMetadataField,
|
||||||
},
|
},
|
||||||
result: jest.fn(() => ({
|
result: jest.fn(() => ({
|
||||||
data: {
|
data: {
|
||||||
@ -35,6 +69,17 @@ const mocks = [
|
|||||||
},
|
},
|
||||||
})),
|
})),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
request: {
|
||||||
|
query: queries.deleteMetadataFieldRelation,
|
||||||
|
variables: variables.deleteMetadataFieldRelation,
|
||||||
|
},
|
||||||
|
result: jest.fn(() => ({
|
||||||
|
data: {
|
||||||
|
deleteOneRelation: responseData.fieldRelation,
|
||||||
|
},
|
||||||
|
})),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
request: {
|
request: {
|
||||||
query: queries.activateMetadataField,
|
query: queries.activateMetadataField,
|
||||||
@ -60,7 +105,7 @@ const mocks = [
|
|||||||
{
|
{
|
||||||
request: {
|
request: {
|
||||||
query: queries.activateMetadataField,
|
query: queries.activateMetadataField,
|
||||||
variables: variables.disableMetadataField,
|
variables: variables.deactivateMetadataField,
|
||||||
},
|
},
|
||||||
result: jest.fn(() => ({
|
result: jest.fn(() => ({
|
||||||
data: {
|
data: {
|
||||||
@ -111,13 +156,14 @@ describe('useFieldMetadataItem', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should disableMetadataField', async () => {
|
it('should deactivateMetadataField', async () => {
|
||||||
const { result } = renderHook(() => useFieldMetadataItem(), {
|
const { result } = renderHook(() => useFieldMetadataItem(), {
|
||||||
wrapper: Wrapper,
|
wrapper: Wrapper,
|
||||||
});
|
});
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
const res = await result.current.disableMetadataField(fieldMetadataItem);
|
const res =
|
||||||
|
await result.current.deactivateMetadataField(fieldMetadataItem);
|
||||||
|
|
||||||
expect(res.data).toEqual({
|
expect(res.data).toEqual({
|
||||||
updateOneField: responseData.default,
|
updateOneField: responseData.default,
|
||||||
@ -125,17 +171,33 @@ describe('useFieldMetadataItem', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should eraseMetadataField', async () => {
|
it('should deleteOneFieldMetadataItem when calling deleteMetadataField for a non-relation field', async () => {
|
||||||
const { result } = renderHook(() => useFieldMetadataItem(), {
|
const { result } = renderHook(() => useFieldMetadataItem(), {
|
||||||
wrapper: Wrapper,
|
wrapper: Wrapper,
|
||||||
});
|
});
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
const res = await result.current.eraseMetadataField(fieldMetadataItem);
|
const res = await result.current.deleteMetadataField(fieldMetadataItem);
|
||||||
|
|
||||||
expect(res.data).toEqual({
|
expect(res.data).toEqual({
|
||||||
deleteOneField: responseData.default,
|
deleteOneField: responseData.default,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should deleteOneFieldMetadataItem when calling deleteMetadataField for a relation field', async () => {
|
||||||
|
const { result } = renderHook(() => useFieldMetadataItem(), {
|
||||||
|
wrapper: Wrapper,
|
||||||
|
});
|
||||||
|
|
||||||
|
await act(async () => {
|
||||||
|
const res = await result.current.deleteMetadataField(
|
||||||
|
fieldRelationMetadataItem,
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(res.data).toEqual({
|
||||||
|
deleteOneRelation: responseData.fieldRelation,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -0,0 +1,39 @@
|
|||||||
|
import { ApolloClient, useMutation } from '@apollo/client';
|
||||||
|
import { getOperationName } from '@apollo/client/utilities';
|
||||||
|
|
||||||
|
import { DELETE_ONE_RELATION_METADATA_ITEM } from '@/object-metadata/graphql/mutations';
|
||||||
|
import {
|
||||||
|
DeleteOneRelationMetadataItemMutation,
|
||||||
|
DeleteOneRelationMetadataItemMutationVariables,
|
||||||
|
} from '~/generated-metadata/graphql';
|
||||||
|
|
||||||
|
import { FIND_MANY_OBJECT_METADATA_ITEMS } from '../graphql/queries';
|
||||||
|
|
||||||
|
import { useApolloMetadataClient } from './useApolloMetadataClient';
|
||||||
|
|
||||||
|
export const useDeleteOneRelationMetadataItem = () => {
|
||||||
|
const apolloMetadataClient = useApolloMetadataClient();
|
||||||
|
|
||||||
|
const [mutate] = useMutation<
|
||||||
|
DeleteOneRelationMetadataItemMutation,
|
||||||
|
DeleteOneRelationMetadataItemMutationVariables
|
||||||
|
>(DELETE_ONE_RELATION_METADATA_ITEM, {
|
||||||
|
client: apolloMetadataClient ?? ({} as ApolloClient<any>),
|
||||||
|
});
|
||||||
|
|
||||||
|
const deleteOneRelationMetadataItem = async (
|
||||||
|
idToDelete: DeleteOneRelationMetadataItemMutationVariables['idToDelete'],
|
||||||
|
) => {
|
||||||
|
return await mutate({
|
||||||
|
variables: {
|
||||||
|
idToDelete,
|
||||||
|
},
|
||||||
|
awaitRefetchQueries: true,
|
||||||
|
refetchQueries: [getOperationName(FIND_MANY_OBJECT_METADATA_ITEMS) ?? ''],
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
return {
|
||||||
|
deleteOneRelationMetadataItem,
|
||||||
|
};
|
||||||
|
};
|
||||||
@ -1,4 +1,6 @@
|
|||||||
|
import { useDeleteOneRelationMetadataItem } from '@/object-metadata/hooks/useDeleteOneRelationMetadataItem';
|
||||||
import { Field } from '~/generated/graphql';
|
import { Field } from '~/generated/graphql';
|
||||||
|
import { FieldMetadataType } from '~/generated-metadata/graphql';
|
||||||
|
|
||||||
import { FieldMetadataItem } from '../types/FieldMetadataItem';
|
import { FieldMetadataItem } from '../types/FieldMetadataItem';
|
||||||
import { formatFieldMetadataItemInput } from '../utils/formatFieldMetadataItemInput';
|
import { formatFieldMetadataItemInput } from '../utils/formatFieldMetadataItemInput';
|
||||||
@ -11,6 +13,7 @@ export const useFieldMetadataItem = () => {
|
|||||||
const { createOneFieldMetadataItem } = useCreateOneFieldMetadataItem();
|
const { createOneFieldMetadataItem } = useCreateOneFieldMetadataItem();
|
||||||
const { updateOneFieldMetadataItem } = useUpdateOneFieldMetadataItem();
|
const { updateOneFieldMetadataItem } = useUpdateOneFieldMetadataItem();
|
||||||
const { deleteOneFieldMetadataItem } = useDeleteOneFieldMetadataItem();
|
const { deleteOneFieldMetadataItem } = useDeleteOneFieldMetadataItem();
|
||||||
|
const { deleteOneRelationMetadataItem } = useDeleteOneRelationMetadataItem();
|
||||||
|
|
||||||
const createMetadataField = (
|
const createMetadataField = (
|
||||||
input: Pick<
|
input: Pick<
|
||||||
@ -37,19 +40,24 @@ export const useFieldMetadataItem = () => {
|
|||||||
updatePayload: { isActive: true },
|
updatePayload: { isActive: true },
|
||||||
});
|
});
|
||||||
|
|
||||||
const disableMetadataField = (metadataField: FieldMetadataItem) =>
|
const deactivateMetadataField = (metadataField: FieldMetadataItem) =>
|
||||||
updateOneFieldMetadataItem({
|
updateOneFieldMetadataItem({
|
||||||
fieldMetadataIdToUpdate: metadataField.id,
|
fieldMetadataIdToUpdate: metadataField.id,
|
||||||
updatePayload: { isActive: false },
|
updatePayload: { isActive: false },
|
||||||
});
|
});
|
||||||
|
|
||||||
const eraseMetadataField = (metadataField: FieldMetadataItem) =>
|
const deleteMetadataField = (metadataField: FieldMetadataItem) => {
|
||||||
deleteOneFieldMetadataItem(metadataField.id);
|
return metadataField.type === FieldMetadataType.Relation
|
||||||
|
? deleteOneRelationMetadataItem(
|
||||||
|
metadataField.relationDefinition?.relationId,
|
||||||
|
)
|
||||||
|
: deleteOneFieldMetadataItem(metadataField.id);
|
||||||
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
activateMetadataField,
|
activateMetadataField,
|
||||||
createMetadataField,
|
createMetadataField,
|
||||||
disableMetadataField,
|
deactivateMetadataField,
|
||||||
eraseMetadataField,
|
deleteMetadataField,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import {
|
|||||||
Field,
|
Field,
|
||||||
Object as MetadataObject,
|
Object as MetadataObject,
|
||||||
Relation,
|
Relation,
|
||||||
|
RelationDefinition,
|
||||||
RelationDefinitionType,
|
RelationDefinitionType,
|
||||||
} from '~/generated-metadata/graphql';
|
} from '~/generated-metadata/graphql';
|
||||||
|
|
||||||
@ -44,6 +45,7 @@ export type FieldMetadataItem = Omit<
|
|||||||
defaultValue?: any;
|
defaultValue?: any;
|
||||||
options?: FieldMetadataItemOption[];
|
options?: FieldMetadataItemOption[];
|
||||||
relationDefinition?: {
|
relationDefinition?: {
|
||||||
|
relationId: RelationDefinition['relationId'];
|
||||||
direction: RelationDefinitionType;
|
direction: RelationDefinitionType;
|
||||||
sourceFieldMetadata: Pick<Field, 'id' | 'name'>;
|
sourceFieldMetadata: Pick<Field, 'id' | 'name'>;
|
||||||
sourceObjectMetadata: Pick<
|
sourceObjectMetadata: Pick<
|
||||||
|
|||||||
@ -55,6 +55,7 @@ export const fieldMetadataItemSchema = z.object({
|
|||||||
relationDefinition: z
|
relationDefinition: z
|
||||||
.object({
|
.object({
|
||||||
__typename: z.literal('RelationDefinition').optional(),
|
__typename: z.literal('RelationDefinition').optional(),
|
||||||
|
relationId: z.string().uuid(),
|
||||||
direction: z.nativeEnum(RelationDefinitionType),
|
direction: z.nativeEnum(RelationDefinitionType),
|
||||||
sourceFieldMetadata: z.object({
|
sourceFieldMetadata: z.object({
|
||||||
__typename: z.literal('field').optional(),
|
__typename: z.literal('field').optional(),
|
||||||
|
|||||||
@ -12,14 +12,14 @@ type SettingsObjectFieldInactiveActionDropdownProps = {
|
|||||||
isCustomField?: boolean;
|
isCustomField?: boolean;
|
||||||
fieldType?: FieldMetadataType;
|
fieldType?: FieldMetadataType;
|
||||||
onActivate: () => void;
|
onActivate: () => void;
|
||||||
onErase: () => void;
|
onDelete: () => void;
|
||||||
scopeKey: string;
|
scopeKey: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const SettingsObjectFieldInactiveActionDropdown = ({
|
export const SettingsObjectFieldInactiveActionDropdown = ({
|
||||||
onActivate,
|
onActivate,
|
||||||
scopeKey,
|
scopeKey,
|
||||||
onErase,
|
onDelete,
|
||||||
isCustomField,
|
isCustomField,
|
||||||
fieldType,
|
fieldType,
|
||||||
}: SettingsObjectFieldInactiveActionDropdownProps) => {
|
}: SettingsObjectFieldInactiveActionDropdownProps) => {
|
||||||
@ -32,15 +32,12 @@ export const SettingsObjectFieldInactiveActionDropdown = ({
|
|||||||
closeDropdown();
|
closeDropdown();
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleErase = () => {
|
const handleDelete = () => {
|
||||||
onErase();
|
onDelete();
|
||||||
closeDropdown();
|
closeDropdown();
|
||||||
};
|
};
|
||||||
|
|
||||||
const isErasable =
|
const isDeletable = isCustomField && fieldType !== FieldMetadataType.Address;
|
||||||
isCustomField &&
|
|
||||||
fieldType !== FieldMetadataType.Relation &&
|
|
||||||
fieldType !== FieldMetadataType.Address;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Dropdown
|
<Dropdown
|
||||||
@ -56,12 +53,12 @@ export const SettingsObjectFieldInactiveActionDropdown = ({
|
|||||||
LeftIcon={IconArchiveOff}
|
LeftIcon={IconArchiveOff}
|
||||||
onClick={handleActivate}
|
onClick={handleActivate}
|
||||||
/>
|
/>
|
||||||
{isErasable && (
|
{isDeletable && (
|
||||||
<MenuItem
|
<MenuItem
|
||||||
text="Erase"
|
text="Delete"
|
||||||
accent="danger"
|
accent="danger"
|
||||||
LeftIcon={IconTrash}
|
LeftIcon={IconTrash}
|
||||||
onClick={handleErase}
|
onClick={handleDelete}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</DropdownMenuItemsContainer>
|
</DropdownMenuItemsContainer>
|
||||||
|
|||||||
@ -10,14 +10,14 @@ import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem';
|
|||||||
type SettingsObjectInactiveMenuDropDownProps = {
|
type SettingsObjectInactiveMenuDropDownProps = {
|
||||||
isCustomObject: boolean;
|
isCustomObject: boolean;
|
||||||
onActivate: () => void;
|
onActivate: () => void;
|
||||||
onErase: () => void;
|
onDelete: () => void;
|
||||||
scopeKey: string;
|
scopeKey: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const SettingsObjectInactiveMenuDropDown = ({
|
export const SettingsObjectInactiveMenuDropDown = ({
|
||||||
onActivate,
|
onActivate,
|
||||||
scopeKey,
|
scopeKey,
|
||||||
onErase,
|
onDelete,
|
||||||
isCustomObject,
|
isCustomObject,
|
||||||
}: SettingsObjectInactiveMenuDropDownProps) => {
|
}: SettingsObjectInactiveMenuDropDownProps) => {
|
||||||
const dropdownId = `${scopeKey}-settings-object-inactive-menu-dropdown`;
|
const dropdownId = `${scopeKey}-settings-object-inactive-menu-dropdown`;
|
||||||
@ -29,8 +29,8 @@ export const SettingsObjectInactiveMenuDropDown = ({
|
|||||||
closeDropdown();
|
closeDropdown();
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleErase = () => {
|
const handleDelete = () => {
|
||||||
onErase();
|
onDelete();
|
||||||
closeDropdown();
|
closeDropdown();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -50,10 +50,10 @@ export const SettingsObjectInactiveMenuDropDown = ({
|
|||||||
/>
|
/>
|
||||||
{isCustomObject && (
|
{isCustomObject && (
|
||||||
<MenuItem
|
<MenuItem
|
||||||
text="Erase"
|
text="Delete"
|
||||||
LeftIcon={IconTrash}
|
LeftIcon={IconTrash}
|
||||||
accent="danger"
|
accent="danger"
|
||||||
onClick={handleErase}
|
onClick={handleDelete}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</DropdownMenuItemsContainer>
|
</DropdownMenuItemsContainer>
|
||||||
|
|||||||
@ -5,12 +5,12 @@ import { ComponentDecorator } from 'twenty-ui';
|
|||||||
import { SettingsObjectInactiveMenuDropDown } from '../SettingsObjectInactiveMenuDropDown';
|
import { SettingsObjectInactiveMenuDropDown } from '../SettingsObjectInactiveMenuDropDown';
|
||||||
|
|
||||||
const handleActivateMockFunction = fn();
|
const handleActivateMockFunction = fn();
|
||||||
const handleEraseMockFunction = fn();
|
const handleDeleteMockFunction = fn();
|
||||||
|
|
||||||
const ClearMocksDecorator: Decorator = (Story, context) => {
|
const ClearMocksDecorator: Decorator = (Story, context) => {
|
||||||
if (context.parameters.clearMocks === true) {
|
if (context.parameters.clearMocks === true) {
|
||||||
handleActivateMockFunction.mockClear();
|
handleActivateMockFunction.mockClear();
|
||||||
handleEraseMockFunction.mockClear();
|
handleDeleteMockFunction.mockClear();
|
||||||
}
|
}
|
||||||
return <Story />;
|
return <Story />;
|
||||||
};
|
};
|
||||||
@ -21,7 +21,7 @@ const meta: Meta<typeof SettingsObjectInactiveMenuDropDown> = {
|
|||||||
args: {
|
args: {
|
||||||
scopeKey: 'settings-object-inactive-menu-dropdown',
|
scopeKey: 'settings-object-inactive-menu-dropdown',
|
||||||
onActivate: handleActivateMockFunction,
|
onActivate: handleActivateMockFunction,
|
||||||
onErase: handleEraseMockFunction,
|
onDelete: handleDeleteMockFunction,
|
||||||
},
|
},
|
||||||
decorators: [ComponentDecorator, ClearMocksDecorator],
|
decorators: [ComponentDecorator, ClearMocksDecorator],
|
||||||
parameters: {
|
parameters: {
|
||||||
@ -64,7 +64,7 @@ export const WithActivate: Story = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const WithErase: Story = {
|
export const WithDelete: Story = {
|
||||||
args: { isCustomObject: true },
|
args: { isCustomObject: true },
|
||||||
play: async ({ canvasElement }) => {
|
play: async ({ canvasElement }) => {
|
||||||
const canvas = within(canvasElement);
|
const canvas = within(canvasElement);
|
||||||
@ -73,13 +73,13 @@ export const WithErase: Story = {
|
|||||||
|
|
||||||
await userEvent.click(dropdownButton);
|
await userEvent.click(dropdownButton);
|
||||||
|
|
||||||
await expect(handleEraseMockFunction).toHaveBeenCalledTimes(0);
|
await expect(handleDeleteMockFunction).toHaveBeenCalledTimes(0);
|
||||||
|
|
||||||
const eraseMenuItem = await canvas.getByText('Erase');
|
const deleteMenuItem = await canvas.getByText('Delete');
|
||||||
|
|
||||||
await userEvent.click(eraseMenuItem);
|
await userEvent.click(deleteMenuItem);
|
||||||
|
|
||||||
await expect(handleEraseMockFunction).toHaveBeenCalledTimes(1);
|
await expect(handleDeleteMockFunction).toHaveBeenCalledTimes(1);
|
||||||
|
|
||||||
await userEvent.click(dropdownButton);
|
await userEvent.click(dropdownButton);
|
||||||
},
|
},
|
||||||
|
|||||||
@ -54,15 +54,18 @@ export const SettingsObjectDetail = () => {
|
|||||||
if (!activeObjectMetadataItem) navigate(AppPath.NotFound);
|
if (!activeObjectMetadataItem) navigate(AppPath.NotFound);
|
||||||
}, [activeObjectMetadataItem, navigate]);
|
}, [activeObjectMetadataItem, navigate]);
|
||||||
|
|
||||||
const { activateMetadataField, disableMetadataField, eraseMetadataField } =
|
const {
|
||||||
useFieldMetadataItem();
|
activateMetadataField,
|
||||||
|
deactivateMetadataField,
|
||||||
|
deleteMetadataField,
|
||||||
|
} = useFieldMetadataItem();
|
||||||
|
|
||||||
if (!activeObjectMetadataItem) return null;
|
if (!activeObjectMetadataItem) return null;
|
||||||
|
|
||||||
const activeMetadataFields = getActiveFieldMetadataItems(
|
const activeMetadataFields = getActiveFieldMetadataItems(
|
||||||
activeObjectMetadataItem,
|
activeObjectMetadataItem,
|
||||||
);
|
);
|
||||||
const disabledMetadataFields = getDisabledFieldMetadataItems(
|
const deactivatedMetadataFields = getDisabledFieldMetadataItems(
|
||||||
activeObjectMetadataItem,
|
activeObjectMetadataItem,
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -75,7 +78,7 @@ export const SettingsObjectDetail = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleDisableField = (activeFieldMetadatItem: FieldMetadataItem) => {
|
const handleDisableField = (activeFieldMetadatItem: FieldMetadataItem) => {
|
||||||
disableMetadataField(activeFieldMetadatItem);
|
deactivateMetadataField(activeFieldMetadatItem);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleSetLabelIdentifierField = (
|
const handleSetLabelIdentifierField = (
|
||||||
@ -180,27 +183,27 @@ export const SettingsObjectDetail = () => {
|
|||||||
})}
|
})}
|
||||||
</TableSection>
|
</TableSection>
|
||||||
)}
|
)}
|
||||||
{!!disabledMetadataFields.length && (
|
{!!deactivatedMetadataFields.length && (
|
||||||
<TableSection isInitiallyExpanded={false} title="Inactive">
|
<TableSection isInitiallyExpanded={false} title="Inactive">
|
||||||
{disabledMetadataFields.map((disabledMetadataField) => (
|
{deactivatedMetadataFields.map((deactivatedMetadataField) => (
|
||||||
<SettingsObjectFieldItemTableRow
|
<SettingsObjectFieldItemTableRow
|
||||||
key={disabledMetadataField.id}
|
key={deactivatedMetadataField.id}
|
||||||
variant={
|
variant={
|
||||||
activeObjectMetadataItem.isCustom
|
activeObjectMetadataItem.isCustom
|
||||||
? 'identifier'
|
? 'identifier'
|
||||||
: 'field-type'
|
: 'field-type'
|
||||||
}
|
}
|
||||||
fieldMetadataItem={disabledMetadataField}
|
fieldMetadataItem={deactivatedMetadataField}
|
||||||
ActionIcon={
|
ActionIcon={
|
||||||
<SettingsObjectFieldInactiveActionDropdown
|
<SettingsObjectFieldInactiveActionDropdown
|
||||||
isCustomField={!!disabledMetadataField.isCustom}
|
isCustomField={!!deactivatedMetadataField.isCustom}
|
||||||
fieldType={disabledMetadataField.type}
|
fieldType={deactivatedMetadataField.type}
|
||||||
scopeKey={disabledMetadataField.id}
|
scopeKey={deactivatedMetadataField.id}
|
||||||
onActivate={() =>
|
onActivate={() =>
|
||||||
activateMetadataField(disabledMetadataField)
|
activateMetadataField(deactivatedMetadataField)
|
||||||
}
|
}
|
||||||
onErase={() =>
|
onDelete={() =>
|
||||||
eraseMetadataField(disabledMetadataField)
|
deleteMetadataField(deactivatedMetadataField)
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
@ -218,7 +221,7 @@ export const SettingsObjectDetail = () => {
|
|||||||
variant="secondary"
|
variant="secondary"
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
navigate(
|
navigate(
|
||||||
disabledMetadataFields.length
|
deactivatedMetadataFields.length
|
||||||
? './new-field/step-1'
|
? './new-field/step-1'
|
||||||
: './new-field/step-2',
|
: './new-field/step-2',
|
||||||
)
|
)
|
||||||
|
|||||||
@ -146,10 +146,10 @@ export const SettingsObjectEdit = () => {
|
|||||||
/>
|
/>
|
||||||
</Section>
|
</Section>
|
||||||
<Section>
|
<Section>
|
||||||
<H2Title title="Danger zone" description="Disable object" />
|
<H2Title title="Danger zone" description="Deactivate object" />
|
||||||
<Button
|
<Button
|
||||||
Icon={IconArchive}
|
Icon={IconArchive}
|
||||||
title="Disable"
|
title="Deactivate"
|
||||||
size="small"
|
size="small"
|
||||||
onClick={handleDisable}
|
onClick={handleDisable}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -64,7 +64,7 @@ export const SettingsObjectFieldEdit = () => {
|
|||||||
const activeObjectMetadataItem =
|
const activeObjectMetadataItem =
|
||||||
findActiveObjectMetadataItemBySlug(objectSlug);
|
findActiveObjectMetadataItemBySlug(objectSlug);
|
||||||
|
|
||||||
const { disableMetadataField } = useFieldMetadataItem();
|
const { deactivateMetadataField } = useFieldMetadataItem();
|
||||||
const activeMetadataField = activeObjectMetadataItem?.fields.find(
|
const activeMetadataField = activeObjectMetadataItem?.fields.find(
|
||||||
(metadataField) =>
|
(metadataField) =>
|
||||||
metadataField.isActive && getFieldSlug(metadataField) === fieldSlug,
|
metadataField.isActive && getFieldSlug(metadataField) === fieldSlug,
|
||||||
@ -142,8 +142,8 @@ export const SettingsObjectFieldEdit = () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleDisable = async () => {
|
const handleDeactivate = async () => {
|
||||||
await disableMetadataField(activeMetadataField);
|
await deactivateMetadataField(activeMetadataField);
|
||||||
navigate(`/settings/objects/${objectSlug}`);
|
navigate(`/settings/objects/${objectSlug}`);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -201,12 +201,15 @@ export const SettingsObjectFieldEdit = () => {
|
|||||||
</Section>
|
</Section>
|
||||||
{!isLabelIdentifier && (
|
{!isLabelIdentifier && (
|
||||||
<Section>
|
<Section>
|
||||||
<H2Title title="Danger zone" description="Disable this field" />
|
<H2Title
|
||||||
|
title="Danger zone"
|
||||||
|
description="Deactivate this field"
|
||||||
|
/>
|
||||||
<Button
|
<Button
|
||||||
Icon={IconArchive}
|
Icon={IconArchive}
|
||||||
title="Disable"
|
title="Deactivate"
|
||||||
size="small"
|
size="small"
|
||||||
onClick={handleDisable}
|
onClick={handleDeactivate}
|
||||||
/>
|
/>
|
||||||
</Section>
|
</Section>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -44,14 +44,14 @@ export const SettingsObjectNewFieldStep1 = () => {
|
|||||||
const activeObjectMetadataItem =
|
const activeObjectMetadataItem =
|
||||||
findActiveObjectMetadataItemBySlug(objectSlug);
|
findActiveObjectMetadataItemBySlug(objectSlug);
|
||||||
|
|
||||||
const { activateMetadataField, disableMetadataField } =
|
const { activateMetadataField, deactivateMetadataField } =
|
||||||
useFieldMetadataItem();
|
useFieldMetadataItem();
|
||||||
const [metadataFields, setMetadataFields] = useState(
|
const [metadataFields, setMetadataFields] = useState(
|
||||||
activeObjectMetadataItem?.fields ?? [],
|
activeObjectMetadataItem?.fields ?? [],
|
||||||
);
|
);
|
||||||
|
|
||||||
const activeMetadataFields = metadataFields.filter((field) => field.isActive);
|
const activeMetadataFields = metadataFields.filter((field) => field.isActive);
|
||||||
const disabledMetadataFields = metadataFields.filter(
|
const deactivatedMetadataFields = metadataFields.filter(
|
||||||
(field) => !field.isActive,
|
(field) => !field.isActive,
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ export const SettingsObjectNewFieldStep1 = () => {
|
|||||||
|
|
||||||
return metadataField.isActive
|
return metadataField.isActive
|
||||||
? activateMetadataField(metadataField)
|
? activateMetadataField(metadataField)
|
||||||
: disableMetadataField(metadataField);
|
: deactivateMetadataField(metadataField);
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -124,8 +124,8 @@ export const SettingsObjectNewFieldStep1 = () => {
|
|||||||
</SettingsHeaderContainer>
|
</SettingsHeaderContainer>
|
||||||
<StyledSection>
|
<StyledSection>
|
||||||
<H2Title
|
<H2Title
|
||||||
title="Check disabled fields"
|
title="Check deactivated fields"
|
||||||
description="Before creating a custom field, check if it already exists in the disabled section."
|
description="Before creating a custom field, check if it already exists in the deactivated section."
|
||||||
/>
|
/>
|
||||||
<Table>
|
<Table>
|
||||||
<StyledObjectFieldTableRow>
|
<StyledObjectFieldTableRow>
|
||||||
@ -159,18 +159,18 @@ export const SettingsObjectNewFieldStep1 = () => {
|
|||||||
))}
|
))}
|
||||||
</TableSection>
|
</TableSection>
|
||||||
)}
|
)}
|
||||||
{!!disabledMetadataFields.length && (
|
{!!deactivatedMetadataFields.length && (
|
||||||
<TableSection title="Disabled">
|
<TableSection title="Disabled">
|
||||||
{disabledMetadataFields.map((disabledMetadataField) => (
|
{deactivatedMetadataFields.map((deactivatedMetadataField) => (
|
||||||
<SettingsObjectFieldItemTableRow
|
<SettingsObjectFieldItemTableRow
|
||||||
key={disabledMetadataField.name}
|
key={deactivatedMetadataField.name}
|
||||||
fieldMetadataItem={disabledMetadataField}
|
fieldMetadataItem={deactivatedMetadataField}
|
||||||
ActionIcon={
|
ActionIcon={
|
||||||
<LightIconButton
|
<LightIconButton
|
||||||
Icon={IconPlus}
|
Icon={IconPlus}
|
||||||
accent="tertiary"
|
accent="tertiary"
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
handleToggleField(disabledMetadataField.id)
|
handleToggleField(deactivatedMetadataField.id)
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
|
|||||||
@ -110,7 +110,7 @@ export const SettingsObjects = () => {
|
|||||||
updatePayload: { isActive: true },
|
updatePayload: { isActive: true },
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
onErase={() =>
|
onDelete={() =>
|
||||||
deleteOneObjectMetadataItem(
|
deleteOneObjectMetadataItem(
|
||||||
inactiveObjectMetadataItem.id,
|
inactiveObjectMetadataItem.id,
|
||||||
)
|
)
|
||||||
|
|||||||
@ -33,7 +33,7 @@ export const Default: Story = {
|
|||||||
await canvas.findByText('Settings');
|
await canvas.findByText('Settings');
|
||||||
await canvas.findByText('Objects');
|
await canvas.findByText('Objects');
|
||||||
await canvas.findByText('Companies');
|
await canvas.findByText('Companies');
|
||||||
await canvas.findByText('Check disabled fields');
|
await canvas.findByText('Check deactivated fields');
|
||||||
await canvas.findByText('Add Custom Field');
|
await canvas.findByText('Add Custom Field');
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@ -191,7 +191,7 @@ export const SettingsDevelopersApiKeyDetail = () => {
|
|||||||
<Button
|
<Button
|
||||||
accent="danger"
|
accent="danger"
|
||||||
variant="secondary"
|
variant="secondary"
|
||||||
title="Disable"
|
title="Delete"
|
||||||
Icon={IconTrash}
|
Icon={IconTrash}
|
||||||
onClick={() => setIsDeleteApiKeyModalOpen(true)}
|
onClick={() => setIsDeleteApiKeyModalOpen(true)}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -64,7 +64,7 @@ export const SettingsDevelopersWebhooksDetail = () => {
|
|||||||
<Button
|
<Button
|
||||||
accent="danger"
|
accent="danger"
|
||||||
variant="secondary"
|
variant="secondary"
|
||||||
title="Disable"
|
title="Delete"
|
||||||
Icon={IconTrash}
|
Icon={IconTrash}
|
||||||
onClick={() => setIsDeleteWebhookModalOpen(true)}
|
onClick={() => setIsDeleteWebhookModalOpen(true)}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -68,6 +68,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
__typename: 'object',
|
__typename: 'object',
|
||||||
@ -129,6 +130,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
__typename: 'object',
|
__typename: 'object',
|
||||||
@ -211,6 +213,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -601,6 +604,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -772,6 +776,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -833,6 +838,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -1038,6 +1044,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -1155,6 +1162,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -1326,6 +1334,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -1461,6 +1470,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -1578,6 +1588,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -1683,6 +1694,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -1832,6 +1844,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -1981,6 +1994,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:51:28.716Z',
|
updatedAt: '2024-04-08T12:51:28.716Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -2042,6 +2056,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -2225,6 +2240,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -2430,6 +2446,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -2701,6 +2718,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -2888,6 +2906,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -3072,6 +3091,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -3177,6 +3197,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -3395,6 +3416,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -3478,6 +3500,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -3539,6 +3562,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -3600,6 +3624,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -3686,6 +3711,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -3772,6 +3798,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -3867,6 +3894,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:51:28.716Z',
|
updatedAt: '2024-04-08T12:51:28.716Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -3972,6 +4000,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:51:28.722Z',
|
updatedAt: '2024-04-08T12:51:28.722Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -4033,6 +4062,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:54:56.499Z',
|
updatedAt: '2024-04-08T12:54:56.499Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -4116,6 +4146,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:51:58.429Z',
|
updatedAt: '2024-04-08T12:51:58.429Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -4199,6 +4230,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:51:28.726Z',
|
updatedAt: '2024-04-08T12:51:28.726Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -4282,6 +4314,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:51:28.729Z',
|
updatedAt: '2024-04-08T12:51:28.729Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -4565,6 +4598,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -4692,6 +4726,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -4831,6 +4866,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -4958,6 +4994,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -5097,6 +5134,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -5202,6 +5240,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -5307,6 +5346,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -5390,6 +5430,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -5561,6 +5602,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -5678,6 +5720,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -5783,6 +5826,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -5913,6 +5957,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -5974,6 +6019,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -6035,6 +6081,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -6118,6 +6165,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -6179,6 +6227,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -6240,6 +6289,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -6323,6 +6373,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -6406,6 +6457,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -6467,6 +6519,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -6606,6 +6659,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -6711,6 +6765,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -7051,6 +7106,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -7134,6 +7190,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -7283,6 +7340,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -7344,6 +7402,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -7537,6 +7596,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -7598,6 +7658,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:51:28.729Z',
|
updatedAt: '2024-04-08T12:51:28.729Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -7715,6 +7776,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -7776,6 +7838,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -7859,6 +7922,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -7920,6 +7984,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -8025,6 +8090,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -8302,6 +8368,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -8507,6 +8574,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -8678,6 +8746,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -9074,6 +9143,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -9223,6 +9293,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -9306,6 +9377,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -9549,6 +9621,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -9676,6 +9749,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -9771,6 +9845,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -9854,6 +9929,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -9959,6 +10035,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -10043,6 +10120,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -10126,6 +10204,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -10281,6 +10360,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:54:56.499Z',
|
updatedAt: '2024-04-08T12:54:56.499Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -10342,6 +10422,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -10403,6 +10484,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:51:58.429Z',
|
updatedAt: '2024-04-08T12:51:58.429Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -10537,6 +10619,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -10875,6 +10958,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -10936,6 +11020,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -11019,6 +11104,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -11298,6 +11384,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -11359,6 +11446,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -11442,6 +11530,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -11603,6 +11692,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -11686,6 +11776,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -11812,6 +11903,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -11894,6 +11986,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -11954,6 +12047,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:51:28.722Z',
|
updatedAt: '2024-04-08T12:51:28.722Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -12092,6 +12186,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -12362,6 +12457,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
updatedAt: '2024-04-08T12:51:28.726Z',
|
updatedAt: '2024-04-08T12:51:28.726Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -12483,6 +12579,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -12551,6 +12648,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
fromRelationMetadata: null,
|
fromRelationMetadata: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -12633,6 +12731,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
fromRelationMetadata: null,
|
fromRelationMetadata: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
@ -12773,6 +12872,7 @@ export const mockedStandardObjectMetadataQueryResult: ObjectMetadataItemsQuery =
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '6a0aa90c-d7bb-458d-9364-12366fc8683b',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'MANY_TO_ONE',
|
direction: 'MANY_TO_ONE',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
|
|||||||
@ -54,6 +54,7 @@ const customObjectMetadataItemEdge: ObjectEdge = {
|
|||||||
updatedAt: '2024-04-08T12:48:49.538Z',
|
updatedAt: '2024-04-08T12:48:49.538Z',
|
||||||
defaultValue: null,
|
defaultValue: null,
|
||||||
relationDefinition: {
|
relationDefinition: {
|
||||||
|
relationId: '1ec22b36-9e3c-4f24-8cf6-6c387ec3f243',
|
||||||
__typename: 'RelationDefinition',
|
__typename: 'RelationDefinition',
|
||||||
direction: 'ONE_TO_MANY',
|
direction: 'ONE_TO_MANY',
|
||||||
sourceObjectMetadata: {
|
sourceObjectMetadata: {
|
||||||
|
|||||||
@ -2,10 +2,12 @@ import { Field, ObjectType, registerEnumType } from '@nestjs/graphql';
|
|||||||
|
|
||||||
import { IsEnum, IsNotEmpty } from 'class-validator';
|
import { IsEnum, IsNotEmpty } from 'class-validator';
|
||||||
import { Relation } from 'typeorm';
|
import { Relation } from 'typeorm';
|
||||||
|
import { IDField } from '@ptc-org/nestjs-query-graphql';
|
||||||
|
|
||||||
import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto';
|
import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto';
|
||||||
import { ObjectMetadataDTO } from 'src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto';
|
import { ObjectMetadataDTO } from 'src/engine/metadata-modules/object-metadata/dtos/object-metadata.dto';
|
||||||
import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity';
|
import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity';
|
||||||
|
import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars';
|
||||||
|
|
||||||
export enum RelationDefinitionType {
|
export enum RelationDefinitionType {
|
||||||
ONE_TO_ONE = RelationMetadataType.ONE_TO_ONE,
|
ONE_TO_ONE = RelationMetadataType.ONE_TO_ONE,
|
||||||
@ -21,6 +23,10 @@ registerEnumType(RelationDefinitionType, {
|
|||||||
|
|
||||||
@ObjectType('RelationDefinition')
|
@ObjectType('RelationDefinition')
|
||||||
export class RelationDefinitionDTO {
|
export class RelationDefinitionDTO {
|
||||||
|
@IsNotEmpty()
|
||||||
|
@IDField(() => UUIDScalarType)
|
||||||
|
relationId: string;
|
||||||
|
|
||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
@Field(() => ObjectMetadataDTO)
|
@Field(() => ObjectMetadataDTO)
|
||||||
sourceObjectMetadata: Relation<ObjectMetadataDTO>;
|
sourceObjectMetadata: Relation<ObjectMetadataDTO>;
|
||||||
|
|||||||
@ -529,6 +529,7 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
|
|||||||
: RelationDefinitionType.ONE_TO_MANY;
|
: RelationDefinitionType.ONE_TO_MANY;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
relationId: relationMetadata.id,
|
||||||
sourceObjectMetadata: relationMetadata.fromObjectMetadata,
|
sourceObjectMetadata: relationMetadata.fromObjectMetadata,
|
||||||
sourceFieldMetadata: relationMetadata.fromFieldMetadata,
|
sourceFieldMetadata: relationMetadata.fromFieldMetadata,
|
||||||
targetObjectMetadata: relationMetadata.toObjectMetadata,
|
targetObjectMetadata: relationMetadata.toObjectMetadata,
|
||||||
@ -542,6 +543,7 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
|
|||||||
: RelationDefinitionType.MANY_TO_ONE;
|
: RelationDefinitionType.MANY_TO_ONE;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
relationId: relationMetadata.id,
|
||||||
sourceObjectMetadata: relationMetadata.toObjectMetadata,
|
sourceObjectMetadata: relationMetadata.toObjectMetadata,
|
||||||
sourceFieldMetadata: relationMetadata.toFieldMetadata,
|
sourceFieldMetadata: relationMetadata.toFieldMetadata,
|
||||||
targetObjectMetadata: relationMetadata.fromObjectMetadata,
|
targetObjectMetadata: relationMetadata.fromObjectMetadata,
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import { WorkspaceMigrationModule } from 'src/engine/metadata-modules/workspace-
|
|||||||
import { WorkspaceMigrationRunnerModule } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module';
|
import { WorkspaceMigrationRunnerModule } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.module';
|
||||||
import { WorkspaceCacheVersionModule } from 'src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.module';
|
import { WorkspaceCacheVersionModule } from 'src/engine/metadata-modules/workspace-cache-version/workspace-cache-version.module';
|
||||||
import { RelationMetadataResolver } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.resolver';
|
import { RelationMetadataResolver } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.resolver';
|
||||||
|
import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
||||||
|
|
||||||
import { RelationMetadataService } from './relation-metadata.service';
|
import { RelationMetadataService } from './relation-metadata.service';
|
||||||
import { RelationMetadataEntity } from './relation-metadata.entity';
|
import { RelationMetadataEntity } from './relation-metadata.entity';
|
||||||
@ -25,7 +26,7 @@ import { RelationMetadataDTO } from './dtos/relation-metadata.dto';
|
|||||||
NestjsQueryGraphQLModule.forFeature({
|
NestjsQueryGraphQLModule.forFeature({
|
||||||
imports: [
|
imports: [
|
||||||
NestjsQueryTypeOrmModule.forFeature(
|
NestjsQueryTypeOrmModule.forFeature(
|
||||||
[RelationMetadataEntity],
|
[RelationMetadataEntity, FieldMetadataEntity],
|
||||||
'metadata',
|
'metadata',
|
||||||
),
|
),
|
||||||
ObjectMetadataModule,
|
ObjectMetadataModule,
|
||||||
|
|||||||
@ -16,9 +16,13 @@ import { FieldMetadataService } from 'src/engine/metadata-modules/field-metadata
|
|||||||
import { CreateRelationInput } from 'src/engine/metadata-modules/relation-metadata/dtos/create-relation.input';
|
import { CreateRelationInput } from 'src/engine/metadata-modules/relation-metadata/dtos/create-relation.input';
|
||||||
import { WorkspaceMigrationRunnerService } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service';
|
import { WorkspaceMigrationRunnerService } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service';
|
||||||
import { WorkspaceMigrationService } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.service';
|
import { WorkspaceMigrationService } from 'src/engine/metadata-modules/workspace-migration/workspace-migration.service';
|
||||||
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
import {
|
||||||
|
FieldMetadataEntity,
|
||||||
|
FieldMetadataType,
|
||||||
|
} from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
||||||
import {
|
import {
|
||||||
WorkspaceMigrationColumnActionType,
|
WorkspaceMigrationColumnActionType,
|
||||||
|
WorkspaceMigrationColumnDrop,
|
||||||
WorkspaceMigrationTableActionType,
|
WorkspaceMigrationTableActionType,
|
||||||
} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity';
|
} from 'src/engine/metadata-modules/workspace-migration/workspace-migration.entity';
|
||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
||||||
@ -39,6 +43,8 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
|
|||||||
constructor(
|
constructor(
|
||||||
@InjectRepository(RelationMetadataEntity, 'metadata')
|
@InjectRepository(RelationMetadataEntity, 'metadata')
|
||||||
private readonly relationMetadataRepository: Repository<RelationMetadataEntity>,
|
private readonly relationMetadataRepository: Repository<RelationMetadataEntity>,
|
||||||
|
@InjectRepository(FieldMetadataEntity, 'metadata')
|
||||||
|
private readonly fieldMetadataRepository: Repository<FieldMetadataEntity>,
|
||||||
private readonly objectMetadataService: ObjectMetadataService,
|
private readonly objectMetadataService: ObjectMetadataService,
|
||||||
private readonly fieldMetadataService: FieldMetadataService,
|
private readonly fieldMetadataService: FieldMetadataService,
|
||||||
private readonly workspaceMigrationService: WorkspaceMigrationService,
|
private readonly workspaceMigrationService: WorkspaceMigrationService,
|
||||||
@ -242,7 +248,7 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
|
|||||||
label: relationMetadataInput[`${relationDirection}Label`],
|
label: relationMetadataInput[`${relationDirection}Label`],
|
||||||
description: relationMetadataInput[`${relationDirection}Description`],
|
description: relationMetadataInput[`${relationDirection}Description`],
|
||||||
icon: relationMetadataInput[`${relationDirection}Icon`],
|
icon: relationMetadataInput[`${relationDirection}Icon`],
|
||||||
isCustom: true,
|
isCustom,
|
||||||
isActive: true,
|
isActive: true,
|
||||||
isNullable: true,
|
isNullable: true,
|
||||||
type: FieldMetadataType.RELATION,
|
type: FieldMetadataType.RELATION,
|
||||||
@ -320,13 +326,36 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
|
|||||||
// TODO: This logic is duplicated with the BeforeDeleteOneRelation hook
|
// TODO: This logic is duplicated with the BeforeDeleteOneRelation hook
|
||||||
const relationMetadata = await this.relationMetadataRepository.findOne({
|
const relationMetadata = await this.relationMetadataRepository.findOne({
|
||||||
where: { id },
|
where: { id },
|
||||||
relations: ['fromFieldMetadata', 'toFieldMetadata'],
|
relations: [
|
||||||
|
'fromFieldMetadata',
|
||||||
|
'toFieldMetadata',
|
||||||
|
'fromObjectMetadata',
|
||||||
|
'toObjectMetadata',
|
||||||
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!relationMetadata) {
|
if (!relationMetadata) {
|
||||||
throw new NotFoundException('Relation does not exist');
|
throw new NotFoundException('Relation does not exist');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const foreignKeyFieldMetadataName = `${camelCase(
|
||||||
|
relationMetadata.toFieldMetadata.name,
|
||||||
|
)}Id`;
|
||||||
|
|
||||||
|
const foreignKeyFieldMetadata = await this.fieldMetadataRepository.findOne({
|
||||||
|
where: {
|
||||||
|
name: foreignKeyFieldMetadataName,
|
||||||
|
objectMetadataId: relationMetadata.toObjectMetadataId,
|
||||||
|
workspaceId: relationMetadata.workspaceId,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!foreignKeyFieldMetadata) {
|
||||||
|
throw new NotFoundException(
|
||||||
|
`Foreign key fieldMetadata not found (${foreignKeyFieldMetadataName}) for relation ${relationMetadata.id}`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
await super.deleteOne(id);
|
await super.deleteOne(id);
|
||||||
|
|
||||||
// TODO: Move to a cdc scheduler
|
// TODO: Move to a cdc scheduler
|
||||||
@ -335,10 +364,26 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
|
|||||||
in: [
|
in: [
|
||||||
relationMetadata.fromFieldMetadataId,
|
relationMetadata.fromFieldMetadataId,
|
||||||
relationMetadata.toFieldMetadataId,
|
relationMetadata.toFieldMetadataId,
|
||||||
|
foreignKeyFieldMetadata.id,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const columnName = `${camelCase(relationMetadata.toFieldMetadata.name)}Id`;
|
||||||
|
const objectTargetTable = computeObjectTargetTable(
|
||||||
|
relationMetadata.toObjectMetadata,
|
||||||
|
);
|
||||||
|
|
||||||
|
await this.deleteRelationWorkspaceCustomMigration(
|
||||||
|
relationMetadata,
|
||||||
|
objectTargetTable,
|
||||||
|
columnName,
|
||||||
|
);
|
||||||
|
|
||||||
|
await this.workspaceMigrationRunnerService.executeMigrationFromPendingMigrations(
|
||||||
|
relationMetadata.workspaceId,
|
||||||
|
);
|
||||||
|
|
||||||
await this.workspaceCacheVersionService.incrementVersion(workspaceId);
|
await this.workspaceCacheVersionService.incrementVersion(workspaceId);
|
||||||
|
|
||||||
// TODO: Return id for delete endpoints
|
// TODO: Return id for delete endpoints
|
||||||
@ -383,4 +428,30 @@ export class RelationMetadataService extends TypeOrmQueryService<RelationMetadat
|
|||||||
|
|
||||||
return mappedResult;
|
return mappedResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async deleteRelationWorkspaceCustomMigration(
|
||||||
|
relationMetadata: RelationMetadataEntity,
|
||||||
|
objectTargetTable: string,
|
||||||
|
columnName: string,
|
||||||
|
) {
|
||||||
|
await this.workspaceMigrationService.createCustomMigration(
|
||||||
|
generateMigrationName(
|
||||||
|
`delete-relation-from-${relationMetadata.fromObjectMetadata.nameSingular}-to-${relationMetadata.toObjectMetadata.nameSingular}`,
|
||||||
|
),
|
||||||
|
relationMetadata.workspaceId,
|
||||||
|
[
|
||||||
|
// Delete the column
|
||||||
|
{
|
||||||
|
name: objectTargetTable,
|
||||||
|
action: WorkspaceMigrationTableActionType.ALTER,
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
action: WorkspaceMigrationColumnActionType.DROP,
|
||||||
|
columnName,
|
||||||
|
} satisfies WorkspaceMigrationColumnDrop,
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user