From a58b4cf437a462e54bd2f14c4f574332b72287b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tha=C3=AFs?= Date: Mon, 29 Jan 2024 08:00:00 -0300 Subject: [PATCH] refactor: apply relation optimistic effects on record update (#3556) * refactor: apply relation optimistic effects on record update Related to #3509 * refactor: remove need to pass relation id field to create and update mutations * fix: fix tests * fix: fix SingleEntitySelect glitch * fix: fix usePersistField tests * fix: fix wrong import after rebase * fix: fix several tests * fix: fix test types --- packages/twenty-front/package.json | 6 +- ...GetRelationFieldsToOptimisticallyUpdate.ts | 76 ++ ...ggerUpdateRelationFieldOptimisticEffect.ts | 86 ++ .../__stories__/CommandMenu.stories.tsx | 16 +- .../components/NewOpportunityButton.tsx | 22 +- .../components/OpportunityPicker.tsx | 42 +- .../favorites/hooks/__mocks__/useFavorites.ts | 8 +- .../hooks/__tests__/useFavorites.test.tsx | 8 +- .../modules/favorites/hooks/useFavorites.ts | 3 +- .../ObjectMetadataItemsProvider.tsx | 17 +- ...bjectMetadataItemsRelationPickerEffect.tsx | 10 +- .../types/FieldMetadataItem.ts | 7 +- .../types/ObjectMetadataItem.ts | 3 +- ...rmatFieldMetadataItemAsColumnDefinition.ts | 56 +- ...ormatFieldMetadataItemAsFieldDefinition.ts | 49 + .../object-record/hooks/useCreateOneRecord.ts | 16 +- .../hooks/useGetRecordFromCache.ts | 2 +- .../hooks/useModifyRecordFromCache.ts | 2 +- .../object-record/hooks/useUpdateOneRecord.ts | 46 +- ...eSelectedRecordBoardCardsInternal.test.tsx | 1 - .../__mocks__/fieldDefinitions.ts | 73 +- .../hooks/__tests__/usePersistField.test.tsx | 25 +- .../__tests__/useToggleEditOnlyInput.test.tsx | 14 +- .../record-field/hooks/usePersistField.ts | 20 +- .../input/components/RelationFieldInput.tsx | 3 - .../RelationFieldInput.stories.tsx | 51 +- .../RecordRelationFieldCardContent.tsx | 30 +- .../RecordRelationFieldCardSection.tsx | 143 +-- .../components/RelationPicker.tsx | 36 +- .../components/SingleEntitySelect.tsx | 14 +- .../SingleEntitySelectMenuItems.tsx | 92 +- .../SingleEntitySelectMenuItemsWithSearch.tsx | 42 +- .../SingleEntitySelect.stories.tsx | 45 +- .../hooks/useEntitySelectSearch.ts | 12 +- .../utils/sanitizeRecordInput.ts | 32 +- .../SettingsObjectFieldPreview.stories.tsx | 20 +- ...gsObjectFieldTypeSelectSection.stories.tsx | 24 +- .../ObjectMetadataItemsDecorator.tsx | 24 +- .../src/testing/mock-data/metadata.ts | 888 +++++++----------- packages/twenty-front/tsconfig.json | 3 - packages/twenty-front/tsconfig.node.json | 10 - .../twenty-front/tsconfig.node.tsbuildinfo | 1 - packages/twenty-front/tsconfig.spec.json | 1 + 43 files changed, 970 insertions(+), 1109 deletions(-) create mode 100644 packages/twenty-front/src/modules/apollo/optimistic-effect/hooks/useGetRelationFieldsToOptimisticallyUpdate.ts create mode 100644 packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRelationFieldOptimisticEffect.ts create mode 100644 packages/twenty-front/src/modules/object-metadata/utils/formatFieldMetadataItemAsFieldDefinition.ts delete mode 100644 packages/twenty-front/tsconfig.node.json delete mode 100644 packages/twenty-front/tsconfig.node.tsbuildinfo diff --git a/packages/twenty-front/package.json b/packages/twenty-front/package.json index 690c20e800..705592ca8b 100644 --- a/packages/twenty-front/package.json +++ b/packages/twenty-front/package.json @@ -9,9 +9,9 @@ "start:clean": "yarn start --force", "build": "tsc && vite build && yarn build:inject-runtime-env", "build:inject-runtime-env": "sh ./scripts/inject-runtime-env.sh", - "tsc:spec": "tsc --project tsconfig.spec.json --noEmit", "tsc": "tsc --project tsconfig.app.json --watch", - "tsc:ci": "tsc --project tsconfig.app.json --noEmit && tsc --project tsconfig.spec.json --noEmit && tsc --project tsconfig.node.json --noEmit", + "tsc:ci": "tsc", + "tsc:spec": "tsc --project tsconfig.spec.json", "preview": "vite preview", "lint": "eslint . --report-unused-disable-directives --max-warnings 0 --config .eslintrc.cjs", "lint:ci": "yarn lint --config .eslintrc-ci.cjs", @@ -60,4 +60,4 @@ "msw": { "workerDirectory": "public" } -} +} \ No newline at end of file diff --git a/packages/twenty-front/src/modules/apollo/optimistic-effect/hooks/useGetRelationFieldsToOptimisticallyUpdate.ts b/packages/twenty-front/src/modules/apollo/optimistic-effect/hooks/useGetRelationFieldsToOptimisticallyUpdate.ts new file mode 100644 index 0000000000..4e5c6245e1 --- /dev/null +++ b/packages/twenty-front/src/modules/apollo/optimistic-effect/hooks/useGetRelationFieldsToOptimisticallyUpdate.ts @@ -0,0 +1,76 @@ +import { useRecoilCallback } from 'recoil'; + +import { TriggerUpdateRelationFieldOptimisticEffectParams } from '@/apollo/optimistic-effect/utils/triggerUpdateRelationFieldOptimisticEffect'; +import { objectMetadataItemFamilySelector } from '@/object-metadata/states/objectMetadataItemFamilySelector'; +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; +import { ObjectRecord } from '@/object-record/types/ObjectRecord'; +import { FieldMetadataType } from '~/generated-metadata/graphql'; + +export const useGetRelationFieldsToOptimisticallyUpdate = () => + useRecoilCallback( + ({ snapshot }) => + ({ + cachedRecord, + objectMetadataItem, + updateRecordInput, + }: { + cachedRecord: UpdatedObjectRecord & { __typename: string }; + objectMetadataItem: ObjectMetadataItem; + updateRecordInput: Partial>; + }) => + Object.entries(updateRecordInput).reduce< + Pick< + TriggerUpdateRelationFieldOptimisticEffectParams, + | 'relationObjectMetadataNameSingular' + | 'relationFieldName' + | 'previousRelationRecord' + | 'nextRelationRecord' + >[] + >((result, [fieldName, nextRelationRecord]) => { + const fieldDefinition = objectMetadataItem.fields.find( + (fieldMetadataItem) => fieldMetadataItem.name === fieldName, + ); + + if (fieldDefinition?.type !== FieldMetadataType.Relation) + return result; + + const relationObjectMetadataNameSingular = ( + fieldDefinition.toRelationMetadata?.fromObjectMetadata || + fieldDefinition.fromRelationMetadata?.toObjectMetadata + )?.nameSingular; + const relationFieldMetadataId = + fieldDefinition.toRelationMetadata?.fromFieldMetadataId || + fieldDefinition.fromRelationMetadata?.toFieldMetadataId; + + if (!relationObjectMetadataNameSingular || !relationFieldMetadataId) + return result; + + const relationObjectMetadataItem = snapshot + .getLoadable( + objectMetadataItemFamilySelector({ + objectName: relationObjectMetadataNameSingular, + objectNameType: 'singular', + }), + ) + .valueOrThrow(); + + if (!relationObjectMetadataItem) return result; + + const relationFieldName = relationObjectMetadataItem.fields.find( + (fieldMetadataItem) => + fieldMetadataItem.id === relationFieldMetadataId, + )?.name; + + if (!relationFieldName) return result; + + return [ + ...result, + { + relationObjectMetadataNameSingular, + relationFieldName, + previousRelationRecord: cachedRecord[fieldName], + nextRelationRecord, + }, + ]; + }, []), + ); diff --git a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRelationFieldOptimisticEffect.ts b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRelationFieldOptimisticEffect.ts new file mode 100644 index 0000000000..0f77085c97 --- /dev/null +++ b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRelationFieldOptimisticEffect.ts @@ -0,0 +1,86 @@ +import { ApolloCache, StoreObject } from '@apollo/client'; + +import { isCachedObjectConnection } from '@/apollo/optimistic-effect/utils/isCachedObjectConnection'; +import { CachedObjectRecordEdge } from '@/apollo/types/CachedObjectRecordEdge'; +import { ObjectRecord } from '@/object-record/types/ObjectRecord'; +import { capitalize } from '~/utils/string/capitalize'; + +export type TriggerUpdateRelationFieldOptimisticEffectParams = { + cache: ApolloCache; + objectNameSingular: string; + record: ObjectRecord; + relationObjectMetadataNameSingular: string; + relationFieldName: string; + previousRelationRecord: ObjectRecord | null; + nextRelationRecord: ObjectRecord | null; +}; + +export const triggerUpdateRelationFieldOptimisticEffect = ({ + cache, + objectNameSingular, + record, + relationObjectMetadataNameSingular, + relationFieldName, + previousRelationRecord, + nextRelationRecord, +}: TriggerUpdateRelationFieldOptimisticEffectParams) => { + const recordTypeName = capitalize(objectNameSingular); + const relationRecordTypeName = capitalize(relationObjectMetadataNameSingular); + + if (previousRelationRecord) { + cache.modify({ + id: cache.identify({ + ...previousRelationRecord, + __typename: relationRecordTypeName, + }), + fields: { + [relationFieldName]: (cachedFieldValue, { isReference, readField }) => { + // To many objects => remove record from previous relation field list + if (isCachedObjectConnection(objectNameSingular, cachedFieldValue)) { + const nextEdges = cachedFieldValue.edges.filter( + ({ node }) => readField('id', node) !== record.id, + ); + return { ...cachedFieldValue, edges: nextEdges }; + } + + // To one object => detach previous relation record + if (isReference(cachedFieldValue)) { + return null; + } + }, + }, + }); + } + + if (nextRelationRecord) { + cache.modify({ + id: cache.identify({ + ...nextRelationRecord, + __typename: relationRecordTypeName, + }), + fields: { + [relationFieldName]: (cachedFieldValue, { toReference }) => { + const nodeReference = toReference(record); + + if (!nodeReference) return cachedFieldValue; + + if (isCachedObjectConnection(objectNameSingular, cachedFieldValue)) { + // To many objects => add record to next relation field list + const nextEdges: CachedObjectRecordEdge[] = [ + ...cachedFieldValue.edges, + { + __typename: `${recordTypeName}Edge`, + node: nodeReference, + cursor: '', + }, + ]; + return { ...cachedFieldValue, edges: nextEdges }; + } + + // To one object => attach next relation record + return nodeReference; + }, + }, + }); + } +}; diff --git a/packages/twenty-front/src/modules/command-menu/components/__stories__/CommandMenu.stories.tsx b/packages/twenty-front/src/modules/command-menu/components/__stories__/CommandMenu.stories.tsx index 89a3ce86d8..23c9740d7c 100644 --- a/packages/twenty-front/src/modules/command-menu/components/__stories__/CommandMenu.stories.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/__stories__/CommandMenu.stories.tsx @@ -1,16 +1,15 @@ import { useEffect } from 'react'; import { Meta, StoryObj } from '@storybook/react'; import { expect, userEvent, within } from '@storybook/test'; -import { RecoilRoot, useRecoilValue, useSetRecoilState } from 'recoil'; +import { useSetRecoilState } from 'recoil'; import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; import { useCommandMenu } from '@/command-menu/hooks/useCommandMenu'; import { CommandType } from '@/command-menu/types/Command'; -import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { IconCheckbox, IconNotes } from '@/ui/display/icon'; -import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/SnackBarProviderScope'; import { ComponentWithRouterDecorator } from '~/testing/decorators/ComponentWithRouterDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; +import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { graphqlMocks } from '~/testing/graphqlMocks'; import { mockDefaultWorkspace } from '~/testing/mock-data/users'; import { sleep } from '~/testing/sleep'; @@ -27,7 +26,6 @@ const meta: Meta = { const setCurrentWorkspace = useSetRecoilState(currentWorkspaceState); const { addToCommandMenu, setToIntitialCommandMenu, openCommandMenu } = useCommandMenu(); - const objectMetadataItems = useRecoilValue(objectMetadataItemsState); setCurrentWorkspace(mockDefaultWorkspace); @@ -54,16 +52,10 @@ const meta: Meta = { openCommandMenu(); }, [addToCommandMenu, setToIntitialCommandMenu, openCommandMenu]); - return objectMetadataItems.length ? : <>; + return ; }, ObjectMetadataItemsDecorator, - (Story) => ( - - - - - - ), + SnackBarDecorator, ComponentWithRouterDecorator, ], parameters: { diff --git a/packages/twenty-front/src/modules/companies/components/NewOpportunityButton.tsx b/packages/twenty-front/src/modules/companies/components/NewOpportunityButton.tsx index 1b952742e6..193adfbed2 100644 --- a/packages/twenty-front/src/modules/companies/components/NewOpportunityButton.tsx +++ b/packages/twenty-front/src/modules/companies/components/NewOpportunityButton.tsx @@ -5,9 +5,7 @@ import { NewButton } from '@/object-record/record-board-deprecated/components/Ne import { BoardColumnContext } from '@/object-record/record-board-deprecated/contexts/BoardColumnContext'; import { useCreateOpportunity } from '@/object-record/record-board-deprecated/hooks/internal/useCreateOpportunity'; import { SingleEntitySelect } from '@/object-record/relation-picker/components/SingleEntitySelect'; -import { useRelationPicker } from '@/object-record/relation-picker/hooks/useRelationPicker'; import { RelationPickerHotkeyScope } from '@/object-record/relation-picker/types/RelationPickerHotkeyScope'; -import { useFilteredSearchEntityQuery } from '@/search/hooks/useFilteredSearchEntityQuery'; import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; import { usePreviousHotkeyScope } from '@/ui/utilities/hotkey/hooks/usePreviousHotkeyScope'; @@ -52,30 +50,16 @@ export const NewOpportunityButton = () => { setIsCreatingCard(false); }; - const { relationPickerSearchFilter, searchQuery } = useRelationPicker(); - - const filteredSearchEntityResults = useFilteredSearchEntityQuery({ - filters: [ - { - fieldNames: searchQuery?.computeFilterFields?.('company') ?? [], - filter: relationPickerSearchFilter, - }, - ], - orderByField: 'createdAt', - selectedIds: [], - objectNameSingular: CoreObjectNameSingular.Company, - }); - return ( <> {isCreatingCard ? ( ) : ( diff --git a/packages/twenty-front/src/modules/companies/components/OpportunityPicker.tsx b/packages/twenty-front/src/modules/companies/components/OpportunityPicker.tsx index 986ce9d1ec..2e5bc39701 100644 --- a/packages/twenty-front/src/modules/companies/components/OpportunityPicker.tsx +++ b/packages/twenty-front/src/modules/companies/components/OpportunityPicker.tsx @@ -2,20 +2,15 @@ import { useEffect, useMemo, useRef, useState } from 'react'; import { useRecoilValue } from 'recoil'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; -import { SingleEntitySelectMenuItems } from '@/object-record/relation-picker/components/SingleEntitySelectMenuItems'; -import { useEntitySelectSearch } from '@/object-record/relation-picker/hooks/useEntitySelectSearch'; -import { useRelationPicker } from '@/object-record/relation-picker/hooks/useRelationPicker'; +import { SingleEntitySelectMenuItemsWithSearch } from '@/object-record/relation-picker/components/SingleEntitySelectMenuItemsWithSearch'; import { EntityForSelect } from '@/object-record/relation-picker/types/EntityForSelect'; import { currentPipelineStepsState } from '@/pipeline/states/currentPipelineStepsState'; -import { useFilteredSearchEntityQuery } from '@/search/hooks/useFilteredSearchEntityQuery'; import { IconChevronDown } from '@/ui/display/icon'; import { DropdownMenu } from '@/ui/layout/dropdown/components/DropdownMenu'; import { DropdownMenuHeader } from '@/ui/layout/dropdown/components/DropdownMenuHeader'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; -import { DropdownMenuSearchInput } from '@/ui/layout/dropdown/components/DropdownMenuSearchInput'; import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownMenuSeparator'; import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem'; -import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope'; export type OpportunityPickerProps = { companyId: string | null; @@ -32,22 +27,6 @@ export const OpportunityPicker = ({ }: OpportunityPickerProps) => { const containerRef = useRef(null); - const { searchFilter, handleSearchFilterChange } = useEntitySelectSearch(); - - const { searchQuery } = useRelationPicker(); - - const filteredSearchEntityResults = useFilteredSearchEntityQuery({ - filters: [ - { - fieldNames: searchQuery?.computeFilterFields?.('company') ?? [], - filter: searchFilter, - }, - ], - orderByField: 'createdAt', - selectedIds: [], - objectNameSingular: CoreObjectNameSingular.Company, - }); - const [isProgressSelectionUnfolded, setIsProgressSelectionUnfolded] = useState(false); @@ -110,21 +89,12 @@ export const OpportunityPicker = ({ {selectedPipelineStep?.name} - - - - - )} diff --git a/packages/twenty-front/src/modules/favorites/hooks/__mocks__/useFavorites.ts b/packages/twenty-front/src/modules/favorites/hooks/__mocks__/useFavorites.ts index f45c0c7aeb..e616ba797d 100644 --- a/packages/twenty-front/src/modules/favorites/hooks/__mocks__/useFavorites.ts +++ b/packages/twenty-front/src/modules/favorites/hooks/__mocks__/useFavorites.ts @@ -5,7 +5,10 @@ import { ColorScheme } from '@/workspace-member/types/WorkspaceMember'; export const mockId = '8f3b2121-f194-4ba4-9fbf-2d5a37126806'; export const favoriteId = 'f088c8c9-05d2-4276-b065-b863cc7d0b33'; -export const mockRecord = { id: 'f088c8c9-05d2-4276-b065-b863cc7d0b33' }; +const favoriteTargetObjectId = 'f2d8b9e9-7932-4065-bc09-baf12388b75d'; +export const favoriteTargetObjectRecord = { + id: favoriteTargetObjectId, +}; export const initialFavorites = [ { @@ -88,8 +91,7 @@ export const mocks = [ variables: { input: { id: mockId, - favoritesId: favoriteId, - favorites: { id: favoriteId }, + personId: favoriteTargetObjectId, position: 4, workspaceMemberId: '1', }, diff --git a/packages/twenty-front/src/modules/favorites/hooks/__tests__/useFavorites.test.tsx b/packages/twenty-front/src/modules/favorites/hooks/__tests__/useFavorites.test.tsx index 0b0ce2b4f1..f7fb44d6f5 100644 --- a/packages/twenty-front/src/modules/favorites/hooks/__tests__/useFavorites.test.tsx +++ b/packages/twenty-front/src/modules/favorites/hooks/__tests__/useFavorites.test.tsx @@ -7,14 +7,15 @@ import { RecoilRoot, useSetRecoilState } from 'recoil'; import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState'; import { useFavorites } from '@/favorites/hooks/useFavorites'; import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; +import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { getObjectMetadataItemsMock } from '@/object-metadata/utils/getObjectMetadataItemsMock'; import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/SnackBarProviderScope'; import { favoriteId, + favoriteTargetObjectRecord, initialFavorites, mockId, - mockRecord, mocks, mockWorkspaceMember, sortedFavorites, @@ -84,7 +85,10 @@ describe('useFavorites', () => { }, ); - result.current.createFavorite(mockRecord, 'favorites'); + result.current.createFavorite( + favoriteTargetObjectRecord, + CoreObjectNameSingular.Person, + ); await waitFor(() => { expect(mocks[0].result).toHaveBeenCalled(); diff --git a/packages/twenty-front/src/modules/favorites/hooks/useFavorites.ts b/packages/twenty-front/src/modules/favorites/hooks/useFavorites.ts index 0303673d2e..cd2996f78e 100644 --- a/packages/twenty-front/src/modules/favorites/hooks/useFavorites.ts +++ b/packages/twenty-front/src/modules/favorites/hooks/useFavorites.ts @@ -95,8 +95,7 @@ export const useFavorites = () => { targetObjectNameSingular: string, ) => { createOneFavorite({ - [`${targetObjectNameSingular}Id`]: targetRecord.id, - [`${targetObjectNameSingular}`]: targetRecord, + [targetObjectNameSingular]: targetRecord, position: favorites.length + 1, workspaceMemberId: currentWorkspaceMember?.id, }); diff --git a/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataItemsProvider.tsx b/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataItemsProvider.tsx index 1159142915..5b40a9e7ff 100644 --- a/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataItemsProvider.tsx +++ b/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataItemsProvider.tsx @@ -2,31 +2,22 @@ import { useRecoilValue } from 'recoil'; import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; import { ObjectMetadataItemsLoadEffect } from '@/object-metadata/components/ObjectMetadataItemsLoadEffect'; -import { ObjectMetadataItemsRelationPickerEffect } from '@/object-metadata/components/ObjectMetadataItemsRelationPickerEffect'; -import { useFindManyObjectMetadataItems } from '@/object-metadata/hooks/useFindManyObjectMetadataItems'; import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { RelationPickerScope } from '@/object-record/relation-picker/scopes/RelationPickerScope'; export const ObjectMetadataItemsProvider = ({ children, }: React.PropsWithChildren) => { - useFindManyObjectMetadataItems(); - const objectMetadataItems = useRecoilValue(objectMetadataItemsState); const currentWorkspace = useRecoilValue(currentWorkspaceState); return ( <> - {objectMetadataItems.length < 1 && currentWorkspace ? ( - <> - ) : ( - <> - - - {children} - - + {(!currentWorkspace || !!objectMetadataItems.length) && ( + + {children} + )} ); diff --git a/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataItemsRelationPickerEffect.tsx b/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataItemsRelationPickerEffect.tsx index eda6ca89d0..1d2d1ecd74 100644 --- a/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataItemsRelationPickerEffect.tsx +++ b/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataItemsRelationPickerEffect.tsx @@ -2,10 +2,12 @@ import { useEffect } from 'react'; import { useRelationPicker } from '@/object-record/relation-picker/hooks/useRelationPicker'; -export const ObjectMetadataItemsRelationPickerEffect = () => { - const { setSearchQuery } = useRelationPicker({ - relationPickerScopeId: 'relation-picker', - }); +export const ObjectMetadataItemsRelationPickerEffect = ({ + relationPickerScopeId, +}: { + relationPickerScopeId?: string; +} = {}) => { + const { setSearchQuery } = useRelationPicker({ relationPickerScopeId }); const computeFilterFields = (relationPickerType: string) => { if (relationPickerType === 'company') { diff --git a/packages/twenty-front/src/modules/object-metadata/types/FieldMetadataItem.ts b/packages/twenty-front/src/modules/object-metadata/types/FieldMetadataItem.ts index ea4ac9ddfc..40ce3cedfb 100644 --- a/packages/twenty-front/src/modules/object-metadata/types/FieldMetadataItem.ts +++ b/packages/twenty-front/src/modules/object-metadata/types/FieldMetadataItem.ts @@ -3,8 +3,13 @@ import { Field, Relation } from '~/generated-metadata/graphql'; export type FieldMetadataItem = Omit< Field, - 'fromRelationMetadata' | 'toRelationMetadata' | 'defaultValue' | 'options' + | '__typename' + | 'fromRelationMetadata' + | 'toRelationMetadata' + | 'defaultValue' + | 'options' > & { + __typename?: string; fromRelationMetadata?: | (Pick & { toObjectMetadata: Pick< diff --git a/packages/twenty-front/src/modules/object-metadata/types/ObjectMetadataItem.ts b/packages/twenty-front/src/modules/object-metadata/types/ObjectMetadataItem.ts index 9f66632c81..9bc2cfaa0a 100644 --- a/packages/twenty-front/src/modules/object-metadata/types/ObjectMetadataItem.ts +++ b/packages/twenty-front/src/modules/object-metadata/types/ObjectMetadataItem.ts @@ -4,7 +4,8 @@ import { FieldMetadataItem } from './FieldMetadataItem'; export type ObjectMetadataItem = Omit< GeneratedObject, - 'fields' | 'dataSourceId' + '__typename' | 'fields' | 'dataSourceId' > & { + __typename?: string; fields: FieldMetadataItem[]; }; diff --git a/packages/twenty-front/src/modules/object-metadata/utils/formatFieldMetadataItemAsColumnDefinition.ts b/packages/twenty-front/src/modules/object-metadata/utils/formatFieldMetadataItemAsColumnDefinition.ts index 750f124810..f55f97f0da 100644 --- a/packages/twenty-front/src/modules/object-metadata/utils/formatFieldMetadataItemAsColumnDefinition.ts +++ b/packages/twenty-front/src/modules/object-metadata/utils/formatFieldMetadataItemAsColumnDefinition.ts @@ -1,19 +1,13 @@ -import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; -import { parseFieldRelationType } from '@/object-metadata/utils/parseFieldRelationType'; +import { + FieldMetadataItemAsFieldDefinitionProps, + formatFieldMetadataItemAsFieldDefinition, +} from '@/object-metadata/utils/formatFieldMetadataItemAsFieldDefinition'; import { FieldMetadata } from '@/object-record/record-field/types/FieldMetadata'; import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition'; -import { FieldMetadataItem } from '../types/FieldMetadataItem'; - -import { parseFieldType } from './parseFieldType'; - type FieldMetadataItemAsColumnDefinitionProps = { position: number; - field: FieldMetadataItem; - objectMetadataItem: ObjectMetadataItem; - showLabel?: boolean; - labelWidth?: number; -}; +} & FieldMetadataItemAsFieldDefinitionProps; export const formatFieldMetadataItemAsColumnDefinition = ({ position, @@ -21,36 +15,14 @@ export const formatFieldMetadataItemAsColumnDefinition = ({ objectMetadataItem, showLabel, labelWidth, -}: FieldMetadataItemAsColumnDefinitionProps): ColumnDefinition => { - const relationObjectMetadataItem = - field.toRelationMetadata?.fromObjectMetadata || - field.fromRelationMetadata?.toObjectMetadata; - - const relationFieldMetadataId = - field.toRelationMetadata?.fromFieldMetadataId || - field.fromRelationMetadata?.toFieldMetadataId; - - return { - position, - fieldMetadataId: field.id, - label: field.label, +}: FieldMetadataItemAsColumnDefinitionProps): ColumnDefinition => ({ + ...formatFieldMetadataItemAsFieldDefinition({ + field, + objectMetadataItem, showLabel, labelWidth, - size: 100, - type: parseFieldType(field.type), - metadata: { - fieldName: field.name, - placeHolder: field.label, - relationType: parseFieldRelationType(field), - relationFieldMetadataId, - relationObjectMetadataNameSingular: - relationObjectMetadataItem?.nameSingular ?? '', - relationObjectMetadataNamePlural: - relationObjectMetadataItem?.namePlural ?? '', - objectMetadataNameSingular: objectMetadataItem.nameSingular ?? '', - options: field.options, - }, - iconName: field.icon ?? 'Icon123', - isVisible: true, - }; -}; + }), + position, + size: 100, + isVisible: true, +}); diff --git a/packages/twenty-front/src/modules/object-metadata/utils/formatFieldMetadataItemAsFieldDefinition.ts b/packages/twenty-front/src/modules/object-metadata/utils/formatFieldMetadataItemAsFieldDefinition.ts new file mode 100644 index 0000000000..3679055c4c --- /dev/null +++ b/packages/twenty-front/src/modules/object-metadata/utils/formatFieldMetadataItemAsFieldDefinition.ts @@ -0,0 +1,49 @@ +import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; +import { parseFieldRelationType } from '@/object-metadata/utils/parseFieldRelationType'; + +import { FieldMetadataItem } from '../types/FieldMetadataItem'; + +import { parseFieldType } from './parseFieldType'; + +export type FieldMetadataItemAsFieldDefinitionProps = { + field: FieldMetadataItem; + objectMetadataItem: ObjectMetadataItem; + showLabel?: boolean; + labelWidth?: number; +}; + +export const formatFieldMetadataItemAsFieldDefinition = ({ + field, + objectMetadataItem, + showLabel, + labelWidth, +}: FieldMetadataItemAsFieldDefinitionProps) => { + const relationObjectMetadataItem = + field.toRelationMetadata?.fromObjectMetadata || + field.fromRelationMetadata?.toObjectMetadata; + + const relationFieldMetadataId = + field.toRelationMetadata?.fromFieldMetadataId || + field.fromRelationMetadata?.toFieldMetadataId; + + return { + fieldMetadataId: field.id, + label: field.label, + showLabel, + labelWidth, + type: parseFieldType(field.type), + metadata: { + fieldName: field.name, + placeHolder: field.label, + relationType: parseFieldRelationType(field), + relationFieldMetadataId, + relationObjectMetadataNameSingular: + relationObjectMetadataItem?.nameSingular ?? '', + relationObjectMetadataNamePlural: + relationObjectMetadataItem?.namePlural ?? '', + objectMetadataNameSingular: objectMetadataItem.nameSingular ?? '', + options: field.options, + }, + iconName: field.icon ?? 'Icon123', + }; +}; diff --git a/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecord.ts b/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecord.ts index cb7898c2e1..76410cde18 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecord.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecord.ts @@ -28,21 +28,27 @@ export const useCreateOneRecord = < }); const createOneRecord = async (input: Partial) => { - const optimisticallyCreatedRecord = - generateCachedObjectRecord(input); - const sanitizedCreateOneRecordInput = sanitizeRecordInput({ objectMetadataItem, - recordInput: { ...input, id: optimisticallyCreatedRecord.id }, + recordInput: input, }); + const optimisticallyCreatedRecord = + generateCachedObjectRecord({ + ...input, + ...sanitizedCreateOneRecordInput, + }); + const mutationResponseField = getCreateOneRecordMutationResponseField(objectNameSingular); const createdObject = await apolloClient.mutate({ mutation: createOneRecordMutation, variables: { - input: sanitizedCreateOneRecordInput, + input: { + ...sanitizedCreateOneRecordInput, + id: optimisticallyCreatedRecord.id, + }, }, optimisticResponse: { [mutationResponseField]: optimisticallyCreatedRecord, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useGetRecordFromCache.ts b/packages/twenty-front/src/modules/object-record/hooks/useGetRecordFromCache.ts index 5cc1bb6549..78986eec3f 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useGetRecordFromCache.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useGetRecordFromCache.ts @@ -37,7 +37,7 @@ export const useGetRecordFromCache = ({ id: recordId, }); - return cache.readFragment({ + return cache.readFragment({ id: cachedRecordId, fragment: cacheReadFragment, }); diff --git a/packages/twenty-front/src/modules/object-record/hooks/useModifyRecordFromCache.ts b/packages/twenty-front/src/modules/object-record/hooks/useModifyRecordFromCache.ts index 8ae4a0f6ff..3d87f6d4ea 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useModifyRecordFromCache.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useModifyRecordFromCache.ts @@ -12,7 +12,7 @@ export const useModifyRecordFromCache = ({ }) => { const { cache } = useApolloClient(); - return ( + return ( recordId: string, fieldModifiers: Modifiers, ) => { diff --git a/packages/twenty-front/src/modules/object-record/hooks/useUpdateOneRecord.ts b/packages/twenty-front/src/modules/object-record/hooks/useUpdateOneRecord.ts index 6abe23682a..796e417429 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useUpdateOneRecord.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useUpdateOneRecord.ts @@ -1,6 +1,8 @@ import { useApolloClient } from '@apollo/client'; +import { useGetRelationFieldsToOptimisticallyUpdate } from '@/apollo/optimistic-effect/hooks/useGetRelationFieldsToOptimisticallyUpdate'; import { triggerUpdateRecordOptimisticEffect } from '@/apollo/optimistic-effect/utils/triggerUpdateRecordOptimisticEffect'; +import { triggerUpdateRelationFieldOptimisticEffect } from '@/apollo/optimistic-effect/utils/triggerUpdateRelationFieldOptimisticEffect'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; import { getUpdateOneRecordMutationResponseField } from '@/object-record/hooks/useGenerateUpdateOneRecordMutation'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; @@ -19,6 +21,9 @@ export const useUpdateOneRecord = < const { objectMetadataItem, updateOneRecordMutation, getRecordFromCache } = useObjectMetadataItem({ objectNameSingular }); + const getRelationFieldsToOptimisticallyUpdate = + useGetRelationFieldsToOptimisticallyUpdate(); + const apolloClient = useApolloClient(); const updateOneRecord = async ({ @@ -30,18 +35,27 @@ export const useUpdateOneRecord = < }) => { const cachedRecord = getRecordFromCache(idToUpdate); - const optimisticallyUpdatedRecord = { - ...(cachedRecord ?? {}), - ...updateOneRecordInput, - __typename: capitalize(objectNameSingular), - id: idToUpdate, - }; - const sanitizedUpdateOneRecordInput = sanitizeRecordInput({ objectMetadataItem, recordInput: updateOneRecordInput, }); + const optimisticallyUpdatedRecord = { + ...(cachedRecord ?? {}), + ...updateOneRecordInput, + ...sanitizedUpdateOneRecordInput, + __typename: capitalize(objectNameSingular), + id: idToUpdate, + }; + + const updatedRelationFields = cachedRecord + ? getRelationFieldsToOptimisticallyUpdate({ + cachedRecord, + objectMetadataItem, + updateRecordInput: updateOneRecordInput, + }) + : []; + const mutationResponseField = getUpdateOneRecordMutationResponseField(objectNameSingular); @@ -64,6 +78,24 @@ export const useUpdateOneRecord = < objectMetadataItem, record, }); + + updatedRelationFields.forEach( + ({ + relationObjectMetadataNameSingular, + relationFieldName, + previousRelationRecord, + nextRelationRecord, + }) => + triggerUpdateRelationFieldOptimisticEffect({ + cache, + objectNameSingular, + record, + relationObjectMetadataNameSingular, + relationFieldName, + previousRelationRecord, + nextRelationRecord, + }), + ); }, }); diff --git a/packages/twenty-front/src/modules/object-record/record-board-deprecated/hooks/internal/__tests__/useDeleteSelectedRecordBoardCardsInternal.test.tsx b/packages/twenty-front/src/modules/object-record/record-board-deprecated/hooks/internal/__tests__/useDeleteSelectedRecordBoardCardsInternal.test.tsx index 283bc8c178..cfaf7edc41 100644 --- a/packages/twenty-front/src/modules/object-record/record-board-deprecated/hooks/internal/__tests__/useDeleteSelectedRecordBoardCardsInternal.test.tsx +++ b/packages/twenty-front/src/modules/object-record/record-board-deprecated/hooks/internal/__tests__/useDeleteSelectedRecordBoardCardsInternal.test.tsx @@ -46,7 +46,6 @@ const mocks = [ variables: { input: { id: mockedUuid, - name: 'Opportunity', pipelineStepId: 'pipelineStepId', companyId: 'New Opportunity', }, diff --git a/packages/twenty-front/src/modules/object-record/record-field/__mocks__/fieldDefinitions.ts b/packages/twenty-front/src/modules/object-record/record-field/__mocks__/fieldDefinitions.ts index 443a0ac1d2..3dc12c5fd4 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/__mocks__/fieldDefinitions.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/__mocks__/fieldDefinitions.ts @@ -1,17 +1,28 @@ +import { formatFieldMetadataItemAsFieldDefinition } from '@/object-metadata/utils/formatFieldMetadataItemAsFieldDefinition'; import { FieldDefinition } from '@/object-record/record-field/types/FieldDefinition'; import { - FieldBooleanMetadata, FieldFullNameMetadata, FieldLinkMetadata, - FieldPhoneMetadata, FieldRatingMetadata, - FieldRelationMetadata, FieldSelectMetadata, FieldTextMetadata, } from '@/object-record/record-field/types/FieldMetadata'; +import { + mockedCompaniesMetadata, + mockedPeopleMetadata, +} from '~/testing/mock-data/metadata'; export const fieldMetadataId = 'fieldMetadataId'; +const mockedPersonObjectMetadataItem = { + ...mockedPeopleMetadata.node, + fields: mockedPeopleMetadata.node.fields.edges.map(({ node }) => node), +}; +const mockedCompanyObjectMetadataItem = { + ...mockedCompaniesMetadata.node, + fields: mockedCompaniesMetadata.node.fields.edges.map(({ node }) => node), +}; + export const textfieldDefinition: FieldDefinition = { fieldMetadataId, label: 'User Name', @@ -20,29 +31,15 @@ export const textfieldDefinition: FieldDefinition = { metadata: { placeHolder: 'John Doe', fieldName: 'userName' }, }; -export const booleanFieldDefinition: FieldDefinition = { - fieldMetadataId, - label: 'Is Active?', - iconName: 'iconName', - type: 'BOOLEAN', - metadata: { - objectMetadataNameSingular: 'person', - fieldName: 'isActive', +const relationFieldMetadataItem = mockedPersonObjectMetadataItem.fields.find( + ({ name }) => name === 'company', +); +export const relationFieldDefinition = formatFieldMetadataItemAsFieldDefinition( + { + field: relationFieldMetadataItem!, + objectMetadataItem: mockedPersonObjectMetadataItem, }, -}; - -export const relationFieldDefinition: FieldDefinition = { - fieldMetadataId, - label: 'Contact', - iconName: 'Phone', - type: 'RELATION', - metadata: { - fieldName: 'contact', - relationFieldMetadataId: 'relationFieldMetadataId', - relationObjectMetadataNamePlural: 'users', - relationObjectMetadataNameSingular: 'user', - }, -}; +); export const selectFieldDefinition: FieldDefinition = { fieldMetadataId, @@ -77,17 +74,13 @@ export const linkFieldDefinition: FieldDefinition = { }, }; -export const phoneFieldDefinition: FieldDefinition = { - fieldMetadataId, - label: 'Contact', - iconName: 'Phone', - type: 'TEXT', - metadata: { - objectMetadataNameSingular: 'person', - placeHolder: '(+256)-712-345-6789', - fieldName: 'phone', - }, -}; +const phoneFieldMetadataItem = mockedPersonObjectMetadataItem.fields.find( + ({ name }) => name === 'phone', +); +export const phoneFieldDefinition = formatFieldMetadataItemAsFieldDefinition({ + field: phoneFieldMetadataItem!, + objectMetadataItem: mockedPersonObjectMetadataItem, +}); export const ratingfieldDefinition: FieldDefinition = { fieldMetadataId, @@ -98,3 +91,11 @@ export const ratingfieldDefinition: FieldDefinition = { fieldName: 'rating', }, }; + +const booleanFieldMetadataItem = mockedCompanyObjectMetadataItem.fields.find( + ({ name }) => name === 'idealCustomerProfile', +); +export const booleanFieldDefinition = formatFieldMetadataItemAsFieldDefinition({ + field: booleanFieldMetadataItem!, + objectMetadataItem: mockedCompanyObjectMetadataItem, +}); diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/usePersistField.test.tsx b/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/usePersistField.test.tsx index 698364b1d4..84da3f62d3 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/usePersistField.test.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/usePersistField.test.tsx @@ -25,11 +25,8 @@ jest.mock('@/object-metadata/hooks/useMapFieldMetadataToGraphQLQuery', () => ({ })); const query = gql` - mutation UpdateOneWorkspaceMember( - $idToUpdate: ID! - $input: WorkspaceMemberUpdateInput! - ) { - updateWorkspaceMember(id: $idToUpdate, data: $input) { + mutation UpdateOnePerson($idToUpdate: ID!, $input: PersonUpdateInput!) { + updatePerson(id: $idToUpdate, data: $input) { id } } @@ -43,7 +40,7 @@ const mocks: MockedResponse[] = [ }, result: jest.fn(() => ({ data: { - updateWorkspaceMember: { + updatePerson: { id: 'entityId', }, }, @@ -54,12 +51,12 @@ const mocks: MockedResponse[] = [ query, variables: { idToUpdate: 'entityId', - input: { contactId: null, contact: { foo: 'bar' } }, + input: { companyId: 'companyId' }, }, }, result: jest.fn(() => ({ data: { - updateWorkspaceMember: { + updatePerson: { id: 'entityId', }, }, @@ -68,14 +65,13 @@ const mocks: MockedResponse[] = [ ]; const entityId = 'entityId'; -const fieldName = 'phone'; const getWrapper = (fieldDefinition: FieldDefinition) => ({ children }: { children: ReactNode }) => { const useUpdateOneRecordMutation: RecordUpdateHook = () => { const { updateOneRecord } = useUpdateOneRecord({ - objectNameSingular: CoreObjectNameSingular.WorkspaceMember, + objectNameSingular: CoreObjectNameSingular.Person, }); const updateEntity = ({ variables }: RecordUpdateHookParams) => { @@ -113,7 +109,7 @@ describe('usePersistField', () => { const { result } = renderHook( () => { const entityFields = useRecoilValue( - recordStoreFamilySelector({ recordId: entityId, fieldName }), + recordStoreFamilySelector({ recordId: entityId, fieldName: 'phone' }), ); return { @@ -137,7 +133,10 @@ describe('usePersistField', () => { const { result } = renderHook( () => { const entityFields = useRecoilValue( - recordStoreFamilySelector({ recordId: entityId, fieldName }), + recordStoreFamilySelector({ + recordId: entityId, + fieldName: 'company', + }), ); return { @@ -149,7 +148,7 @@ describe('usePersistField', () => { ); act(() => { - result.current.persistField({ foo: 'bar' }); + result.current.persistField({ id: 'companyId' }); }); await waitFor(() => { diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useToggleEditOnlyInput.test.tsx b/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useToggleEditOnlyInput.test.tsx index 878b7a16b6..f07739124d 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useToggleEditOnlyInput.test.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useToggleEditOnlyInput.test.tsx @@ -24,13 +24,19 @@ const mocks: MockedResponse[] = [ { request: { query: gql` - mutation UpdateOnePerson($idToUpdate: ID!, $input: PersonUpdateInput!) { - updatePerson(id: $idToUpdate, data: $input) { + mutation UpdateOneCompany( + $idToUpdate: ID! + $input: CompanyUpdateInput! + ) { + updateCompany(id: $idToUpdate, data: $input) { id } } `, - variables: { idToUpdate: 'entityId', input: { isActive: true } }, + variables: { + idToUpdate: 'entityId', + input: { idealCustomerProfile: true }, + }, }, result: jest.fn(() => ({ data: { @@ -45,7 +51,7 @@ const mocks: MockedResponse[] = [ const Wrapper = ({ children }: { children: ReactNode }) => { const useUpdateOneRecordMutation: RecordUpdateHook = () => { const { updateOneRecord } = useUpdateOneRecord({ - objectNameSingular: CoreObjectNameSingular.Person, + objectNameSingular: CoreObjectNameSingular.Company, }); const updateEntity = ({ variables }: RecordUpdateHookParams) => { diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/usePersistField.ts b/packages/twenty-front/src/modules/object-record/record-field/hooks/usePersistField.ts index 13433d5527..aea51e8a62 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/usePersistField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/usePersistField.ts @@ -82,24 +82,8 @@ export const usePersistField = () => { const fieldIsSelect = isFieldSelect(fieldDefinition) && isFieldSelectValue(valueToPersist); - if (fieldIsRelation) { - const fieldName = fieldDefinition.metadata.fieldName; - - set( - recordStoreFamilySelector({ recordId: entityId, fieldName }), - valueToPersist, - ); - - updateRecord?.({ - variables: { - where: { id: entityId }, - updateOneRecordInput: { - [`${fieldName}Id`]: valueToPersist?.id ?? null, - [fieldName]: valueToPersist ?? null, - }, - }, - }); - } else if ( + if ( + fieldIsRelation || fieldIsText || fieldIsBoolean || fieldIsEmail || diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/RelationFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/RelationFieldInput.tsx index b38400c657..17d3e03657 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/RelationFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/RelationFieldInput.tsx @@ -1,4 +1,3 @@ -import { useEffect } from 'react'; import styled from '@emotion/styled'; import { RelationPicker } from '@/object-record/relation-picker/components/RelationPicker'; @@ -33,8 +32,6 @@ export const RelationFieldInput = ({ onSubmit?.(() => persistField(newEntity?.record ?? null)); }; - useEffect(() => {}, [initialSearchValue]); - return ( - - - - - - - -
- + + + + +
); }; @@ -102,7 +99,11 @@ const meta: Meta = { onSubmit: { control: false }, onCancel: { control: false }, }, - decorators: [SnackBarDecorator, clearMocksDecorator], + decorators: [ + clearMocksDecorator, + ObjectMetadataItemsDecorator, + SnackBarDecorator, + ], parameters: { clearMocks: true, msw: graphqlMocks, diff --git a/packages/twenty-front/src/modules/object-record/record-relation-card/components/RecordRelationFieldCardContent.tsx b/packages/twenty-front/src/modules/object-record/record-relation-card/components/RecordRelationFieldCardContent.tsx index fa9f7b10a6..73af2d4cfd 100644 --- a/packages/twenty-front/src/modules/object-record/record-relation-card/components/RecordRelationFieldCardContent.tsx +++ b/packages/twenty-front/src/modules/object-record/record-relation-card/components/RecordRelationFieldCardContent.tsx @@ -3,7 +3,6 @@ import { css } from '@emotion/react'; import styled from '@emotion/styled'; import { LightIconButton, MenuItem } from 'tsup.ui.index'; -import { CachedObjectRecordEdge } from '@/apollo/types/CachedObjectRecordEdge'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { RecordChip } from '@/object-record/components/RecordChip'; @@ -57,20 +56,15 @@ export const RecordRelationFieldCardContent = ({ divider, relationRecord, }: RecordRelationFieldCardContentProps) => { - const { fieldDefinition, entityId } = useContext(FieldContext); + const { fieldDefinition } = useContext(FieldContext); const { relationFieldMetadataId, relationObjectMetadataNameSingular, relationType, - fieldName, objectMetadataNameSingular, } = fieldDefinition.metadata as FieldRelationMetadata; - const { modifyRecordFromCache } = useObjectMetadataItem({ - objectNameSingular: objectMetadataNameSingular ?? '', - }); - const isToOneObject = relationType === 'TO_ONE_OBJECT'; const { objectMetadataItem: relationObjectMetadataItem } = useObjectMetadataItem({ @@ -102,31 +96,9 @@ export const RecordRelationFieldCardContent = ({ updateOneRelationRecord({ idToUpdate: relationRecord.id, updateOneRecordInput: { - [`${relationFieldMetadataItem.name}Id`]: null, [relationFieldMetadataItem.name]: null, }, }); - - modifyRecordFromCache(entityId, { - [fieldName]: (cachedRelationConnection, { readField }) => { - const edges = readField( - 'edges', - cachedRelationConnection, - ); - - if (!edges) { - return cachedRelationConnection; - } - - return { - ...cachedRelationConnection, - edges: edges.filter(({ node }) => { - const id = readField('id', node); - return id !== relationRecord.id; - }), - }; - }, - }); }; const isOpportunityCompanyRelation = diff --git a/packages/twenty-front/src/modules/object-record/record-relation-card/components/RecordRelationFieldCardSection.tsx b/packages/twenty-front/src/modules/object-record/record-relation-card/components/RecordRelationFieldCardSection.tsx index 9137a28b8e..662a3723e6 100644 --- a/packages/twenty-front/src/modules/object-record/record-relation-card/components/RecordRelationFieldCardSection.tsx +++ b/packages/twenty-front/src/modules/object-record/record-relation-card/components/RecordRelationFieldCardSection.tsx @@ -1,6 +1,5 @@ import { useCallback, useContext } from 'react'; import { Link } from 'react-router-dom'; -import { Reference } from '@apollo/client'; import { css } from '@emotion/react'; import styled from '@emotion/styled'; import qs from 'qs'; @@ -8,7 +7,6 @@ import { useRecoilValue } from 'recoil'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; import { parseFieldRelationType } from '@/object-metadata/utils/parseFieldRelationType'; -import { useModifyRecordFromCache } from '@/object-record/hooks/useModifyRecordFromCache'; import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { FieldContext } from '@/object-record/record-field/contexts/FieldContext'; import { usePersistField } from '@/object-record/record-field/hooks/usePersistField'; @@ -21,7 +19,6 @@ import { useRelationPicker } from '@/object-record/relation-picker/hooks/useRela import { RelationPickerScope } from '@/object-record/relation-picker/scopes/RelationPickerScope'; import { EntityForSelect } from '@/object-record/relation-picker/types/EntityForSelect'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { useFilteredSearchEntityQuery } from '@/search/hooks/useFilteredSearchEntityQuery'; import { IconForbid, IconPlus } from '@/ui/display/icon'; import { LightIconButton } from '@/ui/input/button/components/LightIconButton'; import { Card } from '@/ui/layout/card/components/Card'; @@ -89,7 +86,6 @@ export const RecordRelationFieldCardSection = () => { relationFieldMetadataId, relationObjectMetadataNameSingular, relationType, - objectMetadataNameSingular, } = fieldDefinition.metadata as FieldRelationMetadata; const record = useRecoilValue(recordStoreFamilyState(entityId)); @@ -100,10 +96,6 @@ export const RecordRelationFieldCardSection = () => { objectNameSingular: relationObjectMetadataNameSingular, }); - const { objectMetadataItem } = useObjectMetadataItem({ - objectNameSingular: objectMetadataNameSingular ?? '', - }); - const relationFieldMetadataItem = relationObjectMetadataItem.fields.find( ({ id }) => id === relationFieldMetadataId, ); @@ -124,24 +116,8 @@ export const RecordRelationFieldCardSection = () => { const { closeDropdown, isDropdownOpen } = useDropdown(dropdownId); - const { relationPickerSearchFilter, setRelationPickerSearchFilter } = - useRelationPicker({ relationPickerScopeId: dropdownId }); - - const { searchQuery } = useRelationPicker(); - - const entities = useFilteredSearchEntityQuery({ - filters: [ - { - fieldNames: - searchQuery?.computeFilterFields?.( - relationObjectMetadataNameSingular, - ) ?? [], - filter: relationPickerSearchFilter, - }, - ], - orderByField: 'createdAt', - selectedIds: relationRecordIds, - objectNameSingular: relationObjectMetadataNameSingular, + const { setRelationPickerSearchFilter } = useRelationPicker({ + relationPickerScopeId: dropdownId, }); const handleCloseRelationPickerDropdown = useCallback(() => { @@ -153,46 +129,24 @@ export const RecordRelationFieldCardSection = () => { objectNameSingular: relationObjectMetadataNameSingular, }); - const modifyRecordFromCache = useModifyRecordFromCache({ - objectMetadataItem, - }); - const handleRelationPickerEntitySelected = ( selectedRelationEntity?: EntityForSelect, ) => { closeDropdown(); - if (!selectedRelationEntity?.id) return; + if (!selectedRelationEntity?.id || !relationFieldMetadataItem?.name) return; if (isToOneObject) { persistField(selectedRelationEntity.record); return; } - if (!relationFieldMetadataItem?.name) return; - updateOneRelationRecord({ idToUpdate: selectedRelationEntity.id, updateOneRecordInput: { - [`${relationFieldMetadataItem.name}Id`]: entityId, [relationFieldMetadataItem.name]: record, }, }); - - modifyRecordFromCache(entityId, { - [fieldName]: (relationRef, { readField }) => { - const edges = readField<{ node: Reference }[]>('edges', relationRef); - - if (!edges) { - return relationRef; - } - - return { - ...relationRef, - edges: [...edges, { node: record }], - }; - }, - }); }; const filterQueryParams: FilterQueryParams = { @@ -208,55 +162,58 @@ export const RecordRelationFieldCardSection = () => { return (
- - - - {fieldDefinition.label} - {parseFieldRelationType(relationFieldMetadataItem) === - 'TO_ONE_OBJECT' && ( - - All ({relationRecords.length}) - - )} - - - - } - dropdownComponents={ + + + {fieldDefinition.label} + {parseFieldRelationType(relationFieldMetadataItem) === + 'TO_ONE_OBJECT' && ( + + All ({relationRecords.length}) + + )} + + + + } + dropdownComponents={ + - } - dropdownHotkeyScope={{ - scope: dropdownId, - }} + + } + dropdownHotkeyScope={{ + scope: dropdownId, + }} + /> + + + {!!relationRecords.length && ( + + {relationRecords.slice(0, 5).map((relationRecord, index) => ( + - - - {!!relationRecords.length && ( - - {relationRecords.slice(0, 5).map((relationRecord, index) => ( - - ))} - - )} - + ))} + + )}
); }; diff --git a/packages/twenty-front/src/modules/object-record/relation-picker/components/RelationPicker.tsx b/packages/twenty-front/src/modules/object-record/relation-picker/components/RelationPicker.tsx index 3424cb7e6a..2585125ade 100644 --- a/packages/twenty-front/src/modules/object-record/relation-picker/components/RelationPicker.tsx +++ b/packages/twenty-front/src/modules/object-record/relation-picker/components/RelationPicker.tsx @@ -5,7 +5,6 @@ import { FieldRelationMetadata } from '@/object-record/record-field/types/FieldM import { SingleEntitySelect } from '@/object-record/relation-picker/components/SingleEntitySelect'; import { useRelationPicker } from '@/object-record/relation-picker/hooks/useRelationPicker'; import { EntityForSelect } from '@/object-record/relation-picker/types/EntityForSelect'; -import { useFilteredSearchEntityQuery } from '@/search/hooks/useFilteredSearchEntityQuery'; import { IconForbid } from '@/ui/display/icon'; export type RelationPickerProps = { @@ -27,33 +26,15 @@ export const RelationPicker = ({ initialSearchFilter, fieldDefinition, }: RelationPickerProps) => { - const { - relationPickerSearchFilter, - setRelationPickerSearchFilter, - searchQuery, - } = useRelationPicker({ relationPickerScopeId: 'relation-picker' }); + const relationPickerScopeId = 'relation-picker'; + const { setRelationPickerSearchFilter } = useRelationPicker({ + relationPickerScopeId, + }); useEffect(() => { setRelationPickerSearchFilter(initialSearchFilter ?? ''); }, [initialSearchFilter, setRelationPickerSearchFilter]); - const entities = useFilteredSearchEntityQuery({ - filters: [ - { - fieldNames: - searchQuery?.computeFilterFields?.( - fieldDefinition.metadata.relationObjectMetadataNameSingular, - ) ?? [], - filter: relationPickerSearchFilter, - }, - ], - orderByField: 'createdAt', - selectedIds: recordId ? [recordId] : [], - excludeEntityIds: excludeRecordIds, - objectNameSingular: - fieldDefinition.metadata.relationObjectMetadataNameSingular, - }); - const handleEntitySelected = ( selectedEntity: EntityForSelect | null | undefined, ) => onSubmit(selectedEntity ?? null); @@ -62,12 +43,15 @@ export const RelationPicker = ({ ); }; diff --git a/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelect.tsx b/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelect.tsx index d51d63f588..e0b8d30d96 100644 --- a/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelect.tsx +++ b/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelect.tsx @@ -13,15 +13,17 @@ export type SingleEntitySelectProps = { } & SingleEntitySelectMenuItemsWithSearchProps; export const SingleEntitySelect = ({ - EmptyIcon, disableBackgroundBlur = false, + EmptyIcon, emptyLabel, - entitiesToSelect, - loading, + excludedRelationRecordIds, onCancel, onCreate, onEntitySelected, + relationObjectNameSingular, + relationPickerScopeId, selectedEntity, + selectedRelationRecordIds, width = 200, }: SingleEntitySelectProps) => { const containerRef = useRef(null); @@ -52,12 +54,14 @@ export const SingleEntitySelect = ({ {...{ EmptyIcon, emptyLabel, - entitiesToSelect, - loading, + excludedRelationRecordIds, onCancel, onCreate, onEntitySelected, + relationObjectNameSingular, + relationPickerScopeId, selectedEntity, + selectedRelationRecordIds, }} /> diff --git a/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItems.tsx b/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItems.tsx index 84a74d35da..8d6c4d9981 100644 --- a/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItems.tsx +++ b/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItems.tsx @@ -86,58 +86,54 @@ export const SingleEntitySelectMenuItems = ({ } }} > - <> - - {loading ? ( - - ) : entitiesInDropdown.length === 0 && !isAllEntitySelectShown ? ( - - ) : ( - <> - {isAllEntitySelectShown && - selectAllLabel && - onAllEntitySelected && ( - onAllEntitySelected()} - LeftIcon={SelectAllIcon} - text={selectAllLabel} - selected={!!isAllEntitySelected} - /> - )} - {emptyLabel && ( + + {loading ? ( + + ) : entitiesInDropdown.length === 0 && !isAllEntitySelectShown ? ( + + ) : ( + <> + {isAllEntitySelectShown && + selectAllLabel && + onAllEntitySelected && ( onEntitySelected()} - LeftIcon={EmptyIcon} - text={emptyLabel} - selected={!selectedEntity} + key="select-all" + onClick={() => onAllEntitySelected()} + LeftIcon={SelectAllIcon} + text={selectAllLabel} + selected={!!isAllEntitySelected} /> )} - - )} - - - {entitiesInDropdown?.map((entity) => ( - - ))} - - - {showCreateButton && !loading && ( - - {entitiesToSelect.length > 0 && } - onEntitySelected()} + LeftIcon={EmptyIcon} + text={emptyLabel} + selected={!selectedEntity} + /> + )} + + )} + {entitiesInDropdown?.map((entity) => ( + - - )} + ))} + {showCreateButton && !loading && ( + <> + {entitiesToSelect.length > 0 && } + + + )} +
); diff --git a/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItemsWithSearch.tsx b/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItemsWithSearch.tsx index ddbb450f0f..c24c35aee8 100644 --- a/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItemsWithSearch.tsx +++ b/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItemsWithSearch.tsx @@ -1,7 +1,9 @@ +import { ObjectMetadataItemsRelationPickerEffect } from '@/object-metadata/components/ObjectMetadataItemsRelationPickerEffect'; import { SingleEntitySelectMenuItems, SingleEntitySelectMenuItemsProps, } from '@/object-record/relation-picker/components/SingleEntitySelectMenuItems'; +import { useFilteredSearchEntityQuery } from '@/search/hooks/useFilteredSearchEntityQuery'; import { DropdownMenuSearchInput } from '@/ui/layout/dropdown/components/DropdownMenuSearchInput'; import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownMenuSeparator'; import { isDefined } from '~/utils/isDefined'; @@ -9,13 +11,15 @@ import { isDefined } from '~/utils/isDefined'; import { useEntitySelectSearch } from '../hooks/useEntitySelectSearch'; export type SingleEntitySelectMenuItemsWithSearchProps = { + excludedRelationRecordIds?: string[]; onCreate?: () => void; + relationObjectNameSingular: string; + relationPickerScopeId?: string; + selectedRelationRecordIds: string[]; } & Pick< SingleEntitySelectMenuItemsProps, | 'EmptyIcon' | 'emptyLabel' - | 'entitiesToSelect' - | 'loading' | 'onCancel' | 'onEntitySelected' | 'selectedEntity' @@ -24,19 +28,41 @@ export type SingleEntitySelectMenuItemsWithSearchProps = { export const SingleEntitySelectMenuItemsWithSearch = ({ EmptyIcon, emptyLabel, - entitiesToSelect, - loading, + excludedRelationRecordIds, onCancel, onCreate, onEntitySelected, + relationObjectNameSingular, + relationPickerScopeId = 'relation-picker', selectedEntity, + selectedRelationRecordIds, }: SingleEntitySelectMenuItemsWithSearchProps) => { - const { searchFilter, handleSearchFilterChange } = useEntitySelectSearch(); + const { searchFilter, searchQuery, handleSearchFilterChange } = + useEntitySelectSearch({ + relationPickerScopeId, + }); const showCreateButton = isDefined(onCreate) && searchFilter !== ''; + const entities = useFilteredSearchEntityQuery({ + filters: [ + { + fieldNames: + searchQuery?.computeFilterFields?.(relationObjectNameSingular) ?? [], + filter: searchFilter, + }, + ], + orderByField: 'createdAt', + selectedIds: selectedRelationRecordIds, + excludeEntityIds: excludedRelationRecordIds, + objectNameSingular: relationObjectNameSingular, + }); + return ( <> + diff --git a/packages/twenty-front/src/modules/object-record/relation-picker/components/__stories__/SingleEntitySelect.stories.tsx b/packages/twenty-front/src/modules/object-record/relation-picker/components/__stories__/SingleEntitySelect.stories.tsx index d7fe8d4008..968c23418a 100644 --- a/packages/twenty-front/src/modules/object-record/relation-picker/components/__stories__/SingleEntitySelect.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/relation-picker/components/__stories__/SingleEntitySelect.stories.tsx @@ -1,10 +1,14 @@ import { Meta, StoryObj } from '@storybook/react'; import { expect, userEvent, within } from '@storybook/test'; +import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { IconUserCircle } from '@/ui/display/icon'; import { ComponentDecorator } from '~/testing/decorators/ComponentDecorator'; import { ComponentWithRecoilScopeDecorator } from '~/testing/decorators/ComponentWithRecoilScopeDecorator'; +import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; import { RelationPickerDecorator } from '~/testing/decorators/RelationPickerDecorator'; +import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; +import { graphqlMocks } from '~/testing/graphqlMocks'; import { mockedPeopleData } from '~/testing/mock-data/people'; import { sleep } from '~/testing/sleep'; @@ -26,7 +30,13 @@ const meta: Meta = { ComponentDecorator, ComponentWithRecoilScopeDecorator, RelationPickerDecorator, + ObjectMetadataItemsDecorator, + SnackBarDecorator, ], + args: { + relationObjectNameSingular: CoreObjectNameSingular.WorkspaceMember, + selectedRelationRecordIds: [], + }, argTypes: { selectedEntity: { options: entities.map(({ name }) => name), @@ -36,37 +46,8 @@ const meta: Meta = { ), }, }, - render: ({ - EmptyIcon, - disableBackgroundBlur = false, - emptyLabel, - loading, - onCancel, - onCreate, - onEntitySelected, - selectedEntity, - width, - }) => { - const filteredEntities = entities.filter( - (entity) => entity.id !== selectedEntity?.id, - ); - - return ( - - ); + parameters: { + msw: graphqlMocks, }, }; @@ -89,7 +70,7 @@ export const WithEmptyOption: Story = { export const WithSearchFilter: Story = { play: async ({ canvasElement, step }) => { const canvas = within(canvasElement); - const searchInput = canvas.getByRole('textbox'); + const searchInput = await canvas.findByRole('textbox'); await step('Enter search text', async () => { await sleep(50); diff --git a/packages/twenty-front/src/modules/object-record/relation-picker/hooks/useEntitySelectSearch.ts b/packages/twenty-front/src/modules/object-record/relation-picker/hooks/useEntitySelectSearch.ts index 379ef7bdbc..d81cd060d5 100644 --- a/packages/twenty-front/src/modules/object-record/relation-picker/hooks/useEntitySelectSearch.ts +++ b/packages/twenty-front/src/modules/object-record/relation-picker/hooks/useEntitySelectSearch.ts @@ -2,12 +2,17 @@ import debounce from 'lodash.debounce'; import { useRelationPicker } from '@/object-record/relation-picker/hooks/useRelationPicker'; -export const useEntitySelectSearch = () => { +export const useEntitySelectSearch = ({ + relationPickerScopeId, +}: { + relationPickerScopeId?: string; +} = {}) => { const { - setRelationPickerPreselectedId, relationPickerSearchFilter, + searchQuery, + setRelationPickerPreselectedId, setRelationPickerSearchFilter, - } = useRelationPicker(); + } = useRelationPicker({ relationPickerScopeId }); const debouncedSetSearchFilter = debounce( setRelationPickerSearchFilter, @@ -26,6 +31,7 @@ export const useEntitySelectSearch = () => { return { searchFilter: relationPickerSearchFilter, + searchQuery, handleSearchFilterChange, }; }; diff --git a/packages/twenty-front/src/modules/object-record/utils/sanitizeRecordInput.ts b/packages/twenty-front/src/modules/object-record/utils/sanitizeRecordInput.ts index 07ea228d2e..4bdc0c6ee3 100644 --- a/packages/twenty-front/src/modules/object-record/utils/sanitizeRecordInput.ts +++ b/packages/twenty-front/src/modules/object-record/utils/sanitizeRecordInput.ts @@ -1,5 +1,7 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; +import { isFieldRelationValue } from '@/object-record/record-field/types/guards/isFieldRelationValue'; import { FieldMetadataType } from '~/generated/graphql'; +import { isDefined } from '~/utils/isDefined'; export const sanitizeRecordInput = ({ objectMetadataItem, @@ -9,12 +11,30 @@ export const sanitizeRecordInput = ({ recordInput: Record; }) => { return Object.fromEntries( - Object.entries(recordInput).filter(([fieldName]) => { - const fieldDefinition = objectMetadataItem.fields.find( - (field) => field.name === fieldName, - ); + Object.entries(recordInput) + .map<[string, unknown] | undefined>(([fieldName, fieldValue]) => { + const fieldDefinition = objectMetadataItem.fields.find( + (field) => field.name === fieldName, + ); - return fieldDefinition?.type !== FieldMetadataType.Relation; - }), + if (!fieldDefinition) return undefined; + + if ( + fieldDefinition.type === FieldMetadataType.Relation && + isFieldRelationValue(fieldValue) + ) { + const relationIdFieldName = `${fieldDefinition.name}Id`; + const relationIdFieldDefinition = objectMetadataItem.fields.find( + (field) => field.name === relationIdFieldName, + ); + + return relationIdFieldDefinition + ? [relationIdFieldName, fieldValue?.id ?? null] + : undefined; + } + + return [fieldName, fieldValue]; + }) + .filter(isDefined), ); }; diff --git a/packages/twenty-front/src/modules/settings/data-model/components/__stories__/SettingsObjectFieldPreview.stories.tsx b/packages/twenty-front/src/modules/settings/data-model/components/__stories__/SettingsObjectFieldPreview.stories.tsx index 23949ce968..0dd1c8d7ae 100644 --- a/packages/twenty-front/src/modules/settings/data-model/components/__stories__/SettingsObjectFieldPreview.stories.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/components/__stories__/SettingsObjectFieldPreview.stories.tsx @@ -1,13 +1,10 @@ import { MemoryRouter } from 'react-router-dom'; import { Meta, StoryObj } from '@storybook/react'; -import { RecoilRoot, useRecoilValue } from 'recoil'; -import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; -import { RelationPickerScope } from '@/object-record/relation-picker/scopes/RelationPickerScope'; -import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/SnackBarProviderScope'; import { Field, FieldMetadataType } from '~/generated-metadata/graphql'; import { ComponentDecorator } from '~/testing/decorators/ComponentDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; +import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { graphqlMocks } from '~/testing/graphqlMocks'; import { mockedCompaniesMetadata, @@ -20,22 +17,9 @@ const meta: Meta = { title: 'Modules/Settings/DataModel/SettingsObjectFieldPreview', component: SettingsObjectFieldPreview, decorators: [ - (Story) => { - // wait for metadata - const objectMetadataItems = useRecoilValue(objectMetadataItemsState); - return objectMetadataItems.length ? : <>; - }, ComponentDecorator, ObjectMetadataItemsDecorator, - (Story) => ( - - - - - - - - ), + SnackBarDecorator, ], args: { fieldMetadata: mockedCompaniesMetadata.node.fields.edges.find( diff --git a/packages/twenty-front/src/modules/settings/data-model/components/__stories__/SettingsObjectFieldTypeSelectSection.stories.tsx b/packages/twenty-front/src/modules/settings/data-model/components/__stories__/SettingsObjectFieldTypeSelectSection.stories.tsx index bc1d3bd6b6..568c23a83a 100644 --- a/packages/twenty-front/src/modules/settings/data-model/components/__stories__/SettingsObjectFieldTypeSelectSection.stories.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/components/__stories__/SettingsObjectFieldTypeSelectSection.stories.tsx @@ -1,17 +1,15 @@ import { MemoryRouter } from 'react-router-dom'; import { Meta, StoryObj } from '@storybook/react'; import { userEvent, within } from '@storybook/test'; -import { useRecoilValue } from 'recoil'; +import { fn } from '@storybook/test'; -import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; -import { RelationPickerScope } from '@/object-record/relation-picker/scopes/RelationPickerScope'; -import { SnackBarProviderScope } from '@/ui/feedback/snack-bar-manager/scopes/SnackBarProviderScope'; import { FieldMetadataType, RelationMetadataType, } from '~/generated-metadata/graphql'; import { ComponentDecorator } from '~/testing/decorators/ComponentDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; +import { SnackBarDecorator } from '~/testing/decorators/SnackBarDecorator'; import { graphqlMocks } from '~/testing/graphqlMocks'; import { mockedCompaniesMetadata, @@ -33,24 +31,14 @@ const meta: Meta = { title: 'Modules/Settings/DataModel/SettingsObjectFieldTypeSelectSection', component: SettingsObjectFieldTypeSelectSection, decorators: [ - (Story) => { - // wait for metadata - const objectMetadataItems = useRecoilValue(objectMetadataItemsState); - return objectMetadataItems.length ? : <>; - }, ComponentDecorator, ObjectMetadataItemsDecorator, - (Story) => ( - - - - - - ), + SnackBarDecorator, ], args: { fieldMetadata: fieldMetadataWithoutId, objectMetadataId: mockedCompaniesMetadata.node.id, + onChange: fn(), values: fieldMetadataFormDefaultValues, }, parameters: { @@ -82,10 +70,6 @@ export const WithOpenSelect: Story = { await userEvent.click(input); await userEvent.click(inputField); - - const selectLabel = canvas.getByText('Number'); - - await userEvent.click(selectLabel); }, }; diff --git a/packages/twenty-front/src/testing/decorators/ObjectMetadataItemsDecorator.tsx b/packages/twenty-front/src/testing/decorators/ObjectMetadataItemsDecorator.tsx index 193c520ee5..953f0b1e14 100644 --- a/packages/twenty-front/src/testing/decorators/ObjectMetadataItemsDecorator.tsx +++ b/packages/twenty-front/src/testing/decorators/ObjectMetadataItemsDecorator.tsx @@ -1,24 +1,16 @@ -import { useEffect } from 'react'; import { Decorator } from '@storybook/react'; -import { useRecoilState } from 'recoil'; +import { useRecoilValue } from 'recoil'; -import { useFindManyObjectMetadataItems } from '@/object-metadata/hooks/useFindManyObjectMetadataItems'; +import { ObjectMetadataItemsLoadEffect } from '@/object-metadata/components/ObjectMetadataItemsLoadEffect'; import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; -import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; export const ObjectMetadataItemsDecorator: Decorator = (Story) => { - const { objectMetadataItems: newObjectMetadataItems } = - useFindManyObjectMetadataItems(); + const objectMetadataItems = useRecoilValue(objectMetadataItemsState); - const [objectMetadataItems, setObjectMetadataItems] = useRecoilState( - objectMetadataItemsState, + return ( + <> + + {!!objectMetadataItems.length && } + ); - - useEffect(() => { - if (!isDeeplyEqual(objectMetadataItems, newObjectMetadataItems)) { - setObjectMetadataItems(newObjectMetadataItems); - } - }, [newObjectMetadataItems, objectMetadataItems, setObjectMetadataItems]); - - return ; }; diff --git a/packages/twenty-front/src/testing/mock-data/metadata.ts b/packages/twenty-front/src/testing/mock-data/metadata.ts index de2a70e3e2..d5744b8e8c 100644 --- a/packages/twenty-front/src/testing/mock-data/metadata.ts +++ b/packages/twenty-front/src/testing/mock-data/metadata.ts @@ -1,3 +1,9 @@ +import { + FieldMetadataType, + ObjectEdge, + RelationMetadataType, +} from '~/generated-metadata/graphql'; + export const mockedPeopleMetadata = { __typename: 'objectEdge', node: { @@ -22,10 +28,11 @@ export const mockedPeopleMetadata = { edges: [ { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '273867e0-1bc7-499f-92d6-a4ec49425138', - type: 'LINK', + type: FieldMetadataType.Link, name: 'linkedinLink', label: 'Linkedin', description: 'Contact’s Linkedin account', @@ -39,7 +46,6 @@ export const mockedPeopleMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -47,7 +53,7 @@ export const mockedPeopleMetadata = { node: { __typename: 'field', id: 'dbdd6cad-20a9-4caa-8965-d1e02d7ab380', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'favorites', label: 'Favorites', description: 'Favorites linked to the contact', @@ -61,19 +67,19 @@ export const mockedPeopleMetadata = { fromRelationMetadata: { __typename: 'relation', id: 'b3d452bc-e683-4dc6-86ec-37766ea8b30c', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '59683254-31b8-4d3c-82ab-d936a56beb48', dataSourceId: 'cabbcaa6-05d6-41f4-920f-9144172a4f08', nameSingular: 'favorite', namePlural: 'favorites', + isSystem: false, }, toFieldMetadataId: 'a0e7e269-d28c-49c6-8fe3-e89acef1cbf3', }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -81,7 +87,7 @@ export const mockedPeopleMetadata = { node: { __typename: 'field', id: 'c606dfb1-a24c-4f9b-b626-0df1c845e6e8', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'messageParticipants', label: 'Message Participants', description: 'Message Participants', @@ -95,19 +101,19 @@ export const mockedPeopleMetadata = { fromRelationMetadata: { __typename: 'relation', id: 'fcc9ed16-2fa4-4809-8a1d-01ce0c481130', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'dd41deae-84d5-4a66-8947-260b0c72677c', dataSourceId: 'cabbcaa6-05d6-41f4-920f-9144172a4f08', nameSingular: 'messageParticipant', namePlural: 'messageParticipants', + isSystem: false, }, toFieldMetadataId: '88ab56e5-828e-4fb2-a37c-314b8803f361', }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -115,7 +121,7 @@ export const mockedPeopleMetadata = { node: { __typename: 'field', id: '586d0acc-f68b-4f08-aea9-410d88f351aa', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'opportunities', label: 'Opportunities', description: 'Opportunities linked to the contact.', @@ -129,27 +135,28 @@ export const mockedPeopleMetadata = { fromRelationMetadata: { __typename: 'relation', id: 'e63587c4-c565-4f77-9b8c-a639ae366dea', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '941ad274-2d26-4e90-94d9-5e446aa5b91e', dataSourceId: 'cabbcaa6-05d6-41f4-920f-9144172a4f08', nameSingular: 'opportunity', namePlural: 'opportunities', + isSystem: false, }, toFieldMetadataId: '48067b53-f99f-4700-bf3a-6569d1646b21', }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '8f830af2-bac2-4c97-95bf-bc2336523200', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'jobTitle', label: 'Job Title', description: 'Contact’s job title', @@ -165,15 +172,15 @@ export const mockedPeopleMetadata = { defaultValue: { value: '', }, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '669ac2ca-a16e-4b82-8d86-0fe2f55ab01b', - type: 'FULL_NAME', + type: FieldMetadataType.FullName, name: 'name', label: 'Name', description: 'Contact’s name', @@ -190,15 +197,15 @@ export const mockedPeopleMetadata = { lastName: '', firstName: '', }, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '92ee0bc9-5010-4153-ab93-6c269ff370c4', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'avatarUrl', label: 'Avatar', description: 'Contact’s avatar', @@ -214,7 +221,6 @@ export const mockedPeopleMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -222,7 +228,7 @@ export const mockedPeopleMetadata = { node: { __typename: 'field', id: '2766f41a-1f8f-413f-88a3-1e3fec0e1821', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'pointOfContactForOpportunities', label: 'POC for Opportunities', description: 'Point of Contact for Opportunities', @@ -236,27 +242,28 @@ export const mockedPeopleMetadata = { fromRelationMetadata: { __typename: 'relation', id: '5b6296d8-8557-4a3c-a963-109a5888b3b3', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '941ad274-2d26-4e90-94d9-5e446aa5b91e', dataSourceId: 'cabbcaa6-05d6-41f4-920f-9144172a4f08', nameSingular: 'opportunity', namePlural: 'opportunities', + isSystem: false, }, toFieldMetadataId: '6510e80d-546a-4a27-9346-06590c81f068', }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '7861e85d-826d-413e-8bd4-da3493a79898', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -272,15 +279,15 @@ export const mockedPeopleMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '10dda10c-8797-4a7b-a8ee-6123eadc4423', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'companyId', label: 'Company id (foreign key)', description: 'Contact’s company id foreign key', @@ -294,15 +301,15 @@ export const mockedPeopleMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '2f1238a1-de77-40a7-a698-0912f8daf4e8', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'phone', label: 'Phone', description: 'Contact’s phone number', @@ -318,7 +325,6 @@ export const mockedPeopleMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -326,7 +332,7 @@ export const mockedPeopleMetadata = { node: { __typename: 'field', id: 'ee0ce363-c3b4-4638-ab88-660566e3016f', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'company', label: 'Company', description: 'Contact’s company', @@ -341,26 +347,27 @@ export const mockedPeopleMetadata = { toRelationMetadata: { __typename: 'relation', id: 'ccf90524-24b0-4b9a-bb01-b904c4f1328e', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '2a603764-1a2f-4043-bbfa-dea375391fad', dataSourceId: 'cabbcaa6-05d6-41f4-920f-9144172a4f08', nameSingular: 'company', namePlural: 'companies', + isSystem: false, }, fromFieldMetadataId: 'd991026f-54af-4411-a913-28b39403c24f', }, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '7db4da02-bcea-4f0e-bb5d-cf702e9529cc', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'city', label: 'City', description: 'Contact’s city', @@ -376,15 +383,15 @@ export const mockedPeopleMetadata = { defaultValue: { value: '', }, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '5a751ba4-5097-4fa8-acd1-5fe164368233', - type: 'LINK', + type: FieldMetadataType.Link, name: 'xLink', label: 'X', description: 'Contact’s X/Twitter account', @@ -398,15 +405,15 @@ export const mockedPeopleMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '8f0adf02-281a-42db-ad73-37d0d62416e0', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -420,9 +427,8 @@ export const mockedPeopleMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -430,7 +436,7 @@ export const mockedPeopleMetadata = { node: { __typename: 'field', id: '0eb1a396-06a5-4b6a-8003-82e6839a2afb', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'attachments', label: 'Attachments', description: 'Attachments linked to the contact.', @@ -444,19 +450,19 @@ export const mockedPeopleMetadata = { fromRelationMetadata: { __typename: 'relation', id: 'a65ae523-9786-4064-8f42-346ce8055345', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'e25b094b-c6a9-4f56-856b-3c3072c33adf', dataSourceId: 'cabbcaa6-05d6-41f4-920f-9144172a4f08', nameSingular: 'attachment', namePlural: 'attachments', + isSystem: false, }, toFieldMetadataId: 'cb2bac7e-0db7-4f10-95f2-d8d122cad29c', }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -464,7 +470,7 @@ export const mockedPeopleMetadata = { node: { __typename: 'field', id: '17692850-3850-4e3a-824a-03aa199847f6', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'activityTargets', label: 'Activities', description: 'Activities tied to the contact', @@ -478,27 +484,28 @@ export const mockedPeopleMetadata = { fromRelationMetadata: { __typename: 'relation', id: '6100b5ae-72b3-4a02-94e9-d923c7a78d92', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'b0327d82-d8a3-4e1d-9b4b-dfbff04d951a', dataSourceId: 'cabbcaa6-05d6-41f4-920f-9144172a4f08', nameSingular: 'activityTarget', namePlural: 'activityTargets', + isSystem: false, }, toFieldMetadataId: 'e6508bb6-0dfd-417a-b0f4-d84bc1f44883', }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '5ecd8da2-7578-4ca9-9f59-45889ac608fa', - type: 'EMAIL', + type: FieldMetadataType.Email, name: 'email', label: 'Email', description: 'Contact’s Email', @@ -514,15 +521,15 @@ export const mockedPeopleMetadata = { defaultValue: { value: '', }, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '63d42400-5bf0-4978-811a-f161f72c834c', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -538,7 +545,6 @@ export const mockedPeopleMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, ], @@ -552,7 +558,7 @@ export const mockedPeopleMetadata = { totalCount: 19, }, }, -}; +} as ObjectEdge; export const mockedCompaniesMetadata = { __typename: 'objectEdge', @@ -578,10 +584,11 @@ export const mockedCompaniesMetadata = { edges: [ { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: 'c03b0e35-b095-42b6-b10f-3e04ef9adf8e', - type: 'LINK', + type: FieldMetadataType.Link, name: 'linkedinLink', label: 'Linkedin', description: 'The company Linkedin account', @@ -595,15 +602,15 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: 'aaf9520e-7723-418d-a464-42cf41db5b0e', - type: 'NUMBER', + type: FieldMetadataType.Number, name: 'employees', label: 'Employees', description: 'Number of employees in the company', @@ -617,15 +624,15 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: 'ea8a043d-58c8-4b13-a041-74fb31c79e42', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'domainName', label: 'Domain Name', description: @@ -642,7 +649,6 @@ export const mockedCompaniesMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -650,7 +656,7 @@ export const mockedCompaniesMetadata = { node: { __typename: 'field', id: '775870d6-16c1-4c94-9b58-c88bdca489e8', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'favorites', label: 'Favorites', description: 'Favorites linked to the company', @@ -664,7 +670,7 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: { __typename: 'relation', id: '4df88275-6b23-4bd4-b7a7-0893d366d8e0', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '59683254-31b8-4d3c-82ab-d936a56beb48', @@ -676,15 +682,15 @@ export const mockedCompaniesMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '1987f9fb-1f75-42a6-93e2-652811855f5b', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'name', label: 'Name', description: 'The company name', @@ -700,15 +706,15 @@ export const mockedCompaniesMetadata = { defaultValue: { value: '', }, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '4ab25246-cf21-4265-9241-885111814e25', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -724,15 +730,15 @@ export const mockedCompaniesMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '72268a05-1ac6-4b4c-b0f1-91dc82aa1f57', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'accountOwnerId', label: 'Account Owner id (foreign key)', description: @@ -747,15 +753,15 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: 'e51b0291-33e5-401e-b595-3940a28bc5ce', - type: 'LINK', + type: FieldMetadataType.Link, name: 'xLink', label: 'X', description: 'The company Twitter/X account', @@ -769,7 +775,6 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -777,7 +782,7 @@ export const mockedCompaniesMetadata = { node: { __typename: 'field', id: 'de0dace0-f7f8-4317-95e8-f80f6f72c7e4', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'accountOwner', label: 'Account Owner', description: @@ -793,7 +798,7 @@ export const mockedCompaniesMetadata = { toRelationMetadata: { __typename: 'relation', id: 'b6d74797-0a27-449e-8f7b-26f94de4f707', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'bdc465d2-f9a8-4ec2-8f3d-50dd2ad4021e', @@ -804,15 +809,15 @@ export const mockedCompaniesMetadata = { fromFieldMetadataId: 'f1c10310-ab4f-484b-bd03-f5f3890e964e', }, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '6c9e87b5-e554-48f6-b6a8-3fce9ab9328b', - type: 'BOOLEAN', + type: FieldMetadataType.Boolean, name: 'idealCustomerProfile', label: 'ICP', description: @@ -827,7 +832,6 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -835,7 +839,7 @@ export const mockedCompaniesMetadata = { node: { __typename: 'field', id: '67500175-d2d8-4b84-a6c6-4b0a0a5cca23', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'attachments', label: 'Attachments', description: 'Attachments linked to the company.', @@ -849,7 +853,7 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: { __typename: 'relation', id: '857f84a7-9934-4b3c-a7c6-3d1db427df73', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'e25b094b-c6a9-4f56-856b-3c3072c33adf', @@ -861,15 +865,15 @@ export const mockedCompaniesMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: 'ed7fb62c-5e1a-4f35-82ff-5c59efc28edb', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -885,15 +889,15 @@ export const mockedCompaniesMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: 'a5109540-d918-4f33-b80c-235a5816d44b', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -907,17 +911,17 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '6b50c2a4-85b5-41ff-a774-8331ad7b3b61', - type: 'CURRENCY', + type: FieldMetadataType.Currency, name: 'annualRecurringRevenue', label: 'ARR', description: @@ -932,7 +936,6 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -940,7 +943,7 @@ export const mockedCompaniesMetadata = { node: { __typename: 'field', id: '00b695d6-e0c6-4029-9932-817b19ae0380', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'opportunities', label: 'Opportunities', description: 'Opportunities linked to the company.', @@ -954,7 +957,7 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: { __typename: 'relation', id: 'afe2078f-6c52-45ef-bb2e-f43b0ee28ecc', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '941ad274-2d26-4e90-94d9-5e446aa5b91e', @@ -966,15 +969,15 @@ export const mockedCompaniesMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: 'aec12544-a9e8-464f-b7f7-b6f1ce3faebe', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'address', label: 'Address', description: 'The company address', @@ -990,7 +993,6 @@ export const mockedCompaniesMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -998,7 +1000,7 @@ export const mockedCompaniesMetadata = { node: { __typename: 'field', id: 'd991026f-54af-4411-a913-28b39403c24f', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'people', label: 'People', description: 'People linked to the company.', @@ -1012,7 +1014,7 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: { __typename: 'relation', id: 'ccf90524-24b0-4b9a-bb01-b904c4f1328e', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '251787a4-9e47-4251-aaea-ea83f74cee80', @@ -1024,7 +1026,6 @@ export const mockedCompaniesMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -1032,7 +1033,7 @@ export const mockedCompaniesMetadata = { node: { __typename: 'field', id: '9a1a00ee-1595-4b00-8a33-fefb02e25c98', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'activityTargets', label: 'Activities', description: 'Activities tied to the company', @@ -1046,7 +1047,7 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: { __typename: 'relation', id: '49028648-0380-481d-b6ba-004193f83e97', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'b0327d82-d8a3-4e1d-9b4b-dfbff04d951a', @@ -1058,15 +1059,15 @@ export const mockedCompaniesMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { __typename: 'fieldEdge', + cursor: '', node: { __typename: 'field', id: '726f398f-7007-49f9-8b03-f71813c9fcf2', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'industry', label: 'Industry', description: 'The industry the company is involved in', @@ -1080,7 +1081,6 @@ export const mockedCompaniesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, ], @@ -1094,7 +1094,7 @@ export const mockedCompaniesMetadata = { totalCount: 18, }, }, -}; +} as ObjectEdge; export const mockedPipelineStepsMetadata = { __typename: 'objectEdge', @@ -1123,7 +1123,7 @@ export const mockedPipelineStepsMetadata = { node: { __typename: 'field', id: '202efca6-9820-4e4a-9a27-f362dc5b46ed', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -1137,9 +1137,8 @@ export const mockedPipelineStepsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -1147,7 +1146,7 @@ export const mockedPipelineStepsMetadata = { node: { __typename: 'field', id: 'c9b9d516-10d2-4eca-94ce-a872547f429f', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'color', label: 'Color', description: 'Pipeline Step color', @@ -1163,7 +1162,6 @@ export const mockedPipelineStepsMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -1171,7 +1169,7 @@ export const mockedPipelineStepsMetadata = { node: { __typename: 'field', id: '7928241f-6fe9-4ab2-84c6-7e84c5bea05f', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -1187,7 +1185,6 @@ export const mockedPipelineStepsMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -1195,7 +1192,7 @@ export const mockedPipelineStepsMetadata = { node: { __typename: 'field', id: 'ad3e919f-4258-4e21-8caf-bf122f17ca5c', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'opportunities', label: 'Opportunities', description: 'Opportunities linked to the step.', @@ -1209,7 +1206,7 @@ export const mockedPipelineStepsMetadata = { fromRelationMetadata: { __typename: 'relation', id: '7b0474c4-d82d-4c1d-96de-c6728b53339a', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '941ad274-2d26-4e90-94d9-5e446aa5b91e', @@ -1221,7 +1218,6 @@ export const mockedPipelineStepsMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -1229,7 +1225,7 @@ export const mockedPipelineStepsMetadata = { node: { __typename: 'field', id: 'c26ba58c-5629-4a6b-ae7f-5c06d3045a9b', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -1245,7 +1241,6 @@ export const mockedPipelineStepsMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -1253,7 +1248,7 @@ export const mockedPipelineStepsMetadata = { node: { __typename: 'field', id: '4f383c05-3f9b-433a-8617-20ed3861e490', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'name', label: 'Name', description: 'Pipeline Step name', @@ -1269,7 +1264,6 @@ export const mockedPipelineStepsMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -1277,7 +1271,7 @@ export const mockedPipelineStepsMetadata = { node: { __typename: 'field', id: '8c712fbc-306f-4534-86c1-caae09b840a2', - type: 'NUMBER', + type: FieldMetadataType.Number, name: 'position', label: 'Position', description: 'Pipeline Step position', @@ -1293,7 +1287,6 @@ export const mockedPipelineStepsMetadata = { defaultValue: { value: 0, }, - options: null, }, }, ], @@ -1336,7 +1329,7 @@ export const mockedActivityTargetsMetadata = { node: { __typename: 'field', id: '55d3c728-fd31-4012-a7f1-f90571f9f7eb', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'activityId', label: 'Activity id (foreign key)', description: 'ActivityTarget activity id foreign key', @@ -1350,7 +1343,6 @@ export const mockedActivityTargetsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -1358,7 +1350,7 @@ export const mockedActivityTargetsMetadata = { node: { __typename: 'field', id: '1d8071b7-06bd-4c34-94cc-05cd7d672945', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'personId', label: 'Person id (foreign key)', description: 'ActivityTarget person id foreign key', @@ -1372,7 +1364,6 @@ export const mockedActivityTargetsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -1380,7 +1371,7 @@ export const mockedActivityTargetsMetadata = { node: { __typename: 'field', id: 'd9ea410b-2441-44ef-85da-03650aad5818', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'company', label: 'Company', description: 'ActivityTarget company', @@ -1395,7 +1386,7 @@ export const mockedActivityTargetsMetadata = { toRelationMetadata: { __typename: 'relation', id: '49028648-0380-481d-b6ba-004193f83e97', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '2a603764-1a2f-4043-bbfa-dea375391fad', @@ -1406,7 +1397,6 @@ export const mockedActivityTargetsMetadata = { fromFieldMetadataId: '9a1a00ee-1595-4b00-8a33-fefb02e25c98', }, defaultValue: null, - options: null, }, }, { @@ -1414,7 +1404,7 @@ export const mockedActivityTargetsMetadata = { node: { __typename: 'field', id: '9de09afd-3a18-46dc-8be8-01c6972738c6', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'companyId', label: 'Company id (foreign key)', description: 'ActivityTarget company id foreign key', @@ -1428,7 +1418,6 @@ export const mockedActivityTargetsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -1436,7 +1425,7 @@ export const mockedActivityTargetsMetadata = { node: { __typename: 'field', id: 'd9c9707b-17c3-4bfd-a786-f7f4289b977a', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -1452,7 +1441,6 @@ export const mockedActivityTargetsMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -1460,7 +1448,7 @@ export const mockedActivityTargetsMetadata = { node: { __typename: 'field', id: '2aded974-bfa4-4ba4-b4c9-91346ac2762b', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'activity', label: 'Activity', description: 'ActivityTarget activity', @@ -1475,7 +1463,7 @@ export const mockedActivityTargetsMetadata = { toRelationMetadata: { __typename: 'relation', id: 'a47ced1e-6070-4b11-b5ab-1a3d2268d8a2', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'c8682a80-0b92-4d0e-9405-53ab7e8b225f', @@ -1486,7 +1474,6 @@ export const mockedActivityTargetsMetadata = { fromFieldMetadataId: '63bf5a31-2b3c-47ca-bb75-f1efb053ec58', }, defaultValue: null, - options: null, }, }, { @@ -1494,7 +1481,7 @@ export const mockedActivityTargetsMetadata = { node: { __typename: 'field', id: 'e6508bb6-0dfd-417a-b0f4-d84bc1f44883', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'person', label: 'Person', description: 'ActivityTarget person', @@ -1509,7 +1496,7 @@ export const mockedActivityTargetsMetadata = { toRelationMetadata: { __typename: 'relation', id: '6100b5ae-72b3-4a02-94e9-d923c7a78d92', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '251787a4-9e47-4251-aaea-ea83f74cee80', @@ -1520,7 +1507,6 @@ export const mockedActivityTargetsMetadata = { fromFieldMetadataId: '17692850-3850-4e3a-824a-03aa199847f6', }, defaultValue: null, - options: null, }, }, { @@ -1528,7 +1514,7 @@ export const mockedActivityTargetsMetadata = { node: { __typename: 'field', id: 'dc80d52d-31ea-4a72-bb9a-482ed86b6bc5', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -1544,7 +1530,6 @@ export const mockedActivityTargetsMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -1552,7 +1537,7 @@ export const mockedActivityTargetsMetadata = { node: { __typename: 'field', id: '5e8876b8-4492-4a35-ae57-da3bc725e9f1', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -1566,9 +1551,8 @@ export const mockedActivityTargetsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, ], @@ -1611,7 +1595,7 @@ export const mockedFavoritesMetadata = { node: { __typename: 'field', id: 'a63cbf75-68a5-4e80-8dff-b26982070afe', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -1627,7 +1611,6 @@ export const mockedFavoritesMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -1635,7 +1618,7 @@ export const mockedFavoritesMetadata = { node: { __typename: 'field', id: '7ff19811-b2fe-428e-89e1-7c2ab79d6ba4', - type: 'NUMBER', + type: FieldMetadataType.Number, name: 'position', label: 'Position', description: 'Favorite position', @@ -1651,7 +1634,6 @@ export const mockedFavoritesMetadata = { defaultValue: { value: 0, }, - options: null, }, }, { @@ -1659,7 +1641,7 @@ export const mockedFavoritesMetadata = { node: { __typename: 'field', id: '818f4137-f4eb-4899-aed9-c59f7924a0ad', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -1675,7 +1657,6 @@ export const mockedFavoritesMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -1683,7 +1664,7 @@ export const mockedFavoritesMetadata = { node: { __typename: 'field', id: 'e9bab8b3-7a1b-4184-b66b-4a9d744b285f', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -1697,9 +1678,8 @@ export const mockedFavoritesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -1707,7 +1687,7 @@ export const mockedFavoritesMetadata = { node: { __typename: 'field', id: 'a0e7e269-d28c-49c6-8fe3-e89acef1cbf3', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'person', label: 'Person', description: 'Favorite person', @@ -1722,7 +1702,7 @@ export const mockedFavoritesMetadata = { toRelationMetadata: { __typename: 'relation', id: 'b3d452bc-e683-4dc6-86ec-37766ea8b30c', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '251787a4-9e47-4251-aaea-ea83f74cee80', @@ -1733,7 +1713,6 @@ export const mockedFavoritesMetadata = { fromFieldMetadataId: 'dbdd6cad-20a9-4caa-8965-d1e02d7ab380', }, defaultValue: null, - options: null, }, }, { @@ -1741,7 +1720,7 @@ export const mockedFavoritesMetadata = { node: { __typename: 'field', id: '39655326-9472-4552-a96c-934192e7b6b1', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'workspaceMemberId', label: 'Workspace Member id (foreign key)', description: 'Favorite workspace member id foreign key', @@ -1755,7 +1734,6 @@ export const mockedFavoritesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -1763,7 +1741,7 @@ export const mockedFavoritesMetadata = { node: { __typename: 'field', id: 'dcd5343e-98db-4cf7-aded-2c9c0da0a220', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'company', label: 'Company', description: 'Favorite company', @@ -1778,7 +1756,7 @@ export const mockedFavoritesMetadata = { toRelationMetadata: { __typename: 'relation', id: '4df88275-6b23-4bd4-b7a7-0893d366d8e0', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '2a603764-1a2f-4043-bbfa-dea375391fad', @@ -1789,7 +1767,6 @@ export const mockedFavoritesMetadata = { fromFieldMetadataId: '775870d6-16c1-4c94-9b58-c88bdca489e8', }, defaultValue: null, - options: null, }, }, { @@ -1797,7 +1774,7 @@ export const mockedFavoritesMetadata = { node: { __typename: 'field', id: '46f6b12a-b720-4f64-9637-85e9b3b660ac', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'companyId', label: 'Company id (foreign key)', description: 'Favorite company id foreign key', @@ -1811,7 +1788,6 @@ export const mockedFavoritesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -1819,7 +1795,7 @@ export const mockedFavoritesMetadata = { node: { __typename: 'field', id: '9b9b9be4-34ee-4ed2-9ecf-772a619584ef', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'personId', label: 'Person id (foreign key)', description: 'Favorite person id foreign key', @@ -1833,7 +1809,6 @@ export const mockedFavoritesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -1841,7 +1816,7 @@ export const mockedFavoritesMetadata = { node: { __typename: 'field', id: 'efc8bec2-de4a-4d67-9187-31394bb35119', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'workspaceMember', label: 'Workspace Member', description: 'Favorite workspace member', @@ -1856,7 +1831,7 @@ export const mockedFavoritesMetadata = { toRelationMetadata: { __typename: 'relation', id: '4e7e4ec6-2543-47c0-87cc-0c394e98271e', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'bdc465d2-f9a8-4ec2-8f3d-50dd2ad4021e', @@ -1867,7 +1842,6 @@ export const mockedFavoritesMetadata = { fromFieldMetadataId: 'da7c9f08-5de0-4807-96d4-018ff7072d15', }, defaultValue: null, - options: null, }, }, ], @@ -1910,7 +1884,7 @@ export const mockedMessageParticipantsMetadata = { node: { __typename: 'field', id: '37369429-26fb-4521-963c-1aa17d1a65f2', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'personId', label: 'Person id (foreign key)', description: 'Person id foreign key', @@ -1924,7 +1898,6 @@ export const mockedMessageParticipantsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -1932,7 +1905,7 @@ export const mockedMessageParticipantsMetadata = { node: { __typename: 'field', id: '22883ca2-34e2-40ab-9e7b-fde5836cb5d2', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'workspaceMember', label: 'Workspace Member', description: 'Workspace member', @@ -1947,7 +1920,7 @@ export const mockedMessageParticipantsMetadata = { toRelationMetadata: { __typename: 'relation', id: 'ffcedbc0-adb7-4f74-83bb-ff7e3c270183', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'bdc465d2-f9a8-4ec2-8f3d-50dd2ad4021e', @@ -1958,7 +1931,6 @@ export const mockedMessageParticipantsMetadata = { fromFieldMetadataId: 'f13cce91-5f98-4eb0-8c6e-c1cf41ad168f', }, defaultValue: null, - options: null, }, }, { @@ -1966,7 +1938,7 @@ export const mockedMessageParticipantsMetadata = { node: { __typename: 'field', id: '5791f58e-b4f9-4415-a604-88155073a24a', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'displayName', label: 'Display Name', description: 'Display Name', @@ -1982,7 +1954,6 @@ export const mockedMessageParticipantsMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -1990,7 +1961,7 @@ export const mockedMessageParticipantsMetadata = { node: { __typename: 'field', id: '0f5d742d-103c-46fb-845e-26320ec57391', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -2004,9 +1975,8 @@ export const mockedMessageParticipantsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -2014,7 +1984,7 @@ export const mockedMessageParticipantsMetadata = { node: { __typename: 'field', id: '5ac3d613-474d-4cc3-b01b-f0ff4772004f', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'messageId', label: 'Message id (foreign key)', description: 'Message id foreign key', @@ -2028,7 +1998,6 @@ export const mockedMessageParticipantsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2036,7 +2005,7 @@ export const mockedMessageParticipantsMetadata = { node: { __typename: 'field', id: '88ab56e5-828e-4fb2-a37c-314b8803f361', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'person', label: 'Person', description: 'Person', @@ -2051,7 +2020,7 @@ export const mockedMessageParticipantsMetadata = { toRelationMetadata: { __typename: 'relation', id: 'fcc9ed16-2fa4-4809-8a1d-01ce0c481130', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '251787a4-9e47-4251-aaea-ea83f74cee80', @@ -2062,7 +2031,6 @@ export const mockedMessageParticipantsMetadata = { fromFieldMetadataId: 'c606dfb1-a24c-4f9b-b626-0df1c845e6e8', }, defaultValue: null, - options: null, }, }, { @@ -2070,7 +2038,7 @@ export const mockedMessageParticipantsMetadata = { node: { __typename: 'field', id: '663612f4-7eb8-4b21-886e-730f3b047ee7', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'message', label: 'Message', description: 'Message', @@ -2085,7 +2053,7 @@ export const mockedMessageParticipantsMetadata = { toRelationMetadata: { __typename: 'relation', id: '020d2fe4-33c3-4fe1-a2cc-35a23d73d046', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '6f4cd2fa-2e6f-41be-a2cc-98e497a1d2f5', @@ -2096,7 +2064,6 @@ export const mockedMessageParticipantsMetadata = { fromFieldMetadataId: '9c58971b-4e40-4f49-b125-ff014f909744', }, defaultValue: null, - options: null, }, }, { @@ -2104,7 +2071,7 @@ export const mockedMessageParticipantsMetadata = { node: { __typename: 'field', id: '501a7d34-f158-4b13-b26d-f04d966a2012', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'role', label: 'Role', description: 'Role', @@ -2120,7 +2087,6 @@ export const mockedMessageParticipantsMetadata = { defaultValue: { value: 'from', }, - options: null, }, }, { @@ -2128,7 +2094,7 @@ export const mockedMessageParticipantsMetadata = { node: { __typename: 'field', id: 'f6c7f0fd-77a7-4d64-8b6a-e495a3cad2db', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -2144,7 +2110,6 @@ export const mockedMessageParticipantsMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -2152,7 +2117,7 @@ export const mockedMessageParticipantsMetadata = { node: { __typename: 'field', id: 'fbdb9c94-d18f-43f8-a214-d6e87782c177', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'workspaceMemberId', label: 'Workspace Member id (foreign key)', description: 'Workspace member id foreign key', @@ -2166,7 +2131,6 @@ export const mockedMessageParticipantsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2174,7 +2138,7 @@ export const mockedMessageParticipantsMetadata = { node: { __typename: 'field', id: '1f3c5781-fdd0-4c75-9b90-7486583830f8', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'handle', label: 'Handle', description: 'Handle', @@ -2190,7 +2154,6 @@ export const mockedMessageParticipantsMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -2198,7 +2161,7 @@ export const mockedMessageParticipantsMetadata = { node: { __typename: 'field', id: '9df1cbaf-1b9f-462a-a341-cefbb8a05fcd', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -2214,7 +2177,6 @@ export const mockedMessageParticipantsMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, ], @@ -2257,7 +2219,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: '64744680-c85f-45ca-ba74-55986558d58f', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'reminderAt', label: 'Reminder Date', description: 'Activity reminder date', @@ -2271,7 +2233,6 @@ export const mockedActivitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2279,7 +2240,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: 'ee8f3269-ad40-4ee8-9989-4b6978ddb487', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'title', label: 'Title', description: 'Activity title', @@ -2295,7 +2256,6 @@ export const mockedActivitiesMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -2303,7 +2263,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: 'ce7bdaf6-445c-472a-b069-34fe73ac849c', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -2319,7 +2279,6 @@ export const mockedActivitiesMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -2327,7 +2286,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: 'f47a1319-bdec-4d9e-8179-17cb9df81dd6', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'comments', label: 'Comments', description: 'Activity comments', @@ -2341,7 +2300,7 @@ export const mockedActivitiesMetadata = { fromRelationMetadata: { __typename: 'relation', id: 'f4a1e4f4-8a26-4c7d-8973-6fdbc816fc6d', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '5f5658c9-a4c8-4463-b8ba-66fb3a1efacc', @@ -2353,7 +2312,6 @@ export const mockedActivitiesMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2361,7 +2319,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: 'a6bd62f1-3e4c-4be0-ab64-0e7248d7d9eb', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'assignee', label: 'Assignee', description: 'Acitivity assignee', @@ -2376,7 +2334,7 @@ export const mockedActivitiesMetadata = { toRelationMetadata: { __typename: 'relation', id: '0de81eae-1ffb-4cb5-b081-ab18d5641d50', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'bdc465d2-f9a8-4ec2-8f3d-50dd2ad4021e', @@ -2387,7 +2345,6 @@ export const mockedActivitiesMetadata = { fromFieldMetadataId: '9a722ce5-1721-4406-a695-4a207f6f50c7', }, defaultValue: null, - options: null, }, }, { @@ -2395,7 +2352,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: '5ba12c78-4e7d-422d-821a-a647b959689b', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -2409,9 +2366,8 @@ export const mockedActivitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -2419,7 +2375,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: '763c2a4a-e7ba-445f-9ecd-6d1d20c8b408', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'attachments', label: 'Attachments', description: 'Activity attachments', @@ -2433,7 +2389,7 @@ export const mockedActivitiesMetadata = { fromRelationMetadata: { __typename: 'relation', id: 'a45591f3-8a30-49d0-92b3-59c4110dfee7', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'e25b094b-c6a9-4f56-856b-3c3072c33adf', @@ -2445,7 +2401,6 @@ export const mockedActivitiesMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2453,7 +2408,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: '87b74ce7-8029-4b36-8b2f-6e565b65429a', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'type', label: 'Type', description: 'Activity type', @@ -2469,7 +2424,6 @@ export const mockedActivitiesMetadata = { defaultValue: { value: 'Note', }, - options: null, }, }, { @@ -2477,7 +2431,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: '3cea79b3-4419-4872-b1e3-6ab7623fb918', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'body', label: 'Body', description: 'Activity body', @@ -2493,7 +2447,6 @@ export const mockedActivitiesMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -2501,7 +2454,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: '4c652e71-ec1d-418f-b102-26e56d1d0c03', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'assigneeId', label: 'Assignee id (foreign key)', description: 'Acitivity assignee id foreign key', @@ -2515,7 +2468,6 @@ export const mockedActivitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2523,7 +2475,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: '3cdd5fbe-8e16-493d-9638-425af94f313e', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'completedAt', label: 'Completion Date', description: 'Activity completion date', @@ -2537,7 +2489,6 @@ export const mockedActivitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2545,7 +2496,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: 'c40dd76b-da9d-48aa-af28-4d42f2ac1dea', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'dueAt', label: 'Due Date', description: 'Activity due date', @@ -2559,7 +2510,6 @@ export const mockedActivitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2567,7 +2517,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: '63bf5a31-2b3c-47ca-bb75-f1efb053ec58', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'activityTargets', label: 'Targets', description: 'Activity targets', @@ -2581,7 +2531,7 @@ export const mockedActivitiesMetadata = { fromRelationMetadata: { __typename: 'relation', id: 'a47ced1e-6070-4b11-b5ab-1a3d2268d8a2', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'b0327d82-d8a3-4e1d-9b4b-dfbff04d951a', @@ -2593,7 +2543,6 @@ export const mockedActivitiesMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2601,7 +2550,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: '46782ee3-181c-484b-9aa9-27e57b61cc81', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'author', label: 'Author', description: 'Activity author', @@ -2616,7 +2565,7 @@ export const mockedActivitiesMetadata = { toRelationMetadata: { __typename: 'relation', id: '519a92c5-8b0a-4a85-b0bc-be8d1607da5a', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'bdc465d2-f9a8-4ec2-8f3d-50dd2ad4021e', @@ -2627,7 +2576,6 @@ export const mockedActivitiesMetadata = { fromFieldMetadataId: '4d91396b-99ff-486f-aa23-aa90bfca4aff', }, defaultValue: null, - options: null, }, }, { @@ -2635,7 +2583,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: 'fa996207-da7a-43e0-ba7d-406e5146e03f', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'authorId', label: 'Author id (foreign key)', description: 'Activity author id foreign key', @@ -2649,7 +2597,6 @@ export const mockedActivitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2657,7 +2604,7 @@ export const mockedActivitiesMetadata = { node: { __typename: 'field', id: 'dd65a576-a91b-4865-aae8-287e64d6a192', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -2673,7 +2620,6 @@ export const mockedActivitiesMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, ], @@ -2716,7 +2662,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: 'c0d56fea-22a3-42e6-b715-f0bc07dafe4c', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'authorId', label: 'Author id (foreign key)', description: 'Attachment author id foreign key', @@ -2730,7 +2676,6 @@ export const mockedAttachmentsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2738,7 +2683,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: '78bcb420-9281-4eeb-8eb6-b2f3047acc09', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'author', label: 'Author', description: 'Attachment author', @@ -2753,7 +2698,7 @@ export const mockedAttachmentsMetadata = { toRelationMetadata: { __typename: 'relation', id: '2d64b1ba-c7c2-4d96-bba3-ae2f7c2be7bc', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'bdc465d2-f9a8-4ec2-8f3d-50dd2ad4021e', @@ -2764,7 +2709,6 @@ export const mockedAttachmentsMetadata = { fromFieldMetadataId: 'dbd81b2e-f282-4846-970a-d9fbf1ab0f67', }, defaultValue: null, - options: null, }, }, { @@ -2772,7 +2716,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: '1ce97b92-8efa-4260-bd96-efe207182424', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -2788,7 +2732,6 @@ export const mockedAttachmentsMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -2796,7 +2739,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: 'a121231f-4264-49b4-afff-04db4021d484', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'name', label: 'Name', description: 'Attachment name', @@ -2812,7 +2755,6 @@ export const mockedAttachmentsMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -2820,7 +2762,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: 'f6edc5fd-601d-4576-8828-d749ed6e0dde', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -2834,9 +2776,8 @@ export const mockedAttachmentsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -2844,7 +2785,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: '26fda4b8-c242-429c-9139-1ced619244d1', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'personId', label: 'Person id (foreign key)', description: 'Attachment person id foreign key', @@ -2858,7 +2799,6 @@ export const mockedAttachmentsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2866,7 +2806,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: '6e103463-aee5-4be3-af12-52cacd566c3a', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'company', label: 'Company', description: 'Attachment company', @@ -2881,7 +2821,7 @@ export const mockedAttachmentsMetadata = { toRelationMetadata: { __typename: 'relation', id: '857f84a7-9934-4b3c-a7c6-3d1db427df73', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '2a603764-1a2f-4043-bbfa-dea375391fad', @@ -2892,7 +2832,6 @@ export const mockedAttachmentsMetadata = { fromFieldMetadataId: '67500175-d2d8-4b84-a6c6-4b0a0a5cca23', }, defaultValue: null, - options: null, }, }, { @@ -2900,7 +2839,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: 'e4a17720-25f2-42ca-8f26-2557e1d2d31c', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -2916,7 +2855,6 @@ export const mockedAttachmentsMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -2924,7 +2862,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: 'ae6f3e07-7858-4999-93a0-557fe2ee5f0e', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'companyId', label: 'Company id (foreign key)', description: 'Attachment company id foreign key', @@ -2938,7 +2876,6 @@ export const mockedAttachmentsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2946,7 +2883,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: 'f550d5cb-7e06-47b0-9e50-c5ad68beb0f6', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'activityId', label: 'Activity id (foreign key)', description: 'Attachment activity id foreign key', @@ -2960,7 +2897,6 @@ export const mockedAttachmentsMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -2968,7 +2904,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: 'ba8f371a-238f-4bb1-9099-275f60281d22', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'fullPath', label: 'Full path', description: 'Attachment full path', @@ -2984,7 +2920,6 @@ export const mockedAttachmentsMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -2992,7 +2927,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: 'cb2bac7e-0db7-4f10-95f2-d8d122cad29c', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'person', label: 'Person', description: 'Attachment person', @@ -3007,7 +2942,7 @@ export const mockedAttachmentsMetadata = { toRelationMetadata: { __typename: 'relation', id: 'a65ae523-9786-4064-8f42-346ce8055345', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '251787a4-9e47-4251-aaea-ea83f74cee80', @@ -3018,7 +2953,6 @@ export const mockedAttachmentsMetadata = { fromFieldMetadataId: '0eb1a396-06a5-4b6a-8003-82e6839a2afb', }, defaultValue: null, - options: null, }, }, { @@ -3026,7 +2960,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: 'ab9ec58a-d20c-48e0-b5ca-7050810fdb2d', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'type', label: 'Type', description: 'Attachment type', @@ -3042,7 +2976,6 @@ export const mockedAttachmentsMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -3050,7 +2983,7 @@ export const mockedAttachmentsMetadata = { node: { __typename: 'field', id: 'd8ce8a44-872e-482e-ac9d-87f6637f5776', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'activity', label: 'Activity', description: 'Attachment activity', @@ -3065,7 +2998,7 @@ export const mockedAttachmentsMetadata = { toRelationMetadata: { __typename: 'relation', id: 'a45591f3-8a30-49d0-92b3-59c4110dfee7', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'c8682a80-0b92-4d0e-9405-53ab7e8b225f', @@ -3076,7 +3009,6 @@ export const mockedAttachmentsMetadata = { fromFieldMetadataId: '763c2a4a-e7ba-445f-9ecd-6d1d20c8b408', }, defaultValue: null, - options: null, }, }, ], @@ -3119,7 +3051,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: '2f6a7242-efd0-4cb8-8d54-d298df37690d', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'locale', label: 'Language', description: 'Preferred language', @@ -3135,7 +3067,6 @@ export const mockedWorkspaceMembersMetadata = { defaultValue: { value: 'en', }, - options: null, }, }, { @@ -3143,7 +3074,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: 'f13cce91-5f98-4eb0-8c6e-c1cf41ad168f', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'messageParticipants', label: 'Message Participants', description: 'Message Participants', @@ -3157,7 +3088,7 @@ export const mockedWorkspaceMembersMetadata = { fromRelationMetadata: { __typename: 'relation', id: 'ffcedbc0-adb7-4f74-83bb-ff7e3c270183', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'dd41deae-84d5-4a66-8947-260b0c72677c', @@ -3169,7 +3100,6 @@ export const mockedWorkspaceMembersMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -3177,7 +3107,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: 'dcfbc338-ef39-42f6-9712-128d5efe2c04', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -3193,7 +3123,6 @@ export const mockedWorkspaceMembersMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -3201,7 +3130,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: '4d91396b-99ff-486f-aa23-aa90bfca4aff', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'authoredActivities', label: 'Authored activities', description: 'Activities created by the workspace member', @@ -3215,7 +3144,7 @@ export const mockedWorkspaceMembersMetadata = { fromRelationMetadata: { __typename: 'relation', id: '519a92c5-8b0a-4a85-b0bc-be8d1607da5a', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'c8682a80-0b92-4d0e-9405-53ab7e8b225f', @@ -3227,7 +3156,6 @@ export const mockedWorkspaceMembersMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -3235,7 +3163,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: 'ccb7f96a-fd64-49a4-b5c3-e9cceb436dbd', - type: 'FULL_NAME', + type: FieldMetadataType.FullName, name: 'name', label: 'Name', description: 'Workspace member name', @@ -3252,7 +3180,6 @@ export const mockedWorkspaceMembersMetadata = { lastName: '', firstName: '', }, - options: null, }, }, { @@ -3260,7 +3187,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: 'da7c9f08-5de0-4807-96d4-018ff7072d15', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'favorites', label: 'Favorites', description: 'Favorites linked to the workspace member', @@ -3274,7 +3201,7 @@ export const mockedWorkspaceMembersMetadata = { fromRelationMetadata: { __typename: 'relation', id: '4e7e4ec6-2543-47c0-87cc-0c394e98271e', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '59683254-31b8-4d3c-82ab-d936a56beb48', @@ -3286,7 +3213,6 @@ export const mockedWorkspaceMembersMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -3294,7 +3220,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: 'ed36d8bc-dcbd-4d4a-8b18-02e04b13fbf7', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'colorScheme', label: 'Color Scheme', description: 'Preferred color scheme', @@ -3310,7 +3236,6 @@ export const mockedWorkspaceMembersMetadata = { defaultValue: { value: 'Light', }, - options: null, }, }, { @@ -3318,7 +3243,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: '099a5f31-0b9a-4d1a-81dc-811f0f1f0b33', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'authoredComments', label: 'Authored comments', description: 'Authored comments', @@ -3332,7 +3257,7 @@ export const mockedWorkspaceMembersMetadata = { fromRelationMetadata: { __typename: 'relation', id: '8e2a5be9-ff83-4106-bfe0-0877423559d0', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '5f5658c9-a4c8-4463-b8ba-66fb3a1efacc', @@ -3344,7 +3269,6 @@ export const mockedWorkspaceMembersMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -3352,7 +3276,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: '016b24b5-cd59-48fa-81ce-ba13670ce7d2', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -3368,7 +3292,6 @@ export const mockedWorkspaceMembersMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -3376,7 +3299,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: '2c8bb89a-c60c-49bf-81ce-7074ac41caf5', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'connectedAccounts', label: 'Connected accounts', description: 'Connected accounts', @@ -3390,7 +3313,7 @@ export const mockedWorkspaceMembersMetadata = { fromRelationMetadata: { __typename: 'relation', id: '7fd3bdb5-e043-495d-82b1-d75c22b70bac', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '539d1682-9999-43dc-94c1-7ad52640ac7d', @@ -3402,7 +3325,6 @@ export const mockedWorkspaceMembersMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -3410,7 +3332,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: 'f1c10310-ab4f-484b-bd03-f5f3890e964e', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'accountOwnerForCompanies', label: 'Account Owner For Companies', description: 'Account owner for companies', @@ -3424,7 +3346,7 @@ export const mockedWorkspaceMembersMetadata = { fromRelationMetadata: { __typename: 'relation', id: 'b6d74797-0a27-449e-8f7b-26f94de4f707', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '2a603764-1a2f-4043-bbfa-dea375391fad', @@ -3436,7 +3358,6 @@ export const mockedWorkspaceMembersMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -3444,7 +3365,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: '318a3e81-5b82-4c2d-8487-f3b8d5be9096', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -3458,9 +3379,8 @@ export const mockedWorkspaceMembersMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -3468,7 +3388,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: '14b83650-bfd2-4810-be57-4d532697051a', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'userId', label: 'User Id', description: 'Associated User Id', @@ -3482,7 +3402,6 @@ export const mockedWorkspaceMembersMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -3490,7 +3409,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: 'e208d831-5ab7-4382-971a-2314ab2ef139', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'avatarUrl', label: 'Avatar Url', description: 'Workspace member avatar', @@ -3506,7 +3425,6 @@ export const mockedWorkspaceMembersMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -3514,7 +3432,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: 'dbd81b2e-f282-4846-970a-d9fbf1ab0f67', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'authoredAttachments', label: 'Authored attachments', description: 'Attachments created by the workspace member', @@ -3528,7 +3446,7 @@ export const mockedWorkspaceMembersMetadata = { fromRelationMetadata: { __typename: 'relation', id: '2d64b1ba-c7c2-4d96-bba3-ae2f7c2be7bc', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'e25b094b-c6a9-4f56-856b-3c3072c33adf', @@ -3540,7 +3458,6 @@ export const mockedWorkspaceMembersMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -3548,7 +3465,7 @@ export const mockedWorkspaceMembersMetadata = { node: { __typename: 'field', id: '9a722ce5-1721-4406-a695-4a207f6f50c7', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'assignedActivities', label: 'Assigned activities', description: 'Activities assigned to the workspace member', @@ -3562,7 +3479,7 @@ export const mockedWorkspaceMembersMetadata = { fromRelationMetadata: { __typename: 'relation', id: '0de81eae-1ffb-4cb5-b081-ab18d5641d50', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'c8682a80-0b92-4d0e-9405-53ab7e8b225f', @@ -3574,7 +3491,6 @@ export const mockedWorkspaceMembersMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, ], @@ -3617,7 +3533,7 @@ export const mockedWebhooksMetadata = { node: { __typename: 'field', id: 'ed41012d-df17-4752-8e79-04adaa513164', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -3633,7 +3549,6 @@ export const mockedWebhooksMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -3641,7 +3556,7 @@ export const mockedWebhooksMetadata = { node: { __typename: 'field', id: 'bff23b96-0a20-42ba-bdce-fbc72c97f31f', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'targetUrl', label: 'Target Url', description: 'Webhook target url', @@ -3657,7 +3572,6 @@ export const mockedWebhooksMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -3665,7 +3579,7 @@ export const mockedWebhooksMetadata = { node: { __typename: 'field', id: 'db25a5ad-8149-4d27-9e02-01f374c8d1b4', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -3679,9 +3593,8 @@ export const mockedWebhooksMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -3689,7 +3602,7 @@ export const mockedWebhooksMetadata = { node: { __typename: 'field', id: 'efcdbbd3-fd10-4b1e-88df-92d3c6dc50da', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -3705,7 +3618,6 @@ export const mockedWebhooksMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -3713,7 +3625,7 @@ export const mockedWebhooksMetadata = { node: { __typename: 'field', id: 'bb357656-272c-413c-bdd9-9aff9c7a17bf', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'operation', label: 'Operation', description: 'Webhook operation', @@ -3729,7 +3641,6 @@ export const mockedWebhooksMetadata = { defaultValue: { value: '', }, - options: null, }, }, ], @@ -3772,7 +3683,7 @@ export const mockedMessagesMetadata = { node: { __typename: 'field', id: '2ea89a33-045e-4231-9c25-0eef7ff419c0', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -3786,9 +3697,8 @@ export const mockedMessagesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -3796,7 +3706,7 @@ export const mockedMessagesMetadata = { node: { __typename: 'field', id: '4a57cd16-1b56-4d0a-a09e-7ce2840c0412', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'headerMessageId', label: 'Header message Id', description: 'Message id from the message header', @@ -3812,7 +3722,6 @@ export const mockedMessagesMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -3820,7 +3729,7 @@ export const mockedMessagesMetadata = { node: { __typename: 'field', id: '9699f1af-50a2-43f7-9b72-32a64ca5496a', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'body', label: 'Body', description: 'Body', @@ -3836,7 +3745,6 @@ export const mockedMessagesMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -3844,7 +3752,7 @@ export const mockedMessagesMetadata = { node: { __typename: 'field', id: 'ed57984a-2d5f-4e1a-a61f-18cbbc75cbd0', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -3860,7 +3768,6 @@ export const mockedMessagesMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -3868,7 +3775,7 @@ export const mockedMessagesMetadata = { node: { __typename: 'field', id: '0c98eb7f-6db3-43d3-84d8-3c46a384ac5e', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'messageThread', label: 'Message Thread Id', description: 'Message Thread Id', @@ -3883,7 +3790,7 @@ export const mockedMessagesMetadata = { toRelationMetadata: { __typename: 'relation', id: '5ea18f96-cfb4-45af-b716-d09bfb4bb282', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'a8162839-fbd1-4a37-998b-f4a2714020d1', @@ -3894,7 +3801,6 @@ export const mockedMessagesMetadata = { fromFieldMetadataId: '0d3c8828-2edb-4658-bd95-d01e4d102696', }, defaultValue: null, - options: null, }, }, { @@ -3902,7 +3808,7 @@ export const mockedMessagesMetadata = { node: { __typename: 'field', id: '86e6e65a-2d43-47a3-8d39-e88ed6b5aad8', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -3918,7 +3824,6 @@ export const mockedMessagesMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -3926,7 +3831,7 @@ export const mockedMessagesMetadata = { node: { __typename: 'field', id: '9c58971b-4e40-4f49-b125-ff014f909744', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'messageParticipants', label: 'Message Participants', description: 'Message Participants', @@ -3940,7 +3845,7 @@ export const mockedMessagesMetadata = { fromRelationMetadata: { __typename: 'relation', id: '020d2fe4-33c3-4fe1-a2cc-35a23d73d046', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'dd41deae-84d5-4a66-8947-260b0c72677c', @@ -3952,7 +3857,6 @@ export const mockedMessagesMetadata = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -3960,7 +3864,7 @@ export const mockedMessagesMetadata = { node: { __typename: 'field', id: 'dbed6e60-ca97-488d-bb02-2f65f3ff73dd', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'externalId', label: 'External Id', description: 'Message id from the messaging provider', @@ -3976,7 +3880,6 @@ export const mockedMessagesMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -3984,7 +3887,7 @@ export const mockedMessagesMetadata = { node: { __typename: 'field', id: 'c15dc3af-1cbd-488a-a207-3715ab28c9e3', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'direction', label: 'Direction', description: 'Direction', @@ -4000,7 +3903,6 @@ export const mockedMessagesMetadata = { defaultValue: { value: 'incoming', }, - options: null, }, }, { @@ -4008,7 +3910,7 @@ export const mockedMessagesMetadata = { node: { __typename: 'field', id: '3ef72ad1-5292-4c23-83bf-7db622b59d19', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'messageThreadId', label: 'Message Thread Id id (foreign key)', description: 'Message Thread Id id foreign key', @@ -4022,7 +3924,6 @@ export const mockedMessagesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -4030,7 +3931,7 @@ export const mockedMessagesMetadata = { node: { __typename: 'field', id: 'b167f44d-07b0-4750-8878-1fdbe9b4bec9', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'subject', label: 'Subject', description: 'Subject', @@ -4046,7 +3947,6 @@ export const mockedMessagesMetadata = { defaultValue: { value: '', }, - options: null, }, }, ], @@ -4089,7 +3989,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: '6510e80d-546a-4a27-9346-06590c81f068', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'pointOfContact', label: 'Point of Contact', description: 'Opportunity point of contact', @@ -4104,7 +4004,7 @@ export const mockedOpportunitiesMetadata = { toRelationMetadata: { __typename: 'relation', id: '5b6296d8-8557-4a3c-a963-109a5888b3b3', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '251787a4-9e47-4251-aaea-ea83f74cee80', @@ -4115,7 +4015,6 @@ export const mockedOpportunitiesMetadata = { fromFieldMetadataId: '2766f41a-1f8f-413f-88a3-1e3fec0e1821', }, defaultValue: null, - options: null, }, }, { @@ -4123,7 +4022,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: '48067b53-f99f-4700-bf3a-6569d1646b21', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'person', label: 'Person', description: 'Opportunity person', @@ -4138,7 +4037,7 @@ export const mockedOpportunitiesMetadata = { toRelationMetadata: { __typename: 'relation', id: 'e63587c4-c565-4f77-9b8c-a639ae366dea', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '251787a4-9e47-4251-aaea-ea83f74cee80', @@ -4149,7 +4048,6 @@ export const mockedOpportunitiesMetadata = { fromFieldMetadataId: '586d0acc-f68b-4f08-aea9-410d88f351aa', }, defaultValue: null, - options: null, }, }, { @@ -4157,7 +4055,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: '2bb053ec-1abf-4bf8-af01-acfbc0f78953', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'companyId', label: 'Company id (foreign key)', description: 'Opportunity company id foreign key', @@ -4171,7 +4069,6 @@ export const mockedOpportunitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -4179,7 +4076,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: '2aabeef9-7a6b-41a0-a80e-f3c0047c6920', - type: 'CURRENCY', + type: FieldMetadataType.Currency, name: 'amount', label: 'Amount', description: 'Opportunity amount', @@ -4193,7 +4090,6 @@ export const mockedOpportunitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -4201,7 +4097,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: 'ba1df486-c07e-460a-92bc-5aa7e72dbbf1', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -4215,9 +4111,8 @@ export const mockedOpportunitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -4225,7 +4120,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: '2dc6e877-d4d5-4ab2-9368-4e0a9bab6157', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'pointOfContactId', label: 'Point of Contact id (foreign key)', description: 'Opportunity point of contact id foreign key', @@ -4239,7 +4134,6 @@ export const mockedOpportunitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -4247,7 +4141,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: '480e430d-ec7b-4297-93fd-0c6463b9fad3', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'pipelineStepId', label: 'Pipeline Step id (foreign key)', description: 'Opportunity pipeline step id foreign key', @@ -4261,7 +4155,6 @@ export const mockedOpportunitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -4269,7 +4162,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: '4756a816-8a18-433a-9414-c756db4727e8', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'pipelineStep', label: 'Pipeline Step', description: 'Opportunity pipeline step', @@ -4284,7 +4177,7 @@ export const mockedOpportunitiesMetadata = { toRelationMetadata: { __typename: 'relation', id: '7b0474c4-d82d-4c1d-96de-c6728b53339a', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'afa12866-0de4-4f97-97fa-cd8a7c953037', @@ -4295,7 +4188,6 @@ export const mockedOpportunitiesMetadata = { fromFieldMetadataId: 'ad3e919f-4258-4e21-8caf-bf122f17ca5c', }, defaultValue: null, - options: null, }, }, { @@ -4303,7 +4195,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: 'b8226269-3631-4ca2-a2f3-50bd1046d7d2', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'probability', label: 'Probability', description: 'Opportunity probability', @@ -4319,7 +4211,6 @@ export const mockedOpportunitiesMetadata = { defaultValue: { value: '0', }, - options: null, }, }, { @@ -4327,7 +4218,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: '085b69d5-6dd5-445d-871f-7f963f82d949', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -4343,7 +4234,6 @@ export const mockedOpportunitiesMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -4351,7 +4241,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: '306da353-c580-451c-bf6f-8b80c230c545', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -4367,7 +4257,6 @@ export const mockedOpportunitiesMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -4375,7 +4264,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: '70b02b3a-8077-4ce1-ab8b-c5e854c31b13', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'company', label: 'Company', description: 'Opportunity company', @@ -4390,7 +4279,7 @@ export const mockedOpportunitiesMetadata = { toRelationMetadata: { __typename: 'relation', id: 'afe2078f-6c52-45ef-bb2e-f43b0ee28ecc', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '2a603764-1a2f-4043-bbfa-dea375391fad', @@ -4401,7 +4290,6 @@ export const mockedOpportunitiesMetadata = { fromFieldMetadataId: '00b695d6-e0c6-4029-9932-817b19ae0380', }, defaultValue: null, - options: null, }, }, { @@ -4409,7 +4297,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: '22ce66e0-35fa-48a4-ae8a-4fefdde9500d', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'personId', label: 'Person id (foreign key)', description: 'Opportunity person id foreign key', @@ -4423,7 +4311,6 @@ export const mockedOpportunitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -4431,7 +4318,7 @@ export const mockedOpportunitiesMetadata = { node: { __typename: 'field', id: 'd1db261a-73ca-4546-a0d0-c2110826c030', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'closeDate', label: 'Close date', description: 'Opportunity close date', @@ -4445,7 +4332,6 @@ export const mockedOpportunitiesMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, ], @@ -4488,7 +4374,7 @@ export const mockedAPIKeysMetadata = { node: { __typename: 'field', id: 'bdda452a-c123-4fa3-8543-d04c2c43836f', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'revokedAt', label: 'Revocation date', description: 'ApiKey revocation date', @@ -4502,7 +4388,6 @@ export const mockedAPIKeysMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -4510,7 +4395,7 @@ export const mockedAPIKeysMetadata = { node: { __typename: 'field', id: 'dd217f48-d1bf-4451-9b8d-e06feb7365f9', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -4526,7 +4411,6 @@ export const mockedAPIKeysMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -4534,7 +4418,7 @@ export const mockedAPIKeysMetadata = { node: { __typename: 'field', id: '3fd655ef-3dc6-4edf-84cf-3f398150412b', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'expiresAt', label: 'Expiration date', description: 'ApiKey expiration date', @@ -4548,7 +4432,6 @@ export const mockedAPIKeysMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -4556,7 +4439,7 @@ export const mockedAPIKeysMetadata = { node: { __typename: 'field', id: '5f404704-d084-420e-a2bf-ab3108da12ae', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'name', label: 'Name', description: 'ApiKey name', @@ -4572,7 +4455,6 @@ export const mockedAPIKeysMetadata = { defaultValue: { value: '', }, - options: null, }, }, { @@ -4580,7 +4462,7 @@ export const mockedAPIKeysMetadata = { node: { __typename: 'field', id: '948db156-f5de-4ddf-ad95-34fabc7cb273', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -4596,7 +4478,6 @@ export const mockedAPIKeysMetadata = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -4604,7 +4485,7 @@ export const mockedAPIKeysMetadata = { node: { __typename: 'field', id: '2204f9d1-274d-4bd5-be9c-3598da520df0', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -4618,9 +4499,8 @@ export const mockedAPIKeysMetadata = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, ], @@ -4663,7 +4543,7 @@ export const mockedComments = { node: { __typename: 'field', id: '041ee9d8-f3b7-418d-b9b6-b295817515a6', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -4677,9 +4557,8 @@ export const mockedComments = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -4687,7 +4566,7 @@ export const mockedComments = { node: { __typename: 'field', id: '1309d13f-9945-4f8b-99e8-371fbb51b99d', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'activity', label: 'Activity', description: 'Comment activity', @@ -4702,7 +4581,7 @@ export const mockedComments = { toRelationMetadata: { __typename: 'relation', id: 'f4a1e4f4-8a26-4c7d-8973-6fdbc816fc6d', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'c8682a80-0b92-4d0e-9405-53ab7e8b225f', @@ -4713,7 +4592,6 @@ export const mockedComments = { fromFieldMetadataId: 'f47a1319-bdec-4d9e-8179-17cb9df81dd6', }, defaultValue: null, - options: null, }, }, { @@ -4721,7 +4599,7 @@ export const mockedComments = { node: { __typename: 'field', id: '56a98ada-9a34-48d2-abb4-67c8eb1af7ab', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'body', label: 'Body', description: 'Comment body', @@ -4737,7 +4615,6 @@ export const mockedComments = { defaultValue: { value: '', }, - options: null, }, }, { @@ -4745,7 +4622,7 @@ export const mockedComments = { node: { __typename: 'field', id: '18f0a3c3-60f2-44ed-8338-9f1a36fcec63', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -4761,7 +4638,6 @@ export const mockedComments = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -4769,7 +4645,7 @@ export const mockedComments = { node: { __typename: 'field', id: '0cba4da0-9dc9-43e1-964e-813c0c96f396', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'authorId', label: 'Author id (foreign key)', description: 'Comment author id foreign key', @@ -4783,7 +4659,6 @@ export const mockedComments = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -4791,7 +4666,7 @@ export const mockedComments = { node: { __typename: 'field', id: '539d818a-1d68-4e5d-94c3-439a17a8a25e', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'activityId', label: 'Activity id (foreign key)', description: 'Comment activity id foreign key', @@ -4805,7 +4680,6 @@ export const mockedComments = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -4813,7 +4687,7 @@ export const mockedComments = { node: { __typename: 'field', id: '31828911-06a3-48d3-9f96-95d403c282f0', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -4829,7 +4703,6 @@ export const mockedComments = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -4837,7 +4710,7 @@ export const mockedComments = { node: { __typename: 'field', id: 'e2c01385-7707-49e0-835c-facbf8a6e4a9', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'author', label: 'Author', description: 'Comment author', @@ -4852,7 +4725,7 @@ export const mockedComments = { toRelationMetadata: { __typename: 'relation', id: '8e2a5be9-ff83-4106-bfe0-0877423559d0', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'bdc465d2-f9a8-4ec2-8f3d-50dd2ad4021e', @@ -4863,7 +4736,6 @@ export const mockedComments = { fromFieldMetadataId: '099a5f31-0b9a-4d1a-81dc-811f0f1f0b33', }, defaultValue: null, - options: null, }, }, ], @@ -4906,7 +4778,7 @@ export const mockedMessageThreads = { node: { __typename: 'field', id: '1a56aa47-2549-4548-8ed3-cdcb06766430', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'externalId', label: 'External Id', description: 'Thread id from the messaging provider', @@ -4922,7 +4794,6 @@ export const mockedMessageThreads = { defaultValue: { value: '', }, - options: null, }, }, { @@ -4930,7 +4801,7 @@ export const mockedMessageThreads = { node: { __typename: 'field', id: '8aaf7a27-88d4-4ad3-98ce-cb2c14b1f17f', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -4946,7 +4817,6 @@ export const mockedMessageThreads = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -4954,7 +4824,7 @@ export const mockedMessageThreads = { node: { __typename: 'field', id: 'bd65743c-8d13-4e99-82cd-b1d3f365d0c4', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'messageChannel', label: 'Message Channel Id', description: 'Message Channel Id', @@ -4969,7 +4839,7 @@ export const mockedMessageThreads = { toRelationMetadata: { __typename: 'relation', id: '179ef8b5-41f8-4d0f-98b6-30d487431354', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'a7088839-1354-45c5-93db-d1dc0a17a4b0', @@ -4980,7 +4850,6 @@ export const mockedMessageThreads = { fromFieldMetadataId: 'db09596c-c968-41de-95ba-ae8d3c36fc00', }, defaultValue: null, - options: null, }, }, { @@ -4988,7 +4857,7 @@ export const mockedMessageThreads = { node: { __typename: 'field', id: '0d3c8828-2edb-4658-bd95-d01e4d102696', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'messages', label: 'Messages', description: 'Messages from the thread.', @@ -5002,7 +4871,7 @@ export const mockedMessageThreads = { fromRelationMetadata: { __typename: 'relation', id: '5ea18f96-cfb4-45af-b716-d09bfb4bb282', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '6f4cd2fa-2e6f-41be-a2cc-98e497a1d2f5', @@ -5014,7 +4883,6 @@ export const mockedMessageThreads = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -5022,7 +4890,7 @@ export const mockedMessageThreads = { node: { __typename: 'field', id: '68ed1fad-af5f-414b-8e51-1e82f3862edd', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'subject', label: 'Subject', description: 'Subject', @@ -5038,7 +4906,6 @@ export const mockedMessageThreads = { defaultValue: { value: '', }, - options: null, }, }, { @@ -5046,7 +4913,7 @@ export const mockedMessageThreads = { node: { __typename: 'field', id: '6d69c800-9750-424a-ab1c-3501fd13f9e8', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -5060,9 +4927,8 @@ export const mockedMessageThreads = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -5070,7 +4936,7 @@ export const mockedMessageThreads = { node: { __typename: 'field', id: 'dcf4ec4a-7d64-456e-b682-42903604d56f', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -5086,7 +4952,6 @@ export const mockedMessageThreads = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -5094,7 +4959,7 @@ export const mockedMessageThreads = { node: { __typename: 'field', id: '1cf2b8d8-23fa-4f99-b0ee-f02ef6df5aa3', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'visibility', label: 'Visibility', description: 'Visibility', @@ -5110,7 +4975,6 @@ export const mockedMessageThreads = { defaultValue: { value: 'default', }, - options: null, }, }, { @@ -5118,7 +4982,7 @@ export const mockedMessageThreads = { node: { __typename: 'field', id: 'cf4b8230-1b00-4fe8-ac1a-7786e950d00c', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'messageChannelId', label: 'Message Channel Id id (foreign key)', description: 'Message Channel Id id foreign key', @@ -5132,7 +4996,6 @@ export const mockedMessageThreads = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, ], @@ -5175,7 +5038,7 @@ export const mockedMessageChannels = { node: { __typename: 'field', id: '44744cbd-2066-496c-8bb8-e3dd29cfe42c', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'visibility', label: 'Visibility', description: 'Visibility', @@ -5191,7 +5054,6 @@ export const mockedMessageChannels = { defaultValue: { value: 'metadata', }, - options: null, }, }, { @@ -5199,7 +5061,7 @@ export const mockedMessageChannels = { node: { __typename: 'field', id: 'db09596c-c968-41de-95ba-ae8d3c36fc00', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'messageThreads', label: 'Message Threads', description: 'Threads from the channel.', @@ -5213,7 +5075,7 @@ export const mockedMessageChannels = { fromRelationMetadata: { __typename: 'relation', id: '179ef8b5-41f8-4d0f-98b6-30d487431354', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'a8162839-fbd1-4a37-998b-f4a2714020d1', @@ -5225,7 +5087,6 @@ export const mockedMessageChannels = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -5233,7 +5094,7 @@ export const mockedMessageChannels = { node: { __typename: 'field', id: '68fee565-c541-4356-bcaa-b85791e2ad76', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -5249,7 +5110,6 @@ export const mockedMessageChannels = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -5257,7 +5117,7 @@ export const mockedMessageChannels = { node: { __typename: 'field', id: 'afd3e543-00de-4fa4-9451-fd94dde9885b', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'type', label: 'Type', description: 'Type', @@ -5273,7 +5133,6 @@ export const mockedMessageChannels = { defaultValue: { value: '', }, - options: null, }, }, { @@ -5281,7 +5140,7 @@ export const mockedMessageChannels = { node: { __typename: 'field', id: 'd9e6b266-a1fa-4da9-b73f-c5432863a4c9', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -5297,7 +5156,6 @@ export const mockedMessageChannels = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -5305,7 +5163,7 @@ export const mockedMessageChannels = { node: { __typename: 'field', id: 'de960b13-1353-4201-b577-e684141cdb01', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -5319,9 +5177,8 @@ export const mockedMessageChannels = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -5329,7 +5186,7 @@ export const mockedMessageChannels = { node: { __typename: 'field', id: '1ee38bde-c912-44aa-b5d5-de2b49b8fd85', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'connectedAccountId', label: 'Connected Account id (foreign key)', description: 'Connected Account id foreign key', @@ -5343,7 +5200,6 @@ export const mockedMessageChannels = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -5351,7 +5207,7 @@ export const mockedMessageChannels = { node: { __typename: 'field', id: '504eac1b-5186-48dd-8136-3bb236455b13', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'handle', label: 'Handle', description: 'Handle', @@ -5367,7 +5223,6 @@ export const mockedMessageChannels = { defaultValue: { value: '', }, - options: null, }, }, { @@ -5375,7 +5230,7 @@ export const mockedMessageChannels = { node: { __typename: 'field', id: '14fcf47f-b60e-4dc8-80a0-df6e16f513ac', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'connectedAccount', label: 'Connected Account', description: 'Connected Account', @@ -5390,7 +5245,7 @@ export const mockedMessageChannels = { toRelationMetadata: { __typename: 'relation', id: '4a2d8c75-3d39-4860-9373-2bc7faf35feb', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '539d1682-9999-43dc-94c1-7ad52640ac7d', @@ -5401,7 +5256,6 @@ export const mockedMessageChannels = { fromFieldMetadataId: '6cb6a33d-6eb1-4bba-b1f8-a1d3f40c9158', }, defaultValue: null, - options: null, }, }, ], @@ -5444,7 +5298,7 @@ export const mockedConnectedAccounts = { node: { __typename: 'field', id: 'f3a558db-f935-44ee-9cf6-70d55d72d45f', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'handle', label: 'handle', description: @@ -5461,7 +5315,6 @@ export const mockedConnectedAccounts = { defaultValue: { value: '', }, - options: null, }, }, { @@ -5469,7 +5322,7 @@ export const mockedConnectedAccounts = { node: { __typename: 'field', id: 'f8e1de81-a11b-4346-a964-599fb49ee3bc', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -5485,7 +5338,6 @@ export const mockedConnectedAccounts = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -5493,7 +5345,7 @@ export const mockedConnectedAccounts = { node: { __typename: 'field', id: 'c60d4c3f-0cd7-4e92-9a7f-ae3a77f4a0ad', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'accessToken', label: 'Access Token', description: 'Messaging provider access token', @@ -5509,7 +5361,6 @@ export const mockedConnectedAccounts = { defaultValue: { value: '', }, - options: null, }, }, { @@ -5517,7 +5368,7 @@ export const mockedConnectedAccounts = { node: { __typename: 'field', id: '6cb6a33d-6eb1-4bba-b1f8-a1d3f40c9158', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'messageChannels', label: 'Message Channel', description: 'Message Channel', @@ -5531,7 +5382,7 @@ export const mockedConnectedAccounts = { fromRelationMetadata: { __typename: 'relation', id: '4a2d8c75-3d39-4860-9373-2bc7faf35feb', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'a7088839-1354-45c5-93db-d1dc0a17a4b0', @@ -5543,7 +5394,6 @@ export const mockedConnectedAccounts = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -5551,7 +5401,7 @@ export const mockedConnectedAccounts = { node: { __typename: 'field', id: 'd50a4e5e-555d-4a2d-9609-1f1e502c92fe', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'refreshToken', label: 'Refresh Token', description: 'Messaging provider refresh token', @@ -5567,7 +5417,6 @@ export const mockedConnectedAccounts = { defaultValue: { value: '', }, - options: null, }, }, { @@ -5575,7 +5424,7 @@ export const mockedConnectedAccounts = { node: { __typename: 'field', id: '912a9a56-4e00-4cd2-8908-b0d113c9f615', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'accountOwner', label: 'Account Owner', description: 'Account Owner', @@ -5590,7 +5439,7 @@ export const mockedConnectedAccounts = { toRelationMetadata: { __typename: 'relation', id: '7fd3bdb5-e043-495d-82b1-d75c22b70bac', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: 'bdc465d2-f9a8-4ec2-8f3d-50dd2ad4021e', @@ -5601,7 +5450,6 @@ export const mockedConnectedAccounts = { fromFieldMetadataId: '2c8bb89a-c60c-49bf-81ce-7074ac41caf5', }, defaultValue: null, - options: null, }, }, { @@ -5609,7 +5457,7 @@ export const mockedConnectedAccounts = { node: { __typename: 'field', id: '74d6f4ec-b8a6-467d-b212-28821cd67591', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'provider', label: 'provider', description: 'The account provider', @@ -5625,7 +5473,6 @@ export const mockedConnectedAccounts = { defaultValue: { value: '', }, - options: null, }, }, { @@ -5633,7 +5480,7 @@ export const mockedConnectedAccounts = { node: { __typename: 'field', id: '0facb6d5-6e9e-4a3a-96f0-5343707bfdb3', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -5647,9 +5494,8 @@ export const mockedConnectedAccounts = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -5657,7 +5503,7 @@ export const mockedConnectedAccounts = { node: { __typename: 'field', id: 'c05cd42e-e6b9-41ac-bd09-253e6036c964', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -5673,7 +5519,6 @@ export const mockedConnectedAccounts = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -5681,7 +5526,7 @@ export const mockedConnectedAccounts = { node: { __typename: 'field', id: 'af5be9ca-6f69-45f8-ad6f-787beea6bb05', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'accountOwnerId', label: 'Account Owner id (foreign key)', description: 'Account Owner id foreign key', @@ -5695,7 +5540,6 @@ export const mockedConnectedAccounts = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, ], @@ -5740,7 +5584,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: 'e99cb806-f707-454b-99a3-b1521337f891', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -5756,7 +5600,6 @@ export const mockedObjectMetadataItems = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -5764,7 +5607,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: 'd90df531-be28-4ca3-92d4-d660bbad1b12', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -5780,7 +5623,6 @@ export const mockedObjectMetadataItems = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -5788,7 +5630,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '5c24c599-34c5-4efe-adc6-e066be7ad20e', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'view', label: 'View', description: 'View Filter related view', @@ -5803,7 +5645,7 @@ export const mockedObjectMetadataItems = { toRelationMetadata: { __typename: 'relation', id: '1ac6a89a-7a45-441f-b9a6-848f9aaa0833', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '98ee2e85-7510-49f9-848e-c1a21acdc664', @@ -5814,7 +5656,6 @@ export const mockedObjectMetadataItems = { fromFieldMetadataId: '5c1342d5-199c-4746-8d3a-60d17a09d187', }, defaultValue: null, - options: null, }, }, { @@ -5822,7 +5663,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '83b506e3-e211-4d8e-bc00-3d1ca5fc9acf', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'operand', label: 'Operand', description: 'View Filter operand', @@ -5838,7 +5679,6 @@ export const mockedObjectMetadataItems = { defaultValue: { value: 'Contains', }, - options: null, }, }, { @@ -5846,7 +5686,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '028f1b4c-f127-4141-bf57-c47f685e7553', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -5860,9 +5700,8 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -5870,7 +5709,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: 'fb48b84b-62cb-4846-ab5e-e48fa034f848', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'viewId', label: 'View id (foreign key)', description: 'View Filter related view id foreign key', @@ -5884,7 +5723,6 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -5892,7 +5730,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '32a978a4-8ce5-491f-acc8-c3f4612c810e', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'displayValue', label: 'Display Value', description: 'View Filter Display Value', @@ -5908,7 +5746,6 @@ export const mockedObjectMetadataItems = { defaultValue: { value: '', }, - options: null, }, }, { @@ -5916,7 +5753,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '2fd8dbd6-6378-4905-bd22-6ec12b387e1c', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'value', label: 'Value', description: 'View Filter value', @@ -5932,7 +5769,6 @@ export const mockedObjectMetadataItems = { defaultValue: { value: '', }, - options: null, }, }, { @@ -5940,7 +5776,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '2d467958-3869-400e-a65b-63ab0232dd2b', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'fieldMetadataId', label: 'Field Metadata Id', description: 'View Filter target field', @@ -5954,7 +5790,6 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, ], @@ -5996,7 +5831,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '4ee74e9c-9c7a-4d18-81a2-83f007dd4614', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -6010,9 +5845,8 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -6020,7 +5854,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '58aa8432-7109-42b2-8b85-7745fef42b9e', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'viewFields', label: 'View Fields', description: 'View Fields', @@ -6034,7 +5868,7 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: { __typename: 'relation', id: '1ba54f4e-6e09-40a8-bc02-65b5ece7dafc', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '07c68965-1479-4e44-91ca-3e45784e9337', @@ -6046,7 +5880,6 @@ export const mockedObjectMetadataItems = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -6054,7 +5887,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '1fc13345-82fd-4e70-934b-4fa4b03ffd64', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'name', label: 'Name', description: 'View name', @@ -6070,7 +5903,6 @@ export const mockedObjectMetadataItems = { defaultValue: { value: '', }, - options: null, }, }, { @@ -6078,7 +5910,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '803e8f8b-1e14-4d8d-b449-87bfdc3807ca', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'objectMetadataId', label: 'Object Metadata Id', description: 'View target object', @@ -6092,7 +5924,6 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -6100,7 +5931,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: 'caa56736-cc74-4922-9ac1-eb99ca31d9d6', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -6116,7 +5947,6 @@ export const mockedObjectMetadataItems = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -6124,7 +5954,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '5c1342d5-199c-4746-8d3a-60d17a09d187', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'viewFilters', label: 'View Filters', description: 'View Filters', @@ -6138,7 +5968,7 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: { __typename: 'relation', id: '1ac6a89a-7a45-441f-b9a6-848f9aaa0833', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: 'eda22943-ffd5-4524-a8c4-ffc65edbf152', @@ -6150,7 +5980,6 @@ export const mockedObjectMetadataItems = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -6158,7 +5987,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '8b930e70-e1f0-4656-93ba-8e720cd45062', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -6174,7 +6003,6 @@ export const mockedObjectMetadataItems = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -6182,7 +6010,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: 'bdbecafb-972e-43f4-9296-c5a59bad449d', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'viewSorts', label: 'View Sorts', description: 'View Sorts', @@ -6196,7 +6024,7 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: { __typename: 'relation', id: '22a37761-f528-4a9b-8194-1fed1df69019', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, toObjectMetadata: { __typename: 'object', id: '0591699b-2304-4f81-8c32-543693c5ae4e', @@ -6208,7 +6036,6 @@ export const mockedObjectMetadataItems = { }, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -6216,7 +6043,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '3546f837-5b46-449a-a127-e73d3849352d', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'type', label: 'Type', description: 'View type', @@ -6232,7 +6059,6 @@ export const mockedObjectMetadataItems = { defaultValue: { value: 'table', }, - options: null, }, }, ], @@ -6274,7 +6100,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: 'e73c3bd2-3c2e-48dc-92b9-6e217ff27c05', - type: 'NUMBER', + type: FieldMetadataType.Number, name: 'size', label: 'Size', description: 'View Field size', @@ -6290,7 +6116,6 @@ export const mockedObjectMetadataItems = { defaultValue: { value: 0, }, - options: null, }, }, { @@ -6298,7 +6123,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '9e066f59-5fbb-451b-9788-0f8560f224c9', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'fieldMetadataId', label: 'Field Metadata Id', description: 'View Field target field', @@ -6312,7 +6137,6 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -6320,7 +6144,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '1034c249-d94a-40d8-a28c-966fd3c1a2fc', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -6336,7 +6160,6 @@ export const mockedObjectMetadataItems = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -6344,7 +6167,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: 'b5ec1333-8f24-4f75-a603-147b98eb9ce3', - type: 'NUMBER', + type: FieldMetadataType.Number, name: 'position', label: 'Position', description: 'View Field position', @@ -6360,7 +6183,6 @@ export const mockedObjectMetadataItems = { defaultValue: { value: 0, }, - options: null, }, }, { @@ -6368,7 +6190,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '3160b24b-37b9-4072-89e0-1d189b7089c7', - type: 'BOOLEAN', + type: FieldMetadataType.Boolean, name: 'isVisible', label: 'Visible', description: 'View Field visibility', @@ -6384,7 +6206,6 @@ export const mockedObjectMetadataItems = { defaultValue: { value: true, }, - options: null, }, }, { @@ -6392,7 +6213,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '7c7866c9-4bf0-4f3b-89b6-5b889858a895', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'view', label: 'View', description: 'View Field related view', @@ -6407,7 +6228,7 @@ export const mockedObjectMetadataItems = { toRelationMetadata: { __typename: 'relation', id: '1ba54f4e-6e09-40a8-bc02-65b5ece7dafc', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '98ee2e85-7510-49f9-848e-c1a21acdc664', @@ -6418,7 +6239,6 @@ export const mockedObjectMetadataItems = { fromFieldMetadataId: '58aa8432-7109-42b2-8b85-7745fef42b9e', }, defaultValue: null, - options: null, }, }, { @@ -6426,7 +6246,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: 'f033cd69-d43f-42d0-bdd8-7000dd97fb86', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'viewId', label: 'View id (foreign key)', description: 'View Field related view id foreign key', @@ -6440,7 +6260,6 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -6448,7 +6267,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '590769a6-fd78-4b38-99b7-317ee231e002', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -6462,9 +6281,8 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -6472,7 +6290,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '4ecfdfa2-14bb-44f0-9557-052b3a350c33', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -6488,7 +6306,6 @@ export const mockedObjectMetadataItems = { defaultValue: { type: 'now', }, - options: null, }, }, ], @@ -6530,7 +6347,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: 'a6e7a588-4f86-4d68-ab71-2c7bf1833c40', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'createdAt', label: 'Creation date', description: null, @@ -6546,7 +6363,6 @@ export const mockedObjectMetadataItems = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -6554,7 +6370,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '281526dd-aa6a-4419-8ee9-ae643f481bf5', - type: 'TEXT', + type: FieldMetadataType.Text, name: 'direction', label: 'Direction', description: 'View Sort direction', @@ -6570,7 +6386,6 @@ export const mockedObjectMetadataItems = { defaultValue: { value: 'asc', }, - options: null, }, }, { @@ -6578,7 +6393,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '08ff332d-72d6-4dc8-a466-bdc396a948cd', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'viewId', label: 'View id (foreign key)', description: 'View Sort related view id foreign key', @@ -6592,7 +6407,6 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -6600,7 +6414,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: 'a823ec90-fbc1-4be7-803b-5d79937e2278', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'fieldMetadataId', label: 'Field Metadata Id', description: 'View Sort target field', @@ -6614,7 +6428,6 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: null, - options: null, }, }, { @@ -6622,7 +6435,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '22f8022c-809a-4e7e-8e15-155e5ae5a40c', - type: 'DATE_TIME', + type: FieldMetadataType.DateTime, name: 'updatedAt', label: 'Update date', description: null, @@ -6638,7 +6451,6 @@ export const mockedObjectMetadataItems = { defaultValue: { type: 'now', }, - options: null, }, }, { @@ -6646,7 +6458,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: '481db089-dd64-4acd-b514-e627f134c8ee', - type: 'UUID', + type: FieldMetadataType.Uuid, name: 'id', label: 'Id', description: null, @@ -6660,9 +6472,8 @@ export const mockedObjectMetadataItems = { fromRelationMetadata: null, toRelationMetadata: null, defaultValue: { - type: 'uuid', + type: FieldMetadataType.Uuid, }, - options: null, }, }, { @@ -6670,7 +6481,7 @@ export const mockedObjectMetadataItems = { node: { __typename: 'field', id: 'bff11820-ffa2-4283-80b3-3777583f6f97', - type: 'RELATION', + type: FieldMetadataType.Relation, name: 'view', label: 'View', description: 'View Sort related view', @@ -6685,7 +6496,7 @@ export const mockedObjectMetadataItems = { toRelationMetadata: { __typename: 'relation', id: '22a37761-f528-4a9b-8194-1fed1df69019', - relationType: 'ONE_TO_MANY', + relationType: RelationMetadataType.OneToMany, fromObjectMetadata: { __typename: 'object', id: '98ee2e85-7510-49f9-848e-c1a21acdc664', @@ -6696,7 +6507,6 @@ export const mockedObjectMetadataItems = { fromFieldMetadataId: 'bdbecafb-972e-43f4-9296-c5a59bad449d', }, defaultValue: null, - options: null, }, }, ], diff --git a/packages/twenty-front/tsconfig.json b/packages/twenty-front/tsconfig.json index 3480579190..1b23f7601d 100644 --- a/packages/twenty-front/tsconfig.json +++ b/packages/twenty-front/tsconfig.json @@ -35,9 +35,6 @@ { "path": "./tsconfig.app.json" }, - { - "path": "./tsconfig.node.json" - }, { "path": "./tsconfig.spec.json" } diff --git a/packages/twenty-front/tsconfig.node.json b/packages/twenty-front/tsconfig.node.json deleted file mode 100644 index 42872c59f5..0000000000 --- a/packages/twenty-front/tsconfig.node.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "skipLibCheck": true, - "module": "ESNext", - "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true - }, - "include": ["vite.config.ts"] -} diff --git a/packages/twenty-front/tsconfig.node.tsbuildinfo b/packages/twenty-front/tsconfig.node.tsbuildinfo deleted file mode 100644 index 10cef65cef..0000000000 --- a/packages/twenty-front/tsconfig.node.tsbuildinfo +++ /dev/null @@ -1 +0,0 @@ -{"program":{"fileNames":["../../node_modules/typescript/lib/lib.d.ts","../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/@swc/types/index.ts","../../node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core/spack.d.ts","../../node_modules/@vitejs/plugin-react-swc/node_modules/@swc/core/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/buffer/index.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/vite/node_modules/rollup/dist/rollup.d.ts","../../node_modules/vite/node_modules/rollup/dist/parseast.d.ts","../../node_modules/vite/types/hmrpayload.d.ts","../../node_modules/vite/types/customevent.d.ts","../../node_modules/vite/node_modules/esbuild/lib/main.d.ts","../../node_modules/source-map-js/source-map.d.ts","../../node_modules/postcss/lib/previous-map.d.ts","../../node_modules/postcss/lib/input.d.ts","../../node_modules/postcss/lib/css-syntax-error.d.ts","../../node_modules/postcss/lib/declaration.d.ts","../../node_modules/postcss/lib/root.d.ts","../../node_modules/postcss/lib/warning.d.ts","../../node_modules/postcss/lib/lazy-result.d.ts","../../node_modules/postcss/lib/no-work-result.d.ts","../../node_modules/postcss/lib/processor.d.ts","../../node_modules/postcss/lib/result.d.ts","../../node_modules/postcss/lib/document.d.ts","../../node_modules/postcss/lib/rule.d.ts","../../node_modules/postcss/lib/node.d.ts","../../node_modules/postcss/lib/comment.d.ts","../../node_modules/postcss/lib/container.d.ts","../../node_modules/postcss/lib/at-rule.d.ts","../../node_modules/postcss/lib/list.d.ts","../../node_modules/postcss/lib/postcss.d.ts","../../node_modules/postcss/lib/postcss.d.mts","../../node_modules/vite/types/importglob.d.ts","../../node_modules/vite/types/metadata.d.ts","../../node_modules/vite/dist/node/index.d.ts","../../node_modules/@vitejs/plugin-react-swc/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../node_modules/vscode-uri/lib/umd/uri.d.ts","../../node_modules/vscode-uri/lib/umd/utils.d.ts","../../node_modules/vscode-uri/lib/umd/index.d.ts","../../node_modules/vscode-languageserver/typings/thenable.d.ts","../../node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types/lib/umd/main.d.ts","../../node_modules/vscode-jsonrpc/typings/thenable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messages.d.ts","../../node_modules/vscode-jsonrpc/lib/common/disposable.d.ts","../../node_modules/vscode-jsonrpc/lib/common/events.d.ts","../../node_modules/vscode-jsonrpc/lib/common/cancellation.d.ts","../../node_modules/vscode-jsonrpc/lib/common/encoding.d.ts","../../node_modules/vscode-jsonrpc/lib/common/ral.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagereader.d.ts","../../node_modules/vscode-jsonrpc/lib/common/messagewriter.d.ts","../../node_modules/vscode-jsonrpc/lib/common/connection.d.ts","../../node_modules/vscode-jsonrpc/lib/common/api.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/messages.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.typedefinition.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.workspacefolders.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.colorprovider.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.callhierarchy.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.semantictokens.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.showdocument.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.linkededitingrange.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.fileoperations.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/protocol.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/connection.d.ts","../../node_modules/vscode-languageserver-protocol/lib/common/api.d.ts","../../node_modules/vscode-languageserver/lib/common/progress.d.ts","../../node_modules/vscode-languageserver/lib/common/configuration.d.ts","../../node_modules/vscode-languageserver/lib/common/workspacefolders.d.ts","../../node_modules/vscode-languageserver/lib/common/callhierarchy.d.ts","../../node_modules/vscode-languageserver/lib/common/semantictokens.d.ts","../../node_modules/vscode-languageserver/lib/common/showdocument.d.ts","../../node_modules/vscode-languageserver/lib/common/fileoperations.d.ts","../../node_modules/vscode-languageserver/lib/common/linkededitingrange.d.ts","../../node_modules/vscode-languageserver/lib/common/moniker.d.ts","../../node_modules/vscode-languageserver/lib/common/server.d.ts","../../node_modules/vscode-languageserver/lib/node/files.d.ts","../../node_modules/vscode-jsonrpc/lib/node/main.d.ts","../../node_modules/vscode-jsonrpc/node.d.ts","../../node_modules/vscode-languageserver-protocol/lib/node/main.d.ts","../../node_modules/vscode-languageserver-protocol/node.d.ts","../../node_modules/vscode-languageserver/lib/common/api.d.ts","../../node_modules/vscode-languageserver/lib/node/main.d.ts","../../node_modules/vscode-languageserver/node.d.ts","../../node_modules/vite-plugin-checker/dist/esm/checkers/vls/initparams.d.ts","../../node_modules/vite-plugin-checker/dist/esm/types.d.ts","../../node_modules/vite-plugin-checker/dist/esm/main.d.ts","../../node_modules/@rollup/pluginutils/types/index.d.ts","../../node_modules/prettier/doc.d.ts","../../node_modules/prettier/index.d.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/vite-plugin-svgr/node_modules/@svgr/babel-plugin-transform-svg-component/dist/index.d.ts","../../node_modules/vite-plugin-svgr/node_modules/@svgr/babel-preset/dist/index.d.ts","../../node_modules/vite-plugin-svgr/node_modules/@svgr/core/dist/index.d.ts","../../node_modules/vite-plugin-svgr/dist/index.d.ts","../../node_modules/vite-tsconfig-paths/dist/index.d.ts","../../node_modules/vite-tsconfig-paths/dist/index.d.mts","./vite.config.ts","../../node_modules/@types/accepts/index.d.ts","../../node_modules/@types/acorn/index.d.ts","../../node_modules/graphql/version.d.ts","../../node_modules/graphql/jsutils/maybe.d.ts","../../node_modules/graphql/language/source.d.ts","../../node_modules/graphql/jsutils/objmap.d.ts","../../node_modules/graphql/jsutils/path.d.ts","../../node_modules/graphql/jsutils/promiseorvalue.d.ts","../../node_modules/graphql/language/kinds.d.ts","../../node_modules/graphql/language/tokenkind.d.ts","../../node_modules/graphql/language/ast.d.ts","../../node_modules/graphql/language/location.d.ts","../../node_modules/graphql/error/graphqlerror.d.ts","../../node_modules/graphql/language/directivelocation.d.ts","../../node_modules/graphql/type/directives.d.ts","../../node_modules/graphql/type/schema.d.ts","../../node_modules/graphql/type/definition.d.ts","../../node_modules/graphql/execution/execute.d.ts","../../node_modules/graphql/graphql.d.ts","../../node_modules/graphql/type/scalars.d.ts","../../node_modules/graphql/type/introspection.d.ts","../../node_modules/graphql/type/validate.d.ts","../../node_modules/graphql/type/assertname.d.ts","../../node_modules/graphql/type/index.d.ts","../../node_modules/graphql/language/printlocation.d.ts","../../node_modules/graphql/language/lexer.d.ts","../../node_modules/graphql/language/parser.d.ts","../../node_modules/graphql/language/printer.d.ts","../../node_modules/graphql/language/visitor.d.ts","../../node_modules/graphql/language/predicates.d.ts","../../node_modules/graphql/language/index.d.ts","../../node_modules/graphql/execution/subscribe.d.ts","../../node_modules/graphql/execution/values.d.ts","../../node_modules/graphql/execution/index.d.ts","../../node_modules/graphql/subscription/index.d.ts","../../node_modules/graphql/utilities/typeinfo.d.ts","../../node_modules/graphql/validation/validationcontext.d.ts","../../node_modules/graphql/validation/validate.d.ts","../../node_modules/graphql/validation/specifiedrules.d.ts","../../node_modules/graphql/validation/rules/executabledefinitionsrule.d.ts","../../node_modules/graphql/validation/rules/fieldsoncorrecttyperule.d.ts","../../node_modules/graphql/validation/rules/fragmentsoncompositetypesrule.d.ts","../../node_modules/graphql/validation/rules/knownargumentnamesrule.d.ts","../../node_modules/graphql/validation/rules/knowndirectivesrule.d.ts","../../node_modules/graphql/validation/rules/knownfragmentnamesrule.d.ts","../../node_modules/graphql/validation/rules/knowntypenamesrule.d.ts","../../node_modules/graphql/validation/rules/loneanonymousoperationrule.d.ts","../../node_modules/graphql/validation/rules/nofragmentcyclesrule.d.ts","../../node_modules/graphql/validation/rules/noundefinedvariablesrule.d.ts","../../node_modules/graphql/validation/rules/nounusedfragmentsrule.d.ts","../../node_modules/graphql/validation/rules/nounusedvariablesrule.d.ts","../../node_modules/graphql/validation/rules/overlappingfieldscanbemergedrule.d.ts","../../node_modules/graphql/validation/rules/possiblefragmentspreadsrule.d.ts","../../node_modules/graphql/validation/rules/providedrequiredargumentsrule.d.ts","../../node_modules/graphql/validation/rules/scalarleafsrule.d.ts","../../node_modules/graphql/validation/rules/singlefieldsubscriptionsrule.d.ts","../../node_modules/graphql/validation/rules/uniqueargumentnamesrule.d.ts","../../node_modules/graphql/validation/rules/uniquedirectivesperlocationrule.d.ts","../../node_modules/graphql/validation/rules/uniquefragmentnamesrule.d.ts","../../node_modules/graphql/validation/rules/uniqueinputfieldnamesrule.d.ts","../../node_modules/graphql/validation/rules/uniqueoperationnamesrule.d.ts","../../node_modules/graphql/validation/rules/uniquevariablenamesrule.d.ts","../../node_modules/graphql/validation/rules/valuesofcorrecttyperule.d.ts","../../node_modules/graphql/validation/rules/variablesareinputtypesrule.d.ts","../../node_modules/graphql/validation/rules/variablesinallowedpositionrule.d.ts","../../node_modules/graphql/validation/rules/loneschemadefinitionrule.d.ts","../../node_modules/graphql/validation/rules/uniqueoperationtypesrule.d.ts","../../node_modules/graphql/validation/rules/uniquetypenamesrule.d.ts","../../node_modules/graphql/validation/rules/uniqueenumvaluenamesrule.d.ts","../../node_modules/graphql/validation/rules/uniquefielddefinitionnamesrule.d.ts","../../node_modules/graphql/validation/rules/uniqueargumentdefinitionnamesrule.d.ts","../../node_modules/graphql/validation/rules/uniquedirectivenamesrule.d.ts","../../node_modules/graphql/validation/rules/possibletypeextensionsrule.d.ts","../../node_modules/graphql/validation/rules/custom/nodeprecatedcustomrule.d.ts","../../node_modules/graphql/validation/rules/custom/noschemaintrospectioncustomrule.d.ts","../../node_modules/graphql/validation/index.d.ts","../../node_modules/graphql/error/syntaxerror.d.ts","../../node_modules/graphql/error/locatederror.d.ts","../../node_modules/graphql/error/index.d.ts","../../node_modules/graphql/utilities/getintrospectionquery.d.ts","../../node_modules/graphql/utilities/getoperationast.d.ts","../../node_modules/graphql/utilities/getoperationroottype.d.ts","../../node_modules/graphql/utilities/introspectionfromschema.d.ts","../../node_modules/graphql/utilities/buildclientschema.d.ts","../../node_modules/graphql/utilities/buildastschema.d.ts","../../node_modules/graphql/utilities/extendschema.d.ts","../../node_modules/graphql/utilities/lexicographicsortschema.d.ts","../../node_modules/graphql/utilities/printschema.d.ts","../../node_modules/graphql/utilities/typefromast.d.ts","../../node_modules/graphql/utilities/valuefromast.d.ts","../../node_modules/graphql/utilities/valuefromastuntyped.d.ts","../../node_modules/graphql/utilities/astfromvalue.d.ts","../../node_modules/graphql/utilities/coerceinputvalue.d.ts","../../node_modules/graphql/utilities/concatast.d.ts","../../node_modules/graphql/utilities/separateoperations.d.ts","../../node_modules/graphql/utilities/stripignoredcharacters.d.ts","../../node_modules/graphql/utilities/typecomparators.d.ts","../../node_modules/graphql/utilities/assertvalidname.d.ts","../../node_modules/graphql/utilities/findbreakingchanges.d.ts","../../node_modules/graphql/utilities/typedquerydocumentnode.d.ts","../../node_modules/graphql/utilities/index.d.ts","../../node_modules/graphql/index.d.ts","../../node_modules/ts-invariant/lib/invariant.d.ts","../../node_modules/@apollo/client/invarianterrorcodes.d.ts","../../node_modules/@apollo/client/utilities/globals/invariantwrappers.d.ts","../../node_modules/@apollo/client/utilities/globals/maybe.d.ts","../../node_modules/@apollo/client/utilities/globals/global.d.ts","../../node_modules/@apollo/client/utilities/globals/index.d.ts","../../node_modules/@apollo/client/utilities/graphql/directives.d.ts","../../node_modules/@apollo/client/utilities/graphql/documenttransform.d.ts","../../node_modules/@apollo/client/utilities/graphql/fragments.d.ts","../../node_modules/@apollo/client/utilities/graphql/getfromast.d.ts","../../node_modules/@apollo/client/utilities/graphql/print.d.ts","../../node_modules/@apollo/client/utilities/graphql/storeutils.d.ts","../../node_modules/@apollo/client/utilities/graphql/transform.d.ts","../../node_modules/@apollo/client/utilities/graphql/operations.d.ts","../../node_modules/@graphql-typed-document-node/core/typings/index.d.ts","../../node_modules/@wry/trie/lib/index.d.ts","../../node_modules/@apollo/client/cache/core/types/cache.d.ts","../../node_modules/@apollo/client/cache/inmemory/entitystore.d.ts","../../node_modules/@apollo/client/cache/inmemory/fragmentregistry.d.ts","../../node_modules/@apollo/client/cache/inmemory/types.d.ts","../../node_modules/@apollo/client/cache/inmemory/fixpolyfills.d.ts","../../node_modules/@apollo/client/cache/inmemory/reactivevars.d.ts","../../node_modules/@apollo/client/cache/inmemory/inmemorycache.d.ts","../../node_modules/@apollo/client/cache/inmemory/object-canon.d.ts","../../node_modules/@apollo/client/cache/inmemory/readfromstore.d.ts","../../node_modules/@apollo/client/cache/inmemory/writetostore.d.ts","../../node_modules/@apollo/client/cache/inmemory/policies.d.ts","../../node_modules/@apollo/client/cache/core/types/common.d.ts","../../node_modules/@apollo/client/cache/core/types/dataproxy.d.ts","../../node_modules/@apollo/client/cache/core/cache.d.ts","../../node_modules/@apollo/client/cache/inmemory/helpers.d.ts","../../node_modules/@apollo/client/cache/index.d.ts","../../node_modules/@apollo/client/utilities/policies/pagination.d.ts","../../node_modules/zen-observable-ts/module.d.ts","../../node_modules/symbol-observable/index.d.ts","../../node_modules/@apollo/client/utilities/observables/observable.d.ts","../../node_modules/@apollo/client/utilities/promises/decoration.d.ts","../../node_modules/@apollo/client/utilities/common/objects.d.ts","../../node_modules/@apollo/client/utilities/common/mergedeep.d.ts","../../node_modules/@apollo/client/utilities/common/clonedeep.d.ts","../../node_modules/@apollo/client/utilities/common/maybedeepfreeze.d.ts","../../node_modules/@apollo/client/utilities/observables/iteration.d.ts","../../node_modules/@apollo/client/utilities/observables/asyncmap.d.ts","../../node_modules/@apollo/client/utilities/observables/concast.d.ts","../../node_modules/@apollo/client/utilities/observables/subclassing.d.ts","../../node_modules/@apollo/client/utilities/common/arrays.d.ts","../../node_modules/@apollo/client/utilities/common/errorhandling.d.ts","../../node_modules/@apollo/client/utilities/common/canuse.d.ts","../../node_modules/@apollo/client/utilities/common/compact.d.ts","../../node_modules/@apollo/client/utilities/common/makeuniqueid.d.ts","../../node_modules/@apollo/client/utilities/common/stringifyfordisplay.d.ts","../../node_modules/@apollo/client/utilities/common/mergeoptions.d.ts","../../node_modules/@apollo/client/utilities/common/incrementalresult.d.ts","../../node_modules/@apollo/client/utilities/types/primitive.d.ts","../../node_modules/@apollo/client/utilities/types/deepomit.d.ts","../../node_modules/@apollo/client/utilities/common/omitdeep.d.ts","../../node_modules/@apollo/client/utilities/common/striptypename.d.ts","../../node_modules/@apollo/client/utilities/types/isstrictlyany.d.ts","../../node_modules/@apollo/client/utilities/types/deeppartial.d.ts","../../node_modules/@apollo/client/utilities/index.d.ts","../../node_modules/@apollo/client/link/core/types.d.ts","../../node_modules/@apollo/client/link/core/apollolink.d.ts","../../node_modules/@apollo/client/link/core/empty.d.ts","../../node_modules/@apollo/client/link/core/from.d.ts","../../node_modules/@apollo/client/link/core/split.d.ts","../../node_modules/@apollo/client/link/core/concat.d.ts","../../node_modules/@apollo/client/link/core/execute.d.ts","../../node_modules/@apollo/client/link/core/index.d.ts","../../node_modules/@apollo/client/link/http/parseandcheckhttpresponse.d.ts","../../node_modules/@apollo/client/link/http/serializefetchparameter.d.ts","../../node_modules/@apollo/client/link/http/selecthttpoptionsandbody.d.ts","../../node_modules/@apollo/client/link/http/checkfetcher.d.ts","../../node_modules/@apollo/client/link/http/createsignalifsupported.d.ts","../../node_modules/@apollo/client/link/http/selecturi.d.ts","../../node_modules/@apollo/client/link/http/createhttplink.d.ts","../../node_modules/@apollo/client/link/http/httplink.d.ts","../../node_modules/@apollo/client/link/http/rewriteuriforget.d.ts","../../node_modules/@apollo/client/link/http/index.d.ts","../../node_modules/@apollo/client/core/networkstatus.d.ts","../../node_modules/@apollo/client/link/utils/fromerror.d.ts","../../node_modules/@apollo/client/link/utils/topromise.d.ts","../../node_modules/@apollo/client/link/utils/frompromise.d.ts","../../node_modules/@apollo/client/link/utils/throwservererror.d.ts","../../node_modules/@apollo/client/link/utils/validateoperation.d.ts","../../node_modules/@apollo/client/link/utils/createoperation.d.ts","../../node_modules/@apollo/client/link/utils/transformoperation.d.ts","../../node_modules/@apollo/client/link/utils/filteroperationvariables.d.ts","../../node_modules/@apollo/client/link/utils/index.d.ts","../../node_modules/@apollo/client/errors/index.d.ts","../../node_modules/@apollo/client/core/queryinfo.d.ts","../../node_modules/@apollo/client/core/localstate.d.ts","../../node_modules/@apollo/client/core/types.d.ts","../../node_modules/@apollo/client/core/watchqueryoptions.d.ts","../../node_modules/@apollo/client/core/querymanager.d.ts","../../node_modules/@apollo/client/core/observablequery.d.ts","../../node_modules/@apollo/client/core/apolloclient.d.ts","../../node_modules/graphql-tag/lib/index.d.ts","../../node_modules/@apollo/client/core/index.d.ts","../../node_modules/@types/apollo-upload-client/public/formdataappendfile.d.ts","../../node_modules/@types/apollo-upload-client/public/isextractablefile.d.ts","../../node_modules/@types/apollo-upload-client/public/createuploadlink.d.ts","../../node_modules/@types/apollo-upload-client/public/reactnativefile.d.ts","../../node_modules/@types/apollo-upload-client/index.d.ts","../../node_modules/@types/aria-query/index.d.ts","../../node_modules/@types/bcrypt/index.d.ts","../../node_modules/@types/better-sqlite3/index.d.ts","../../node_modules/@types/connect/index.d.ts","../../node_modules/@types/body-parser/index.d.ts","../../node_modules/@types/bonjour/index.d.ts","../../node_modules/@types/bytes/index.d.ts","../../node_modules/keyv/src/index.d.ts","../../node_modules/@types/http-cache-semantics/index.d.ts","../../node_modules/@types/responselike/index.d.ts","../../node_modules/@types/cacheable-request/index.d.ts","../../node_modules/@types/chai/index.d.ts","../../node_modules/@types/codemirror/index.d.ts","../../node_modules/@types/mime/index.d.ts","../../node_modules/@types/send/index.d.ts","../../node_modules/@types/qs/index.d.ts","../../node_modules/@types/range-parser/index.d.ts","../../node_modules/@types/express-serve-static-core/index.d.ts","../../node_modules/@types/connect-history-api-fallback/index.d.ts","../../node_modules/@types/content-disposition/index.d.ts","../../node_modules/@types/cookie/index.d.ts","../../node_modules/@types/cookiejar/index.d.ts","../../node_modules/@types/http-errors/index.d.ts","../../node_modules/@types/serve-static/node_modules/@types/mime/mime.d.ts","../../node_modules/@types/serve-static/node_modules/@types/mime/index.d.ts","../../node_modules/@types/serve-static/index.d.ts","../../node_modules/@types/express/index.d.ts","../../node_modules/@types/keygrip/index.d.ts","../../node_modules/@types/cookies/index.d.ts","../../node_modules/@types/cors/index.d.ts","../../node_modules/@types/cross-spawn/index.d.ts","../../node_modules/@types/d3-color/index.d.ts","../../node_modules/@types/d3-path/index.d.ts","../../node_modules/@types/d3-time/index.d.ts","../../node_modules/@types/d3-scale/index.d.ts","../../node_modules/@types/d3-scale-chromatic/index.d.ts","../../node_modules/@types/d3-shape/index.d.ts","../../node_modules/@types/d3-time-format/index.d.ts","../../node_modules/@types/ms/index.d.ts","../../node_modules/@types/debug/index.d.ts","../../node_modules/@types/deep-equal/index.d.ts","../../node_modules/@types/detect-port/index.d.ts","../../node_modules/@types/doctrine/index.d.ts","../../node_modules/@types/ejs/index.d.ts","../../node_modules/@types/emscripten/index.d.ts","../../node_modules/@types/escodegen/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/estree-jsx/index.d.ts","../../node_modules/@types/extend/index.d.ts","../../node_modules/@types/extract-files/index.d.ts","../../node_modules/@types/find-cache-dir/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/graphql-fields/index.d.ts","../../node_modules/@types/http-assert/index.d.ts","../../node_modules/@types/koa-compose/index.d.ts","../../node_modules/@types/koa/index.d.ts","../../node_modules/fs-capacitor/dist/index.d.ts","../../node_modules/@types/graphql-upload/index.d.ts","../../node_modules/@types/gtag.js/index.d.ts","../../node_modules/@types/har-format/index.d.ts","../../node_modules/@types/hast/node_modules/@types/unist/index.d.ts","../../node_modules/@types/hast/index.d.ts","../../node_modules/@types/history/domutils.d.ts","../../node_modules/@types/history/createbrowserhistory.d.ts","../../node_modules/@types/history/createhashhistory.d.ts","../../node_modules/@types/history/creatememoryhistory.d.ts","../../node_modules/@types/history/locationutils.d.ts","../../node_modules/@types/history/pathutils.d.ts","../../node_modules/@types/history/index.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/scheduler/tracing.d.ts","../../node_modules/@types/react/index.d.ts","../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../node_modules/@types/html-minifier-terser/index.d.ts","../../node_modules/@types/http-proxy/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/js-cookie/index.d.ts","../../node_modules/@types/js-levenshtein/index.d.ts","../../node_modules/@types/js-yaml/index.d.ts","../../node_modules/parse5/dist/common/html.d.ts","../../node_modules/parse5/dist/common/token.d.ts","../../node_modules/parse5/dist/common/error-codes.d.ts","../../node_modules/parse5/dist/tokenizer/preprocessor.d.ts","../../node_modules/parse5/dist/tokenizer/index.d.ts","../../node_modules/parse5/dist/tree-adapters/interface.d.ts","../../node_modules/parse5/dist/parser/open-element-stack.d.ts","../../node_modules/parse5/dist/parser/formatting-element-list.d.ts","../../node_modules/parse5/dist/parser/index.d.ts","../../node_modules/parse5/dist/tree-adapters/default.d.ts","../../node_modules/parse5/dist/serializer/index.d.ts","../../node_modules/parse5/dist/common/foreign-content.d.ts","../../node_modules/parse5/dist/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/jsdom/base.d.ts","../../node_modules/@types/jsdom/index.d.ts","../../node_modules/@types/json-stable-stringify/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/jsonwebtoken/index.d.ts","../../node_modules/@types/keyv/index.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/lodash.camelcase/index.d.ts","../../node_modules/@types/lodash.debounce/index.d.ts","../../node_modules/@types/lodash.isempty/index.d.ts","../../node_modules/@types/lodash.isequal/index.d.ts","../../node_modules/@types/lodash.isobject/index.d.ts","../../node_modules/@types/lodash.kebabcase/index.d.ts","../../node_modules/@types/lodash.merge/index.d.ts","../../node_modules/@types/lodash.mergewith/index.d.ts","../../node_modules/@types/lodash.snakecase/index.d.ts","../../node_modules/@types/lodash.upperfirst/index.d.ts","../../node_modules/@types/long/index.d.ts","../../node_modules/@types/luxon/src/zone.d.ts","../../node_modules/@types/luxon/src/settings.d.ts","../../node_modules/@types/luxon/src/_util.d.ts","../../node_modules/@types/luxon/src/misc.d.ts","../../node_modules/@types/luxon/src/duration.d.ts","../../node_modules/@types/luxon/src/interval.d.ts","../../node_modules/@types/luxon/src/datetime.d.ts","../../node_modules/@types/luxon/src/info.d.ts","../../node_modules/@types/luxon/src/luxon.d.ts","../../node_modules/@types/luxon/index.d.ts","../../node_modules/iconv-lite/lib/index.d.ts","../../node_modules/@types/mailparser/index.d.ts","../../node_modules/@types/unist/index.d.ts","../../node_modules/@types/mdast/index.d.ts","../../node_modules/@types/mdurl/encode.d.ts","../../node_modules/@types/mdurl/decode.d.ts","../../node_modules/@types/mdurl/parse.d.ts","../../node_modules/@types/mdurl/format.d.ts","../../node_modules/@types/mdurl/index.d.ts","../../node_modules/@types/mdx/types.d.ts","../../node_modules/@types/mdx/index.d.ts","../../node_modules/@types/methods/index.d.ts","../../node_modules/@types/mime-types/index.d.ts","../../node_modules/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","../../node_modules/@types/node-forge/index.d.ts","../../node_modules/@types/nodemailer/lib/dkim/index.d.ts","../../node_modules/@types/nodemailer/lib/mailer/mail-message.d.ts","../../node_modules/@types/nodemailer/lib/xoauth2/index.d.ts","../../node_modules/@types/nodemailer/lib/mailer/index.d.ts","../../node_modules/@types/nodemailer/lib/mime-node/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-connection/index.d.ts","../../node_modules/@types/nodemailer/lib/shared/index.d.ts","../../node_modules/@types/nodemailer/lib/json-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/sendmail-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/ses-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-pool/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/stream-transport/index.d.ts","../../node_modules/@types/nodemailer/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/oauth/index.d.ts","../../node_modules/@types/object.omit/index.d.ts","../../node_modules/@types/object.pick/index.d.ts","../../node_modules/@types/parse-json/index.d.ts","../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts","../../node_modules/@types/parse5/index.d.ts","../../node_modules/@types/passport/index.d.ts","../../node_modules/@types/passport-oauth2/index.d.ts","../../node_modules/@types/passport-google-oauth20/index.d.ts","../../node_modules/@types/passport-strategy/index.d.ts","../../node_modules/@types/passport-jwt/index.d.ts","../../node_modules/@types/pretty-hrtime/index.d.ts","../../node_modules/@types/prismjs/index.d.ts","../../node_modules/@popperjs/core/lib/enums.d.ts","../../node_modules/@popperjs/core/lib/modifiers/popperoffsets.d.ts","../../node_modules/@popperjs/core/lib/modifiers/flip.d.ts","../../node_modules/@popperjs/core/lib/modifiers/hide.d.ts","../../node_modules/@popperjs/core/lib/modifiers/offset.d.ts","../../node_modules/@popperjs/core/lib/modifiers/eventlisteners.d.ts","../../node_modules/@popperjs/core/lib/modifiers/computestyles.d.ts","../../node_modules/@popperjs/core/lib/modifiers/arrow.d.ts","../../node_modules/@popperjs/core/lib/modifiers/preventoverflow.d.ts","../../node_modules/@popperjs/core/lib/modifiers/applystyles.d.ts","../../node_modules/@popperjs/core/lib/types.d.ts","../../node_modules/@popperjs/core/lib/modifiers/index.d.ts","../../node_modules/@popperjs/core/lib/utils/detectoverflow.d.ts","../../node_modules/@popperjs/core/lib/createpopper.d.ts","../../node_modules/@popperjs/core/lib/popper-lite.d.ts","../../node_modules/@popperjs/core/lib/popper.d.ts","../../node_modules/@popperjs/core/lib/index.d.ts","../../node_modules/@popperjs/core/index.d.ts","../../node_modules/date-fns/typings.d.ts","../../node_modules/react-popper/typings/react-popper.d.ts","../../node_modules/@types/react-datepicker/index.d.ts","../../node_modules/@types/react-dom/index.d.ts","../../node_modules/@types/react-lifecycles-compat/index.d.ts","../../node_modules/@types/react-router/index.d.ts","../../node_modules/@types/react-router-config/index.d.ts","../../node_modules/@types/react-router-dom/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/retry/index.d.ts","../../node_modules/@types/sax/index.d.ts","../../node_modules/@types/scheduler/index.d.ts","../../node_modules/@types/scroll-into-view/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/serve-index/index.d.ts","../../node_modules/@types/sockjs/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/statuses/index.d.ts","../../node_modules/@types/superagent/lib/agent-base.d.ts","../../node_modules/@types/superagent/lib/node/response.d.ts","../../node_modules/@types/superagent/types.d.ts","../../node_modules/@types/superagent/lib/node/agent.d.ts","../../node_modules/@types/superagent/lib/request-base.d.ts","../../node_modules/@types/superagent/lib/node/index.d.ts","../../node_modules/@types/superagent/index.d.ts","../../node_modules/@types/supertest/index.d.ts","../../node_modules/@types/swagger-schema-official/index.d.ts","../../node_modules/@types/tern/lib/tern/index.d.ts","../../node_modules/@types/tern/lib/infer/index.d.ts","../../node_modules/@types/tern/index.d.ts","../../node_modules/@types/throttle-debounce/index.d.ts","../../node_modules/@types/type-is/index.d.ts","../../node_modules/@types/use-sync-external-store/index.d.ts","../../node_modules/@types/uuid/index.d.ts","../../node_modules/@types/validator/lib/isboolean.d.ts","../../node_modules/@types/validator/lib/isemail.d.ts","../../node_modules/@types/validator/lib/isfqdn.d.ts","../../node_modules/@types/validator/lib/isiban.d.ts","../../node_modules/@types/validator/lib/isiso31661alpha2.d.ts","../../node_modules/@types/validator/lib/isiso4217.d.ts","../../node_modules/@types/validator/lib/isiso6391.d.ts","../../node_modules/@types/validator/lib/istaxid.d.ts","../../node_modules/@types/validator/lib/isurl.d.ts","../../node_modules/@types/validator/index.d.ts","../../node_modules/@types/wait-on/index.d.ts","../../node_modules/@types/ws/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":["a7297ff837fcdf174a9524925966429eb8e5feecc2cc55cc06574e6b092c1eaa",{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"8bffa969fa7e6e1d7f194c14f2f324265532a8fa6c046b3560cf9ee2c638fec1","8f44a78d1ad769dbc5f2668f2b7a02b43404724849e7afe0cda188957d47ccd0","485c95ea74479320db266f03fa702ad9b0823b8154a0a2b81e5a4c633bf9ac4a","efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"185282b122cbca820c297a02a57b89cf5967ab43e220e3e174d872d3f9a94d2c","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","06f613ad82b49f264a12e30977e791d5b0addf9d8d1d18cd135c402928ff0607","285e512c7a0db217a0599e18c462d565fa35be4a5153dd7b80bee88c83e83ddf","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true},"7aae1df2053572c2cfc2089a77847aadbb38eedbaa837a846c6a49fb37c6e5bd","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","1f758340b027b18ae8773ac3d33a60648a2af49eaae9e4fde18d0a0dd608642c","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"dea4c00820d4fac5e530d4842aed2fb20d6744d75a674b95502cbd433f88bcb0","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"0d832a0650a74aafc276cb3f7bb26bde2e2270a6f87e6c871a64122e9203079b","affectsGlobalScope":true},{"version":"c6f3869f12bb5c3bb8ecd0b050ea20342b89b944eae18d313cde6b0ccc0925d7","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","d742ed2db6d5425b3b6ac5fb1f2e4b1ed2ae74fbeee8d0030d852121a4b05d2f","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"2225100373ca3d63bcc7f206e1177152d2e2161285a0bd83c8374db1503a0d1f","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eefcdf86cefff36e5d87de36a3638ab5f7d16c2b68932be4a72c14bb924e43c1","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","4a34b074b11c3597fb2ff890bc8f1484375b3b80793ab01f974534808d5777c7",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447",{"version":"0e4ca50408ca6a9ddb79bce2fa6e931eab379431ea7b2b6e1cce12669ca7c3bf","affectsGlobalScope":true},"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","bcb6ea18f23dae2c48459d7b86d3adccd6898f824fcbf9da08b935f559896580","1363ba7d52f2353d0c4306d0ecdaf171bf4509c0148842f9fd8d3986c098a2eb","4ac282004b0038c107795523475e549e6b357a347831cc635eb08360d63c1468","858d0d831826c6eb563df02f7db71c90e26deadd0938652096bea3cc14899700","8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","18c04c22baee54d13b505fa6e8bcd4223f8ba32beee80ec70e6cac972d1cc9a6","5e92a2e8ba5cbcdfd9e51428f94f7bd0ab6e45c9805b1c9552b64abaffad3ce3","53ca39fe70232633759dd3006fc5f467ecda540252c0c819ab53e9f6ad97b226","e7174a839d4732630d904a8b488f22380e5bcf1d6405d1f59614e10795eca17d","7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","b9261ac3e9944d3d72c5ee4cf888ad35d9743a5563405c6963c4e43ee3708ca4","c84fd54e8400def0d1ef1569cafd02e9f39a622df9fa69b57ccc82128856b916","c7a38c1ef8d6ae4bf252be67bd9a8b012b2cdea65bd6225a3d1a726c4f0d52b6","e773630f8772a06e82d97046fc92da59ada8414c61689894fff0155dd08f102c","74f2815d9e1b8530120dcad409ed5f706df8513c4d93e99fc6213997aa4dd60e","9d1f36ccd354f2e286b909bf01d626a3a28dd6590770303a18afa7796fe50db9","c4bc6a572f9d763ac7fa0d839be3de80273a67660e2002e3225e00ef716b4f37","106e607866d6c3e9a497a696ac949c3e2ec46b6e7dda35aabe76100bf740833b","8a6c755dc994d16c4e072bba010830fa2500d98ff322c442c7c91488d160a10d","d4514d11e7d11c53da7d43b948654d6e608a3d93d666a36f8d01e18ece04c9bd","3d65182eff7bbb16de1a69e17651c51083f740af11a1a92359be6dab939e8bcf","670ddaf1f1b881abaa1cc28236430d86b691affbeaefd66b3ee1db31fdfb8dba","77926a706478940016e826b162f95f8e4077b1ad3184b2592dc03bd8b33e0384","21092de52736dc30f478fe5f1e88ad1b545ce4b276062999302aa65b30a6787a","8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","304df321f3b710c2a0951f2c9cddfe34986e4aeb6994fa4f9d21efd06835abec","d294c49571f1b75f75479227e33d6f2fd2326302bce5f9f4dff0c719819dbfdc",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","90250f62d738c73d086da6f4b376067f74bcea7c0523db14d7ddf5af2ba31f8d","657e6dc684415721980e91e97785f1b8e6da4134e194de757d2d3733c54b4f06","bad1bc59cf9ba7f2b8efc0f7342b141843cbf3d3d791fa13df4ff9b86db26df9","a2ca9f3aee02a7fa0ec6f80afc09c5465191e5ca513be720bf858f5da275e66b",{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true},"a337b9716b16c46e80a8810209cb162d32af16c6c93b331edcc01cdce5d82eba",{"version":"65b9243c80068ec9696b1fbdd23c9acf80d51df02f97b2d7a0514312b0a9fe7d","affectsGlobalScope":true},"58bdd5fd93f39bae19f34924ad304608ee37b6c6b357a57823ddfd2585a56d0f","f0745ab78e18a2befaf1d9951481973318722c4e2f33e859239f55fa999ff2b1","b61ebe734dabd3ca10247807bfa4585ed51c889282e5decd152eea86daea7383","41a35a21d3c9c0450229cf41be783285f3c01edd84039a41ffd162d42a93a576","ec9d55888e353f9b5cdda761308dffc7eeb6aa0b7b25d328c64d3776a1cf2a7e","9686c9ade71de53d81ee3e41ff7450d08bd08fff4f545af39e37eeda228745d6","78fbf5d1265bdca3b2e54323d63678e3f73fecf70c05d988966a683da4cdf2f8","37c0fd48eb043fdc395435716585587815f63afc66159588db8ed6c25a5f0636","7cd0faa5800c730d5e9387a5ad312732d95d0a3bd5a67e266721f36ae1068a91","03a931e4fb1e8b851a171b246a8aeba575fcdecde60c914b23f472af5beb29b0","f22230ec7c2b08a8f8dc110bacd30c910701cb7347b3129b9cf12f6e28130656","73623979b2b6f47b9af0efea985d91197a3c3303466ed786163757f0aa6b45bc","ad91f5cc45805d17ac94b01428f82b182c6ff0ebe6343d72fd298945478d203d","df4ba08679bfd850b787d662118aae3c4741dcaa661cf8689a768dab462cfd90","4acc4bccbdec774c58992a87f3ac2731f9d38c821520d06b4d53911898d0e3ec","94d6422d3c3faf923fbdff1ce7457a25f9b0b55e8a2fe0fefa8bfa7a89cf6676","1c775cb43c5edae0a7b4a5e543c07baab07f751e5cccc60a22c5bc3f6e38309c","0eef4cf077011e3d1839dfb93ab894cd611cf552c26eb995c822e8d9b71d93a1","f356e7999affebf5745d8ffdf0cb70426bc966da461166408099e4dac35e98c2","254265a792bdf31050dc2524733465d3ace0b179779e1ff8a97b2752a9b56656","1b85664bf562d2d216d71b940d8097600b4ed626f67528c868ced65dbe7288e6","7891c7290f213b63911a1391b3dfe08c9bfa54d401f28e167d0c57553eee80c0","707db20cf8a4ee166e63861c0a7d355b44595555e0248565479e745f6c1034d0","2a9788e7789f4ab603d4d3982fe5a98ff51b699b8ec4653fceb3192e147337dc","5bee6b675b1a0ece9d5082d438e923f112343685d4bc54b20a4dfbed09dbe323","ebd7209e5b648af7b6e3677280368b3c8ccef579a27c2386f7f5d376f1e14533","60f5fe888f5364424f9cdf43eef013cdcd6827cbec1d6d20fa191f5ebe827afd","aca0e55a2961b519f8857517e2cdf6085f024bb10c6961e120c80b76569fc4d7","26245b1b8452c300347a31b37a052c3244a36393dec03facfa4b31a8d8687184","f1f23acd4a8193453749f69d4432f5f122d6d572b793a8b630dd12fe80b0c3d3","7662d6994d28c9ebbe61b88cc35c3d705804351eedbf363df30ea9fe8c4961dc","1fb68106bddae35448e5279095461a4b54c4bbb42787cd629f70924b17e9a11e","9acd551d1b5fb8a4ea4bfd65e8fcc8beca89a4b98fc1a9321924308256383565","a7024322dc86e43685c5564b438decad7557de62baae80b062fee78752c3b2f4","351bbf43d585484825ee6c4b4805aac137ffc8e8a3b9812af99945a202db7c02","a0116a0ba37624acef486fba35bd5530c8c25415798c8908a35e5f72913d2365","3bd2fc1b877ba4f9c91fca3231333471f3ff0edf85e146eaafdff2bc42c9a44c","387a6dc0d57a9f602d0d7f2f4ba88b65540c1c19d84088157610ca0176793a03","7078f6149d25fa110b2bd24dece6754520e5984a2dd014875bef7ebe91016617","a58402dc75738c188a741ccca86ccf898b0af98d305ad075c428171f193a6cd5","ddccf0a48338cac642e93bfdb563494dad6e05b70ef0e6e3605a454db88ca57e","9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","d789022bf705385490fe89811bc7850225c207f37dd706ada2509eb1d8f31f12","9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","3b4ba8322f73cc571cd57e55199b909e04b5da79d00d58a3a20fd71463f8c081","cf1532b11d5ec78f63dc4d0c985353b281b4a09e91d35f63fb9aba42e36674ab","9c98df0145d99011af92c397fa787fc39d42cc04019614ab5581febe71fb32e1","3487a4c7100f4f6c08943047aaa34afe9a8dd130ecd0848b2212b5a11a02fb18","90f331fcd65f1a15de4eb297c01d05a7782097c6198bdfeb26123b27fa8f7937","611a9e2d52b509c65603e9f5c1f22c75b0b35e4c78e688943aa5aae6a7320009","77b55f8bfab90aa408704132d98b72f8762e2fe955eeda093ace44120d6adc1a","2f848b4e660b568651a6350565afc8ac5b0644853a2a863862807602cf244a05","a27020368bd27542780e1cf702dbb059dd1aba2220d233cdbb981ebd55c6c524","923c136dcbf20f140c369078a7eb56f6697889d104397d694f70e21dd08b1810","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","8041cfce439ff29d339742389de04c136e3029d6b1817f07b2d7fcbfb7534990","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9d38964b57191567a14b396422c87488cecd48f405c642daa734159875ee81d9","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","3d922ac35e7bd201c09c71d0a3be9cab0ac41bdd0d5115f2734c8555629e5414","ae18a824baa6829b4b687f4e678d97c2b3f0ee75a82e2cff792180002f1e2a82","fe1baccba85e2af0fdaca57b32b34f3fd602609bb0b29aeb0609000dbcd75446","ae04fe1adb6d10414645db0d9c264ae06a48cd73fbb043053afe9c72849e5e44","f961eca7ae704d5b6d1e590ee6dafbd552700a2e4076480e613dadb55368835b","b943e4cfae007bf0e8b5aa9cbb979865505e89586fd1e45bb7aabf0f855ed1d5","c09540252e5a1e6924e539692cca6323f68486095a4b0f36f54bd2d12d3f9aae","87f287f296f3ff07dbd14ea7853c2400d995dccd7bd83206196d6c0974774e96","3777eb752cef9aa8dd35bb997145413310008aa54ec44766de81a7ad891526cd","78647004e18e4c16b8a2e8345fca9267573d1c5a29e11ddfee71858fd077ef6e","0804044cd0488cb7212ddbc1d0f8e1a5bd32970335dbfc613052304a1b0318f9","b725acb041d2a18fde8f46c48a1408418489c4aa222f559b1ef47bf267cb4be0","85084ae98c1d319e38ef99b1216d3372a9afd7a368022c01c3351b339d52cb58","898ec2410fae172e0a9416448b0838bed286322a5c0c8959e8e39400cd4c5697","692345a43bac37c507fa7065c554258435ab821bbe4fb44b513a70063e932b45","cddd50d7bd9d7fddda91a576db9f61655d1a55e2d870f154485812f6e39d4c15","0539583b089247b73a21eb4a5f7e43208a129df6300d6b829dc1039b79b6c8c4","7aba43bc7764fcd02232382c780c3e99ef8dbfdac3c58605a0b3781fab3d8044","522edc786ed48304671b935cf7d3ed63acc6636ab9888c6e130b97a6aea92b46","1e1ed5600d80406a10428e349af8b6f09949cd5054043ea8588903e8f9e8d705","de21641eb8edcbc08dd0db4ee70eea907cd07fe72267340b5571c92647f10a77","a53039ba614075aeb702271701981babbd0d4f4dcbf319ddee4c08fb8196cc7a","6758f7b72fa4d38f4f4b865516d3d031795c947a45cc24f2cfba43c91446d678","da679a5bb46df3c6d84f637f09e6689d6c2d07e907ea16adc161e4529a4954d6","dc1a664c33f6ddd2791569999db2b3a476e52c5eeb5474768ffa542b136d78c0","bdf7abbd7df4f29b3e0728684c790e80590b69d92ed8d3bf8e66d4bd713941fe","8decb32fc5d44b403b46c3bb4741188df4fbc3c66d6c65669000c5c9cd506523","4beaf337ee755b8c6115ff8a17e22ceab986b588722a52c776b8834af64e0f38","c26dd198f2793bbdcc55103823a2767d6223a7fdb92486c18b86deaf63208354","93551b302a808f226f0846ad8012354f2d53d6dedc33b540d6ca69836781a574","f0ff1c010d5046af3874d3b4df746c6f3921e4b3fbdec61dee0792fc0cb36ccd","778b684ebc6b006fcffeab77d25b34bf6e400100e0ec0c76056e165c6399ab05","463851fa993af55fb0296e0d6afa27407ef91bf6917098dd665aba1200d250c7","67c6de7a9c490bda48eb401bea93904b6bbfc60e47427e887e6a3da6195540be","be8f369f8d7e887eab87a3e4e41f1afcf61bf06056801383152aa83bda1f6a72","352bfb5f3a9d8a9c2464ad2dc0b2dc56a8212650a541fb550739c286dd341de1","a5aae636d9afdacb22d98e4242487436d8296e5a345348325ccc68481fe1b690","d007c769e33e72e51286b816d82cd7c3a280cba714e7f958691155068bd7150a","764150c107451d2fd5b6de305cff0a9dcecf799e08e6f14b5a6748724db46d8a","b04cf223c338c09285010f5308b980ee6d8bfa203824ed2537516f15e92e8c43","4b387f208d1e468193a45a51005b1ed5b666010fc22a15dc1baf4234078b636e","70441eda704feffd132be0c1541f2c7f6bbaafce25cb9b54b181e26af3068e79","d1addb12403afea87a1603121396261a45190886c486c88e1a5d456be17c2049","15d43873064dc8787ca1e4c39149be59183c404d48a8cd5a0ea019bb5fdf8d58","ea4b5d319625203a5a96897b057fddf6017d0f9a902c16060466fe69cc007243","3d06897c536b4aad2b2b015d529270439f2cadd89ca2ff7bd8898ee84898dd88","ab01d8fcb89fae8eda22075153053fefac69f7d9571a389632099e7a53f1922d","bac0ec1f4c61abc7c54ccebb0f739acb0cdbc22b1b19c91854dc142019492961","566b0806f9016fa067b7fecf3951fcc295c30127e5141223393bde16ad04aa4a","8e801abfeda45b1b93e599750a0a8d25074d30d4cc01e3563e56c0ff70edeb68","902997f91b09620835afd88e292eb217fbd55d01706b82b9a014ff408f357559","a3727a926e697919fb59407938bd8573964b3bf543413b685996a47df5645863","83f36c0792d352f641a213ee547d21ea02084a148355aa26b6ef82c4f61c1280","dce7d69c17a438554c11bbf930dec2bee5b62184c0494d74da336daee088ab69","1e8f2cda9735002728017933c54ccea7ebee94b9c68a59a4aac1c9a58aa7da7d","e327a2b222cf9e5c93d7c1ed6468ece2e7b9d738e5da04897f1a99f49d42cca1","65165246b59654ec4e1501dd87927a0ef95d57359709e00e95d1154ad8443bc7","f1bacba19e2fa2eb26c499e36b5ab93d6764f2dba44be3816f12d2bc9ac9a35b","bce38da5fd851520d0cb4d1e6c3c04968cec2faa674ed321c118e97e59872edc","3398f46037f21fb6c33560ceca257259bd6d2ea03737179b61ea9e17cbe07455","6e14fc6c27cb2cb203fe1727bb3a923588f0be8c2604673ad9f879182548daca","12b9bcf8395d33837f301a8e6d545a24dfff80db9e32f8e8e6cf4b11671bb442","04295cc38689e32a4ea194c954ea6604e6afb6f1c102104f74737cb8cf744422","7418f434c136734b23f634e711cf44613ca4c74e63a5ae7429acaee46c7024c8","27d40290b7caba1c04468f2b53cf7112f247f8acdd7c20589cd7decf9f762ad0","2608b8b83639baf3f07316df29202eead703102f1a7e32f74a1b18cf1eee54b5","c93657567a39bd589effe89e863aaadbc339675fca6805ae4d97eafbcce0a05d","909d5db5b3b19f03dfb4a8f1d00cf41d2f679857c28775faf1f10794cbbe9db9","e4504bffce13574bab83ab900b843590d85a0fd38faab7eff83d84ec55de4aff","8ab707f3c833fc1e8a51106b8746c8bc0ce125083ea6200ad881625ae35ce11e","730ddc2386276ac66312edbcc60853fedbb1608a99cb0b1ff82ebf26911dba1f","c1b3fa201aa037110c43c05ea97800eb66fea3f2ecc5f07c6fd47f2b6b5b21d2","636b44188dc6eb326fd566085e6c1c6035b71f839d62c343c299a35888c6f0a9","3b2105bf9823b53c269cabb38011c5a71360c8daabc618fec03102c9514d230c","f96e63eb56e736304c3aef6c745b9fe93db235ddd1fec10b45319c479de1a432","acb4f3cee79f38ceba975e7ee3114eb5cd96ccc02742b0a4c7478b4619f87cd6","cfc85d17c1493b6217bad9052a8edc332d1fde81a919228edab33c14aa762939","eebda441c4486c26de7a8a7343ebbc361d2b0109abff34c2471e45e34a93020a","727b4b8eb62dd98fa4e3a0937172c1a0041eb715b9071c3de96dad597deddcab","708e2a347a1b9868ccdb48f3e43647c6eccec47b8591b220afcafc9e7eeb3784","6bb598e2d45a170f302f113a5b68e518c8d7661ae3b59baf076be9120afa4813","c28e058db8fed2c81d324546f53d2a7aaefff380cbe70f924276dbad89acd7d1","ebe8f07bb402102c5a764b0f8e34bd92d6f50bd7ac61a2452e76b80e02f9bb4b","826a98cb79deab45ccc4e5a8b90fa64510b2169781a7cbb83c4a0a8867f4cc58","618189f94a473b7fdc5cb5ba8b94d146a0d58834cd77cd24d56995f41643ccd5","5baadaca408128671536b3cb77fea44330e169ada70ce50b902c8d992fe64cf1","a4cc469f3561ea3edc57e091f4c9dcaf7485a70d3836be23a6945db46f0acd0b","91b0965538a5eaafa8c09cf9f62b46d6125aa1b3c0e0629dce871f5f41413f90","2978e33a00b4b5fb98337c5e473ab7337030b2f69d1480eccef0290814af0d51","ba71e9777cb5460e3278f0934fd6354041cb25853feca542312807ce1f18e611","608dbaf8c8bb64f4024013e73d7107c16dba4664999a8c6e58f3e71545e48f66","61937cefd7f4d6fa76013d33d5a3c5f9b0fc382e90da34790764a0d17d6277fb","af7db74826f455bfef6a55a188eb6659fd85fdc16f720a89a515c48724ee4c42","d6ce98a960f1b99a72de771fb0ba773cb202c656b8483f22d47d01d68f59ea86","2a47dc4a362214f31689870f809c7d62024afb4297a37b22cb86f679c4d04088","42d907ac511459d7c4828ee4f3f81cc331a08dc98d7b3cb98e3ff5797c095d2e","63d010bff70619e0cdf7900e954a7e188d3175461182f887b869c312a77ecfbd","1452816d619e636de512ca98546aafb9a48382d570af1473f0432a9178c4b1ff","9e3e3932fe16b9288ec8c948048aef4edf1295b09a5412630d63f4a42265370e","8bdba132259883bac06056f7bacd29a4dcf07e3f14ce89edb022fe9b78dcf9b3","5a5406107d9949d83e1225273bcee1f559bb5588942907d923165d83251a0e37","ca0ca4ca5ad4772161ee2a99741d616fea780d777549ba9f05f4a24493ab44e1","e7ee7be996db0d7cce41a85e4cae3a5fc86cf26501ad94e0a20f8b6c1c55b2d4","72263ae386d6a49392a03bde2f88660625da1eca5df8d95120d8ccf507483d20","b498375d015f01585269588b6221008aae6f0c0dc53ead8796ace64bdfcf62ea","c37aa3657fa4d1e7d22565ae609b1370c6b92bafb8c92b914403d45f0e610ddc","34534c0ead52cc753bdfdd486430ef67f615ace54a4c0e5a3652b4116af84d6d","a1079b54643537f75fa4f4bb963d787a302bddbe3a6001c4b0a524b746e6a9de","7fc9b18b6aafa8a1fc1441670c6c9da63e3d7942c7f451300c48bafd988545e9","200a7b7eb3163da4327412c650e43fbe66c73604a23a694f95ede53c250bfc3b","b843e64cc56422a003f151f950c0b11dfc93e48d836c23d1de3ff9760ba66128",{"version":"05fe0a22611e537b8d36d14182dd587ac81692247592e495bed72201d739d537","affectsGlobalScope":true},"0d728b43672268b6358c183f58babb14b4d9133368d3a3d970a638e745a07946",{"version":"68b24afcc8f547f6f4e01a6438f693acf091679d1290f16ac3ff4281604d09c3","affectsGlobalScope":true},"be65d9c4b878135fd01ec9d627649b8f0ea042405d4238555bb1ed32ba4bc0d4","c24c21411a095cbe726d6ee0a45d219109d661371d60647abf0ec72ac356959d","318e94f954acb56c170dcce0954d83ec8e4f466a6272ab3cf2cfa1b669fbee98","f0b49e409996f4d3ddb54f71ec92f5413d004070f23ac1626d698502af028d80","178f27d07eb47715315586e6b93499134f9645a781dcee121809772319da2310","65f6810084ae57ebbfb592d9df09322c71bd1df5cc7881040472eb32c6574680","34d0f816cd414b27ac302c7f4cc5be0a8dc161acbac07fc752b1e8123f71aba8","1439e71e2196fcf0c998446c0a86cd45c1c0c3f872e2b5c96747b77b95626468","8c328b52f3f1a382fa838326757402ba3f89dc956a154a8d39b383ff9d561778","83b5f5f5bdbf7f37b8ffc003abf6afee35a318871c990ad4d69d822f38d77840","656e8a14a0af2822043ecc64532a6d82715811a9c13aececf0538d9851a257a2","99facf398964ea17e5561106b3efd571c3fbde7d5318b7fd38bb4a1654f36734","43ea3bdd488aad6a292d982b1a0935a5ed5f69f76b7f40bf589c2f5245195544","d9c11d0dae4e8d01c2ee92f939cddcc5157663c94ba38c84f9dcfea71314dca8","7a04b46d532a6189ad4c5e3271e27d9244e7f02d9f28574babe0f525ff18c372","b3dec0879e876086c6bd5d93b671bf3a034da7712ea60b6e815f1de987df060a","4c2dc62cf8ddea2c86bdb2cdcc152482639b455a9d073b8a637ca0871691e808","4f805ead8833643819cb95ba66fc084aa79903f6df7bccf2624be517de4faf98","ae2412e203650a5a739700dcd74dbfb6caebb3c756a0d0d5c93ede47ab70d91a","a023eb8a768d010cc6ca7bbd3d721f2131652ceaa58151021570f0c7275cbfa6","6148d07d0461a3dbf338f5f271ff8b887d8256817f5bacb7fc7bd3bca5b79796","e81622c94502d2b4f7787d7e2695c6e5376126f54f6b15a933aa118da1c639a5","78fc536a6e2a1e307537b306b3c3ff8552be40f21c7dacfe1e7542ca7324fcc7","cffaede6750b091b5a5538a425699f9513fe0fc5cebc9e027598a56d506fff2b","38ca64ed80b12454b03c0bb971541b881ebb0ab227b6236bd56bca89cb0306ab","1cc001b662ff2ac4881f501a88c5dbb6c02a7f87d6cbee79934fff95c1bbea30","e4d157796b14020f4aa8db74073b77652cbafbb02dc108408b5c99dc9d77dc0c","5b857d41d08971f63d54a050c5ba29504887f72e21e548e12e36428726941b11","9b51dd74a388c13e157c457cc39d59dc2aae2134f6a21cc6b695219932cb8817",{"version":"db06f4cdf70e3689f0cd5a96a6836f34024ad61e8dd01473560ebbcae09c532b","affectsGlobalScope":true},"7ff05fb50d37beb9bc6a5f93a3f09db2f959b0327f4f3b4221b2180e5b661322","3a4e80746c4007af4abc9b1263c4088b859cf4c1f7e2f03a074750bd03679e17","8772ee20ba975dd2411063d0d0c762588de75d65be11bfc96d17ff8375e7153a","bd08ee515c95bb5e3387f1c6e06b9b90a7023841c5c50cf8a3be0ccb98b423b6","7e45d0be6c684f8bd44a7c9e9b85866eadeefa8eafb4391a9a301275c35b4fcd","4b9fba069829653b17f331333ded3f88a2193139115ad48589b57542e0f1df5f","fa67c77380575031c13b4428fb04e817fe50540329c981c1a2b147ecb9327ef0","a60cb94351eec664cd5fd6c680ed608258d5ebc0e0a4b469c66ed5a3cef5efd8","9f9159a0e2266b44e522ca1c861e65644a330549201b75ddb4ab79dd85f10c8a","8d00ce6d5f41f222246ca4413da284f9b64c452ede594aaf0a368c804e8c58c1","da9a27a114bc110dfc2aa82ae2c2bca6c263e54e2fb715c88e871cd03b86165c","5845b996902c6abf5559e3795ada1dc5e5eaa3f48c2f893ec614c2aae7ad9155","79ad4eca59cf44701cd2b138b633efa003573521634b60eabf89f9228cd55809","638678c386beeb3793cc51759d9accb2a502c71eb08f453d6536636ef4593186","cc64f85b35f8d01b0355456652a3494c7533269fa47a68272d28fc042e30dfba","9b051f36a67f0e5813b355868f3d869c146b8045b3e143e821eb4d58a39f64be","435124778d845003fbc7f7d0a756cf5b8929365b22dfa9c6afb7b23178c6dc6c","948f93cf2016b2d75c53605a44397983dfb7ba736d5a75e9866413d6af4f5e59","584bb7dd00ffcc99918e3aca639ea6eed99256bef0b9c70f36de255212e086b0","d55df0c04f6b9b73a531aab649fca0e79b6bb6412ff3898d3e60e4e74a1acd6e","d35be9e4af129629c0ba2fc57fe80e94b8e464de3d3b0e8ed621873b9c28c2c4","667d1590f5ed02745949cf1b4532bbf80597c7cd15ef8be42b06f035487cee66","6336e7ae85e7bd0116777d6de86f34c881b89d81083547a8e7a3e9c9ce686b89","33fd57356804dd8d377aa08d6552b66068530b8875fbc8df6ea469953365ab5a","bbc76fb94e6165f8f498c0a72b842e23cd67aa00cde22b8313bd54b3d93af193","5232f93ba808fd18230f4e0fae516fc0ea0ca09386c93ef19dfdddd59d82194b","807128c9ccc1e7868ef217b7076d1fb078030cb5923c9a9da6a02c48d78e9e18","29d46805aba9bd70c3b64aea22a15589fcaa12b2bed2ac9310a7f02b02363bac","0358f51804975d70e83daa425709e472bfadb8ff6627402723881d3299599732","38106630e61f7dff328af03a2f1ac3b46cf57d611e8ea7ec9ec26dccb582bbf7","bf9085ad9469ad87d48e6b294c26e8ebc358a653e25b7c6976065df658ab3a47","cad94e8c96269a3f9c80f09a284e6839c5d01eddd85c90f9efa8e9556f1834e1","8d52b292046eaf7bc4565cadd1c61edc952d075ab2889f41f6d63f10ea59ccb0","38e1f988ca8a3fd0ee2fad611f7f982e9530ae6973151bcacde7c6e7fb04bea5","383f07a2a1fb51cb6fc8265a63eaade643135379374afa7166e3b84b063cd2fb","8e1ed0d99df8d05be264740e2121e574a174e1a60544ef669df3c8a6a4788290","21477f9ec750fb8f9b1fece228bfeeb17b85d767ae9168f71dfe3b574bc2c4b8","29ab9f8d2f84b5f84584ca6ec50535d5ebc34245d45cef32931ee8b4cced4ea3","e0066d0cec0f1194361302cf52abf2e71c0af898eed09ec687d4a34d7b89389c","d4b61bbee55cc1f91616b64937233522f29b6034304440a97344766e58d81224","484c61ffe28d13086dcbadc5371355a457e75a375a1f21649d87209c7da3f5ad","d6a5c17ef46bb6832efa4c7ed3fabf666bed91f7b1f913ef9f9437de72f9f45f","df51929c4b53d6f8740927d77f7bf415d026812a80ff4b03cfa24e9962aab30e","79d3f73e515450fb3e71721e13859666a2fd1dee8d2a4dbd51668eeceb0b5e1e","08a1d8e1474dd44bf89e4fd47ca3fd1c0f6e95d9e74413d95e360ac331915601","71257f1fd9c2606a8db9e614394e154d1b7175b1aab178ff7850cce0f383b0b7","dbf6e52d440f8495adf5f9d46f603ecf7e007b7032542e93a578748948d339cd","f5146fc906ed4a1ff094cf779c438cdb62699836ed52d35d68cdf8ffa33d4f17","c488375c6eddabce83a48132ae081c13ce049163694aee72205716070cdaf2d4","99471216f9a6bbdbd922ce5c3abab16a01f525c04b8565802ba7e2f741ed66ba","699f82d62f80defba3f24f8035fdd7848ce59819b7e92be1c21203784f989880","d6b416da43b620809c3802863ff9fc327fd93a27596b8297e3c11b5babee7c2d","54f654d70f99e22ab62bc368214dbffab229aaa05c0854844e092fc0249b941e","8dccc7b5bc97ef722f7cdc7a98052f604e97ce3d8e35ec3ef71ada72f8dde961","13d642fbe80631856021490bde7f51f7a3a3276e12c6d05c22f30d9cb0da0eff","60427cfa4f690de417382f75e3726d6afa5c539bff1a20f02f02d71a039c4583","06bf2eecd428a3686a630d89a8e79d2bdd1e4db12f8bcc494142fb5f1ceae713","df9310969cfc0d2ffee1c61f0a868c1c563b6238e38e87391dcd7a4a1252ed15","784bddc4118d0bd1a43f1ce8db89da23012b77d23ce54555c033925b146b979c","bfa0b14605126912c31bd10b294fc0af76f5af2a0278e899bb566a6897ad8559","2422d0d7402dc5982f9a813362f4670d03fbc20bf9c5e016cb0ad445b80e029d","07ca7906cd7ebb46a93f2216b2bf1ac94d43a35be2935804b5e346536c4f4cbe","2f6de3568f38b279d342e7a317e423fb8e5582c0ae68ee83bf8c3cb4ac4cf403","fa445158252924fc86902f4c0ad01a0fa4c3839146ab7b9c394e5b9e5e86c1c2","f91d90099c1d521d09f038a8d683400a99ba2b72ef837b3d41f97a7ddb981c8d","7b9b9606bc4ab60e04277fb97a7ce44757271aea1b7596adb82fe35e33d21bc3","713ea0db78827a08d797bd5ccec11686cca9e5831cbafe68a82e5ce908a292d6",{"version":"ad68d5ad990711f7828c681c2d94294957e774b8b305b171fe07403e95df8cc0","affectsGlobalScope":true},"ae77d81a5541a8abb938a0efedf9ac4bea36fb3a24cc28cfa11c598863aba571","160b24efb5a868df9c54f337656b4ef55fcbe0548fe15408e1c0630ec559c559","6e00a3409993b7ef8a7f0a1ba482012a00cb1361949593a265cc074399519f7c","104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","f9e22729fa06ed20f8b1fe60670b7c74933fdfd44d869ddfb1919c15a5cf12fb","5fc5e4fbc31a98937983ddc7a0692a9d6559302695a4cc21d137519795bea096","42baf4ca38c38deaf411ea73f37bc39ff56c6e5c761a968b64ac1b25c92b5cd8","d7dbe0ad36bdca8a6ecf143422a48e72cc8927bab7b23a1a2485c2f78a7022c6","8718fa41d7cf4aa91de4e8f164c90f88e0bf343aa92a1b9b725a9c675c64e16b","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562",{"version":"4a2c144ea6f441e9616ec77fe9b1009b0cdf6db0cd9727b8d99623975cd6c693","affectsGlobalScope":true},"f4584e95c63371b5d507749924d94e324c7e041f964975a92e7c8a1abc840328","d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","dcc9081d68c2ade5c51ac7bf5f37cce630359408e713999269b77f611a30d871","2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed",{"version":"50072f976cfa86af1a3044f55cd729d992abe39222d2f6cdf929266c77a42b0b","affectsGlobalScope":true},"689be50b735f145624c6f391042155ae2ff6b90a93bac11ca5712bc866f6010c","0504070e7eaba788f5d0d5926782ed177f1db01cee28363c488fae94950c0bbc","117ffeecf6c55e25b6446f449ad079029b5e7317399b0a693858faaaea5ca73e","0dc6940ff35d845686a118ee7384713a84024d60ef26f25a2f87992ec7ddbd64","b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","d2a38ad7bb4676e7fd5d058a08105d81ac232c363ee56be0b401fc277d50dbb1","2ac2e08e0d0ed266849cb9da521c3be170a8bc111d25eeeb668c7dbf0ac4171a","34118be360cdd3381bbebbfd4b093c394460c8fc5df40688d58f45d86ab1448b","5c45abf1e13e4463eacfd5dedda06855da8748a6a6cb3334f582b52e219acc04","6847334317c1bc1e6fc4b679b0095bbd2b6ee3b85fe3f26fc26bac462f68ef5e","2125380d127f602090671355ecc9f021caf3af71b79c7c9fbc8cfd9cfec45b10","6fbd58e4015b9ae31ea977d4d549eb24a1102cc798b57ec5d70868b542c06612","c269a12e83c5ffc0332b1f245008e4e621e483dd2f8b9b77fc6a664fcde4969d","2a7ad1b3e7a4d6d1f1553dbe7adc3a551fd9e89e9476be189cc7a4656434fcd0","f6e181e29e741335deaba1ee7725b870195530feb6473207cf7b113537f9f006","c5030b12bdf83822f84e9c75a72aa1e472ddeae31d601224682148e94ddbab79","e9cb1d36a841514dc4fb5467fc4877b7fe5a0028744f304579ca2ba5c9568a22","7b9073ff2479acee0f3a209b0347b1cdbba346f30e7a8b1bb6313efc0858d256",{"version":"62d672ea9241ab3ebf5fb5ccc2a7c7606afe21620a86e1fcb42cf0126f6de473","affectsGlobalScope":true},"59168b33ba10062538dfb2ffe2bf9a22db5efee87abc7496c25018561afa8835","68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","9b792a2f6ce65a166cda560290a73583284d6eb74e8ee5d2c260f25b56fb2b1f","72dff7d18139f0d579db7e4b904fb39f5740423f656edc1f84e4baa936b1fac0","febcc45f9517827496659c229a21b058831eef4cf9b71b77fd9a364ae12c3b9e","f2a60d253f7206372203b736144906bf135762100a2b3d1b415776ebf6575d07",{"version":"fa4546e9b67dbdcc0fa8d8653c6b89d49b9e7b637b3340bea78107ca161595fa","affectsGlobalScope":true},"9dffc5c0859e5aeba5e40b079d2f5e8047bdff91d0b3477d77b6fb66ee76c99d","1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","446b5dbbcbd8b9b1676f0ed77cb6bcd0d3adec82feddfd2f9d99ce9174126bd3","958a27d41459d5ddd063395939f3bb0d7ec572abb0910a7e08a78449c373a5e5","ec23015a76ece38b793e11e06076a845dc0fbd03aa0f17fbec6ee79c4132aa23","19f1159e1fa24300e2eaf72cb53f0815f5879ec53cad3c606802f0c55f0917e9","963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","d5cc62a1ea18ae21ed31be6d7ebd6e2d16c7d0d04230a77e3d6f297c1467d1b8","3f841292a135503a4cc1a9029af59dae135595810cfad5ca62ec1b2ad9846e8e","7e8d3f08435ad2cefe67f58182618bfc9a0a29db08cf2544b94cbcae754a9bd9","6ec1175abe593c70bccb98035b7f5949241624a27641f35665f2bf891a411c06","035b066d64d4d8de14908123f5e36a647688a428891748bf96b50312580d3049","32c82ad8bb67e92ab093e6fb20dbd84e3c3dcf1737645c9612035d41e17ce334",{"version":"fab7e642480027e174565250294ba8eeeacbf7faa31c565472384bbad2deba01","affectsGlobalScope":true},"9e4b070b543d91d0b321a481e1119e99bb8f136f4ef271d7b5ba264919fc32e2","89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6",{"version":"271cde49dfd9b398ccc91bb3aaa43854cf76f4d14e10fed91cbac649aa6cbc63","affectsGlobalScope":true},"2bcecd31f1b4281710c666843fc55133a0ee25b143e59f35f49c62e168123f4b","a6273756fa05f794b64fe1aff45f4371d444f51ed0257f9364a8b25f3501915d","9c4e644fe9bf08d93c93bd892705842189fe345163f8896849d5964d21b56b78","25d91fb9ed77a828cc6c7a863236fb712dafcd52f816eec481bd0c1f589f4404","4cd14cea22eed1bfb0dc76183e56989f897ac5b14c0e2a819e5162eafdcfe243","8d32432f68ca4ce93ad717823976f2db2add94c70c19602bf87ee67fe51df48b",{"version":"0bd5e7096c7bc02bf70b2cc017fc45ef489cb19bd2f32a71af39ff5787f1b56a","affectsGlobalScope":true},"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","9ed09d4538e25fc79cefc5e7b5bfbae0464f06d2984f19da009f85d13656c211","b1bf87add0ccfb88472cd4c6013853d823a7efb791c10bb7a11679526be91eda",{"version":"b59234a9a1f790bb32f382fa1e22789983e85d724d6d569dca68d0bd42032803","affectsGlobalScope":true},"a7ca2a9e61286d74bc37fe64e5dcd7da04607f7f5432f7c651b47b573fc76cef","ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","8b32d4ac53ebe9c98c51593282052b2d9ad589788b254d573ed357faec6c8b5a","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"46894b2a21a60f8449ca6b2b7223b7179bba846a61b1434bed77b34b2902c306","affectsGlobalScope":true},"117816592ad26d78651f5e8322ea571fd8d413d8d3b7d79944d27468e2636989","a8d630427635fa316e57fa4949132acde9cf23aa067220bffea30612497824cc","7a1dd1e9c8bf5e23129495b10718b280340c7500570e0cfe5cffcdee51e13e48","3411c785dbe8fd42f7d644d1e05a7e72b624774a08a9356479754999419c3c5a","8fb8fdda477cd7382477ffda92c2bb7d9f7ef583b1aa531eb6b2dc2f0a206c10","66995b0c991b5c5d42eff1d950733f85482c7419f7296ab8952e03718169e379","33f3795a4617f98b1bb8dac36312119d02f31897ae75436a1e109ce042b48ee8","2850c9c5dc28d34ad5f354117d0419f325fc8932d2a62eadc4dc52c018cd569b","c753948f7e0febe7aa1a5b71a714001a127a68861309b2c4127775aa9b6d4f24","3e7a40e023e1d4a9eef1a6f08a3ded8edacb67ae5fce072014205d730f717ba5","a77be6fc44c876bc10c897107f84eaba10790913ebdcad40fcda7e47469b2160","382100b010774614310d994bbf16cc9cd291c14f0d417126c7a7cfad1dc1d3f8","91f5dbcdb25d145a56cffe957ec665256827892d779ef108eb2f3864faff523b","4fdf56315340bd1770eb52e1601c3a98e45b1d207202831357e99ce29c35b55c","927955a3de5857e0a1c575ced5a4245e74e6821d720ed213141347dd1870197f","be6fd74528b32986fbf0cd2cfa9192a5ed7f369060b32a7adcb0c8d055708e61","03c258e060b7da220973f84b89615e4e9850e9b5d30b3a8e4840b3e3268ae8eb","fd0589ca571ad090b531d8c095e26caa53d4825c64d3ff2b2b1ab95d72294175",{"version":"669843ecafb89ae1e944df06360e8966219e4c1c34c0d28aa2503272cdd444a7","affectsGlobalScope":true},"01874fd864224a92c6e93a431f432ee6a2bb30c9da41bbb9b3030fd6891fa032","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","0bf811dcbddc95e2551f704cfd2afc267bf619f8b8f2b7bdbb94df96ec3cbfe3","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","b8442e9db28157344d1bc5d8a5a256f1692de213f0c0ddeb84359834015a008c","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","68a0d0c508e1b6d8d23a519a8a0a3303dc5baa4849ca049f21e5bad41945e3fc","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","9f5facc676e5b68d245c6cc8dde362af523b72a1c48322ae074572281dbedcf5","7605dd065ecbd2d8ff5f80a0b3813fc163ed593f4f24f3b6f6a7e98ac0e2157f","e94978cb99bbc9a309e8a983551bd1c5980b360a4cc0232e5a8c3eed66fb4359","5c50a61c09fa0ddd49c51d7d5dbb8b538f6afec86572ec8cb31c3d176f073f13","5f38875f76655b0854a2aae14366917ce964465e04a03549196acca471708569","34c9586a50d2caca5c57c5b9e802a46b25b97e8e45a450c19974eed661664713","1463e5003d2aa04b7ca10995b449907988d193a5461b2c240fbe15c41b2356ba","9beb1014927166017e49ed264a564350d28e8bc48b84044efc763b7e213709cb","d20ce755a4a75cf7817a2132b7d0eb69d22cc6d094fe89389d8601f48fcb1ba9","804ac921610cb59549fb70a25a60d6e074fa14f3c0b6fdfa1abe32db71889e40","0e60e0cbf2283adfd5a15430ae548cd2f662d581b5da6ecd98220203e7067c70","5339f84dfcb7b04aa1c2b4d7713d6128039381447f07abc2e48d36685e2eef44","fb35a61a39c933d31b5b2549d906b2c932a1486622958586f662dbd4b2fe72e6","24e2728268be1ad2407bab004549d2753a49b2acb0f117a04c4e28ffb3ecdd4f","aff159b14eba59afe98a88fe6f57881ba02895fb9763512dda9083497bdcd0e6","6eb0f0a3e3774e1bde7e234eb8f4df875d1588de267ed91dce7aff84c4e5cf1e","1a83b9666a25134feb225c42a615f47518c073546e5338e8a1b49fd982c4c7d6","865c35f7d1a47be9b9cc3f807b01996bbd357d54f04179fb6b2517a47c6aee4e","dbca55391ae7dc370e10e2b5367af19a376267d8e7abf9eddcadb19293711396","46afbf46c3d62eac2afead3a2011d506637bf4f2c05e1fd64bbf7e2bb2947b7c","02f634f868780eaaff5e2d3fb4570dac8e7f018a8650bb9a0ac1deb4915df8d1","85d3aa95b0086752d2f7784d2bdaeb38f99c3cf6c35bee861702beb68556cb9e","fbed01082a956f6da070f76245a7838c0de90032e75cc1568d76c834df6eacb1","6d09838b65c3c780513878793fc394ae29b8595d9e4729246d14ce69abc71140","202f8582ee3cd89e06c4a17d8aabb925ff8550370559c771d1cc3ec3934071c2","f313731860257325f13351575f381fef333d4dfe30daf5a2e72f894208feea08","951b37f7d86f6012f09e6b35f1de57c69d75f16908cb0adaa56b93675ea0b853","a45efe8e9134ef64a5e3825944bc16fffaf130b82943844523d7a7f7c1fd91b2","969aa6509a994f4f3b09b99d5d29484d8d52a2522e133ef9b4e54af9a3e9feaf","f1ceb4cbff7fc122b13f8a43e4d60e279a174c93420b2d2f76a6c8ce87934d7f","45b6a651b5e502cdfa93dc2f23779752def4ada323ebcfc34e4a4d22e9589971","54f1d17f9f484650cd49b53d9a6ba75593955a9ead093628888a37407b6ecd51","b0f9ef6423d6b29dde29fd60d83d215796b2c1b76bfca28ac374ae18702cfb8e","169cc96316cacf8b489aaab4ac6bcef7b33e8779a8902bce57c737b4aa372d16","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","4340936f4e937c452ae783514e7c7bbb7fc06d0c97993ff4865370d0962bb9cf","61c8bc34c74a36193673b422d2f405db71d653335e7a59b9225dc1fec6fa6ef5","8b5402ae709d042c3530ed3506c135a967159f42aed3221267e70c5b7240b577","6825eb4d1c8beb77e9ed6681c830326a15ebf52b171f83ffbca1b1574c90a3b0","1741975791f9be7f803a826457273094096e8bba7a50f8fa960d5ed2328cdbcc","6ec0d1c15d14d63d08ccb10d09d839bf8a724f6b4b9ed134a3ab5042c54a7721","75dabc9afdb451a85e6d46e9ca65ec82ead2256476c0686f671f3421923667a7","ddfc215bfbddf5854d80ab8fb0256bd802f2a8acb6be62f9e630041266d56cd5","2c3bcb8a4ea2fcb4208a06672af7540dd65bf08298d742f041ffa6cbe487cf80","1cce0460d75645fc40044c729da9a16c2e0dabe11a58b5e4bfd62ac840a1835d","c784a9f75a6f27cf8c43cc9a12c66d68d3beb2e7376e1babfae5ae4998ffbc4a","feb4c51948d875fdbbaa402dad77ee40cf1752b179574094b613d8ad98921ce1","a6d3984b706cefe5f4a83c1d3f0918ff603475a2a3afa9d247e4114f18b1f1ef","b457d606cabde6ea3b0bc32c23dc0de1c84bb5cb06d9e101f7076440fc244727","9d59919309a2d462b249abdefba8ca36b06e8e480a77b36c0d657f83a63af465","9faa2661daa32d2369ec31e583df91fd556f74bcbd036dab54184303dee4f311","b08de5693ec0119e033ced692f3ad0c0449c7331fd1d84033ea9b4b22e7f269c","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","e8ea5b1af91c43d23ef9725a5f811c57baea20eebb42a7ff0c711a8aec93916f","8964d95b7c508c9f81172453adfe5b5ebde521dce7db81ea93c4085e1bd9d44c","ea49c58e2baeb4e47a099f58d0277425c6dccafd2ae8f10a5f6d58abd341e035","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377","5f2c582b9ef260cb9559a64221b38606378c1fabe17694592cdfe5975a6d7efa",{"version":"fbb0e0702158969fb0c0d8b919686026b8a1ee88a4c1bd085aedb7a59ae83908","affectsGlobalScope":true},"5c501070be863bf1e02a000b308c350c4179a59b429f83380fc82c817e7e413f","9c4b25ca99b905f11599dd30dc7f20819cd8a71618c06a4e6db58f74fb775879","03c92769f389dbd9e45232f7eb01c3e0f482b62555aaf2029dcbf380d5cee9e4","feac0f8faa1eee576584b1a20fae6d5ac254ffd4ac1227fab5da2f44a97068a6","d7c30ea636d7d7cbeba0795baa8ec1bbd06274bd19a23ec0d7c84d0610a5f0c7","c271193e426325d9acab2f99997bb9f5f2dff850ec8c7c011c5abafe5af83b5f","70a29119482d358ab4f28d28ee2dcd05d6cbf8e678068855d016e10a9256ec12","869ac759ae8f304536d609082732cb025a08dcc38237fe619caf3fcdd41dde6f","0ea900fe6565f9133e06bce92e3e9a4b5a69234e83d40b7df2e1752b8d2b5002","e5408f95ca9ac5997c0fea772d68b1bf390e16c2a8cad62858553409f2b12412","3c1332a48695617fc5c8a1aead8f09758c2e73018bd139882283fb5a5b8536a6","9260b03453970e98ce9b1ad851275acd9c7d213c26c7d86bae096e8e9db4e62b","083838d2f5fea0c28f02ce67087101f43bd6e8697c51fd48029261653095080c","969132719f0f5822e669f6da7bd58ea0eb47f7899c1db854f8f06379f753b365","94ca5d43ff6f9dc8b1812b0770b761392e6eac1948d99d2da443dc63c32b2ec1","2cbc88cf54c50e74ee5642c12217e6fd5415e1b35232d5666d53418bae210b3b","ccb226557417c606f8b1bba85d178f4bcea3f8ae67b0e86292709a634a1d389d","5ea98f44cc9de1fe05d037afe4813f3dcd3a8c5de43bdd7db24624a364fad8e6","5260a62a7d326565c7b42293ed427e4186b9d43d6f160f50e134a18385970d02","0b3fc2d2d41ad187962c43cb38117d0aee0d3d515c8a6750aaea467da76b42aa","ed219f328224100dad91505388453a8c24a97367d1bc13dcec82c72ab13012b7","6847b17c96eb44634daa112849db0c9ade344fe23e6ced190b7eeb862beca9f4","d479a5128f27f63b58d57a61e062bd68fa43b684271449a73a4d3e3666a599a7","6f308b141358ac799edc3e83e887441852205dc1348310d30b62c69438b93ca0",{"version":"d204bd5d20ca52a553f7ba993dc2a422e9d1fce0b8178ce2bfe55fbd027c11ae","affectsGlobalScope":true},"7ed8a817989d55241e710dd80af79d02004ca675ad73d92894c0d61248ad423d","e96bf049eddf63afdeb475f9fcad4f87e43a400a53ec7dfba3fe62911878e821","7ac7ef12f7ece6464d83d2d56fea727260fb954fdd51a967e94f97b8595b714b","14517e48b73c838782284d6a55b9966df57cccf8c257e70ee6eb382984ee598c","1d4bc73751d6ec6285331d1ca378904f55d9e5e8aeaa69bc45b675c3df83e778","1cfafc077fd4b420e5e1c5f3e0e6b086f6ea424bf96a6c7af0d6d2ef2b008a81","8017277c3843df85296d8730f9edf097d68d7d5f9bc9d8124fcacf17ecfd487e","5aca5a3bc07d2e16b6824a76c30378d6fb1b92e915d854315e1d1bd2d00974c9","199f9ead0daf25ae4c5632e3d1f42570af59685294a38123eef457407e13f365","c73834a2aee5e08dea83bd8d347f131bc52f9ec5b06959165c55ef7a544cae82","4ef960df4f672e93b479f88211ed8b5cfa8a598b97aafa3396cacdc3341e3504",{"version":"4765f14e110016c2e09d6e9f507503f815dca4adcb67b5b47bb7a7938874691e","affectsGlobalScope":true},"5b5337f28573ffdbc95c3653c4a7961d0f02fdf4788888253bf74a3b5a05443e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","85f8ebd7f245e8bf29da270e8b53dcdd17528826ffd27176c5fc7e426213ef5a","ddef25f825320de051dcb0e62ffce621b41c67712b5b4105740c32fd83f4c449","1b3dffaa4ca8e38ac434856843505af767a614d187fb3a5ef4fcebb023c355aa","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","1f4ae755492a669b317903a6b1664cb7af3fe0c3d1eec6447f4e95a80616d15a","6dd20f5b39d29f0dabf7798cdbf772c03c5d6721e60a09e7706afddf5599fad9","a0371a3673b043959143ecba86874ad0d53b5241189c4321cafb0b7f0cb8198d","966e5379af55eb4be9366a43b5e589e82a77de5b4ee2eaf5dff84318b32546b6","24bd01a91f187b22456c7171c07dbf44f3ad57ebd50735aab5c13fa23d7114b4","4738eefeaaba4d4288a08c1c226a76086095a4d5bcc7826d2564e7c29da47671","306ddef3b9b2b1607fd3b093a3b169f19c704c6451a42a7245995c37652935aa","8f75e211a2e83ff216eb66330790fb6412dcda2feb60c4f165c903cf375633ee","dbe69644ab6e699ad2ef740056c637c34f3348af61d3764ff555d623703525db","2c2a746435ff3d3ec4ef1006d51922ed71d969e16a8c949ab3251e3f7db5f19d","1b096ca6b209d1fed9ce68edd110ff6de8bec4fab2689d2adc481ffc1b1dc20b","9c02f12da30d30dd5f5ccaeedfb9b925ed4e5114059e9be6ed2ecf87a492fd16","8c8f8e816a38f1a0cc2dd3813d3bede2d773df36e72f4cb55d9daabd22016925","4e22b9ea2805fec5f3c120146a690e5604a3117dbdee648c85393f58422eec16","ee9ac9f006589ed36c7229b3c1614bd339d1fe009cb20a85d16b4f60f0c5cddf","61f41da9aaa809e5142b1d849d4e70f3e09913a5cb32c629bf6e61ef27967ff7","7d2b7fe4adb76d8253f20e4dbdce044f1cdfab4902ec33c3604585f553883f7d","9eb48a18d9d78d2dc2683bfb79d083954d13cf066d9579cbdb8652b86601fbd7","2f4f96af192dc44a12bf238bcc08ebac498c9073f459740f6497fe0f8e1a432c","c5b3da7e2ecd5968f723282aba49d8d1a2e178d0afe48998dad93f81e2724091","efd2860dc74358ffa01d3de4c8fa2f966ae52c13c12b41ad931c078151b36601","09acacae732e3cc67a6415026cfae979ebe900905500147a629837b790a366b3","72154a9d896b0a0aed69fd2a58aa5aa8ab526078a65ff92f0d3c2237e9992610","99236ea5c4c583082975823fd19bcce6a44963c5c894e20384bc72e7eccf9b03","f6688a02946a3f7490aa9e26d76d1c97a388e42e77388cbab010b69982c86e9e","b027979b9e4e83be23db2d81e01d973b91fefe677feb93823486a83762f65012","346599d03c24e6a35ae9e25b639e63c351dc8c7146019648f0ced0e710924073","2667c74200427135a2ff0a5f4f7cb6044bf483318a5c30e5d9eccdbfe372a529","f7163a5d37d21f636f6a5cd1c064ce95fada21917859a64b6cc49a8b6fd5c1a8","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e"],"root":[244],"options":{"allowSyntheticDefaultImports":true,"composite":true,"module":99,"skipLibCheck":true},"fileIdsList":[[346,363,375,406,661],[374,375,376,661],[346,373,406,661],[346,361,374,406,661],[352,363,364,365,366,368,369,370,373,374,375,376,377,406,661],[362,363,366,373,374,406,661],[661],[346,661],[346,365,366,373,406,661],[346,363,366,368,373,376,406,444,661],[346,366,369,372,374,406,661],[444,661],[346,363,366,369,370,374,406,661],[346,364,365,373,374,376,406,661],[346,365,366,369,371,406,444,661],[346,378,406,414,424,437,438,439,441,661],[347,366,378,406,414,424,425,434,435,437,438,439,441,442,443,661],[346,378,406,414,438,442,661],[374,378,406,425,435,436,438,439,440,661],[346,378,414,425,435,438,439,440,441,661],[346,378,406,414,425,436,437,438,439,441,442,661],[346,361,378,406,414,425,435,436,437,439,441,661],[346,361,378,414,438,441,661],[346,352,414,424,434,661],[406,407,661],[408,661],[352,407,408,409,410,411,412,413,661],[346,406,444,661],[414,417,661],[352,415,416,417,418,419,420,421,422,423,661],[380,414,661],[417,661],[346,406,414,661],[414,661],[352,661],[406,661],[352,426,427,428,429,430,431,432,433,661],[385,661],[346,414,661],[384,661],[401,661],[349,350,351,661],[347,348,661],[346,355,661],[352,353,354,355,356,357,358,359,360,379,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,401,402,403,404,405,661],[382,661],[380,381,661],[378,661],[400,661],[232,661],[534,661],[659,661],[653,655,661],[643,653,654,656,657,658,661],[653,661],[643,653,661],[644,645,646,647,648,649,650,651,652,661],[644,648,649,652,653,656,661],[644,645,646,647,648,649,650,651,652,653,654,656,657,661],[643,644,645,646,647,648,649,650,651,652,661],[170,497,661],[105,139,661],[445,446,447,448,661],[424,444,445,446,661],[232,233,234,235,236,661],[232,234,661],[139,661],[105,139,453,661],[96,139,661],[102,105,131,139,457,458,459,661],[131,139,467,661],[105,139,453,476,477,661],[105,661],[91,139,661],[483,661],[482,661],[488,661],[170,172,497,661],[169,170,171,497,661],[102,105,139,464,465,466,661],[454,465,467,475,661],[102,103,139,501,661],[103,139,661],[105,346,476,507,508,661],[512,661],[514,520,661],[515,516,517,518,519,661],[520,661],[525,661],[102,105,107,110,120,131,139,661],[529,661],[530,661],[536,539,661],[102,134,139,556,557,559,661],[558,661],[95,139,661],[102,139,661],[507,661],[102,105,106,110,116,131,139,245,469,472,477,478,505,506,661],[576,661],[564,566,567,568,569,570,571,572,573,574,575,576,661],[564,565,567,568,569,570,571,572,573,574,575,576,661],[565,566,567,568,569,570,571,572,573,574,575,576,661],[564,565,566,568,569,570,571,572,573,574,575,576,661],[564,565,566,567,569,570,571,572,573,574,575,576,661],[564,565,566,567,568,570,571,572,573,574,575,576,661],[564,565,566,567,568,569,571,572,573,574,575,576,661],[564,565,566,567,568,569,570,572,573,574,575,576,661],[564,565,566,567,568,569,570,571,573,574,575,576,661],[564,565,566,567,568,569,570,571,572,574,575,576,661],[564,565,566,567,568,569,570,571,572,573,575,576,661],[564,565,566,567,568,569,570,571,572,573,574,576,661],[564,565,566,567,568,569,570,571,572,573,574,575,661],[596,661],[589,661],[588,590,592,593,597,661],[590,591,594,661],[588,591,661],[590,592,594,661],[588,589,591,592,593,594,595,661],[588,594,661],[590,661],[120,139,598,661],[600,661],[606,661],[602,603,604,605,661],[607,608,661],[105,131,139,611,612,661],[53,661],[89,661],[90,95,123,661],[91,102,103,110,120,131,661],[91,92,102,110,661],[93,132,661],[94,95,103,111,661],[95,120,128,661],[96,98,102,110,661],[97,661],[98,99,661],[102,661],[100,102,661],[89,102,661],[102,103,104,120,131,661],[102,103,104,117,120,123,661],[87,90,136,661],[98,102,105,110,120,131,661],[102,103,105,106,110,120,128,131,661],[105,107,120,128,131,661],[53,54,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,661],[102,108,661],[109,131,136,661],[98,102,110,120,661],[111,661],[112,661],[89,113,661],[114,130,136,661],[115,661],[116,661],[102,117,118,661],[117,119,132,134,661],[90,102,120,121,122,123,661],[90,120,122,661],[120,121,661],[123,661],[124,661],[89,120,661],[102,126,127,661],[126,127,661],[95,110,120,128,661],[129,661],[110,130,661],[90,105,116,131,661],[95,132,661],[120,133,661],[109,134,661],[135,661],[90,95,102,104,113,120,131,134,136,661],[120,137,661],[139,616,618,622,623,624,625,626,627,661],[120,139,661],[102,139,616,618,619,621,628,661],[102,110,120,131,139,615,616,617,619,620,621,628,661],[120,139,618,619,661],[120,139,618,620,661],[139,616,618,619,621,628,661],[120,139,620,661],[102,110,120,128,139,617,619,621,661],[102,139,616,618,619,620,621,628,661],[102,120,139,616,617,618,619,620,621,628,661],[102,120,139,616,618,619,621,628,661],[105,120,139,621,661],[105,131,139,661],[634,661],[635,661],[476,636,637,661],[476,562,639,661],[105,476,630,636,661],[476,636,661],[105,476,661],[525,660,661,662],[520,525,661,666],[520,525,661],[521,522,523,524,661],[105,120,139,661],[661,674,713],[661,674,698,713],[661,713],[661,674],[661,674,699,713],[661,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712],[661,699,713],[103,120,139,463,661],[103,476,661],[105,139,472,474,661],[473,661],[474,661],[661,723],[471,609,661,718,720,724],[90,103,105,106,107,110,120,131,609,661,719,720,721,722],[90,103,661,719,720],[661,719],[661,724],[661,727,728],[170,497,661,727],[170,497,661,728],[661,734,735,736,737,738,739,740,741,742],[661,743],[128,139,661],[102,105,107,120,128,131,137,139,661],[661,746],[52,167,661],[50,51,661],[50,661],[532,538,661],[255,443,661],[248,249,255,256,661],[257,321,322,661],[248,255,257,661],[249,257,661],[248,250,251,252,255,257,260,261,661],[251,262,276,277,661],[248,255,260,261,262,661],[248,250,255,257,259,260,261,661],[248,249,260,261,262,661],[247,263,268,275,278,279,320,323,345,661],[248,661],[249,253,254,661],[249,253,254,255,256,258,269,270,271,272,273,274,661],[249,254,255,661],[249,661],[248,249,254,255,257,270,661],[255,661],[249,255,256,661],[253,255,661],[262,276,661],[248,250,251,252,255,260,661],[248,255,258,261,661],[251,259,260,261,264,265,266,267,661],[261,661],[248,250,255,257,259,261,661],[257,260,661],[257,661],[248,255,261,661],[249,255,260,271,661],[260,324,661],[257,261,661],[255,260,661],[260,661],[248,258,661],[248,255,661],[255,260,261,661],[280,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,661],[260,261,661],[250,255,661],[248,255,259,260,261,273,661],[248,250,255,261,661],[248,250,255,661],[281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,661],[273,281,661],[281,661],[248,255,257,260,280,281,661],[248,255,257,259,260,261,273,280,661],[536,661],[533,537,661],[545,661],[544,545,661],[544,661],[544,545,546,548,549,552,553,554,555,661],[545,549,661],[544,545,546,548,549,550,551,661],[544,549,661],[549,553,661],[545,546,547,661],[546,661],[544,545,549,661],[160,661],[158,160,661],[149,157,158,159,161,661],[147,661],[150,155,160,163,661],[146,163,661],[150,151,154,155,156,163,661],[150,151,152,154,155,163,661],[147,148,149,150,151,155,156,157,159,160,161,163,661],[163,661],[145,147,148,149,150,151,152,154,155,156,157,158,159,160,161,162,661],[145,163,661],[150,152,153,155,156,163,661],[154,163,661],[155,156,160,163,661],[148,158,661],[230,661],[535,661],[525,660,661],[145,661],[64,68,131,661],[64,120,131,661],[59,661],[61,64,128,131,661],[110,128,661],[59,139,661],[61,64,110,131,661],[56,57,60,63,90,102,120,131,661],[56,62,661],[60,64,90,123,131,139,661],[90,139,661],[80,90,139,661],[58,59,139,661],[64,661],[58,59,60,61,62,63,64,65,66,68,69,70,71,72,73,74,75,76,77,78,79,81,82,83,84,85,86,661],[64,71,72,661],[62,64,72,73,661],[63,661],[56,59,64,661],[64,68,72,73,661],[68,661],[62,64,67,131,661],[56,61,62,64,68,71,661],[90,120,661],[59,64,80,90,136,139,661],[175,225,661],[136,167,172,175,225,226,227,661],[136,167,172,175,225,226,661],[167,229,240,661],[235,237,661],[237,238,661],[231,237,239,661],[167,242,661],[167,661],[102,103,105,106,107,110,120,128,131,137,139,140,141,142,143,144,164,165,166,661],[140,166,661],[142,661],[140,661],[178,179,180,181,182,184,185,186,187,661],[180,181,661],[179,180,181,182,185,186,661],[179,184,661],[180,661],[179,181,183,184,188,661],[179,181,183,184,661],[180,183,661],[91,110,139,184,188,661],[219,661],[177,188,189,205,206,661],[188,189,661],[188,661],[177,188,189,205,661],[188,189,205,661],[177,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,661],[177,188,189,661],[189,205,661],[139,207,220,661],[221,661],[207,208,212,217,661],[207,217,661],[207,208,209,210,211,212,213,214,215,216,661],[139,176,217,218,222,223,661],[224,661],[173,174,661],[173,661],[167,168,228,241,243,661]],"referencedMap":[[376,1],[363,2],[374,3],[375,4],[378,5],[364,6],[367,7],[365,8],[377,9],[369,10],[370,7],[373,11],[368,12],[371,13],[366,14],[372,15],[442,16],[444,17],[437,18],[425,7],[441,19],[436,20],[440,21],[438,22],[439,23],[435,24],[348,7],[408,25],[412,26],[409,26],[413,26],[410,26],[414,27],[411,26],[407,28],[418,7],[421,29],[419,7],[422,29],[424,30],[415,31],[423,32],[417,33],[420,34],[416,35],[431,34],[433,8],[426,36],[428,36],[434,37],[429,7],[427,36],[432,34],[430,34],[392,7],[394,7],[386,7],[395,38],[393,39],[399,34],[396,7],[387,7],[385,40],[398,12],[384,7],[402,41],[397,7],[403,36],[351,7],[352,42],[349,43],[350,7],[353,8],[354,8],[355,8],[356,8],[360,12],[357,8],[358,44],[359,8],[406,45],[389,46],[390,46],[388,46],[382,47],[391,46],[379,48],[383,7],[401,49],[405,49],[404,7],[400,7],[234,50],[232,7],[361,8],[532,7],[535,51],[660,52],[656,53],[643,7],[659,54],[652,55],[650,56],[649,56],[648,55],[645,56],[646,55],[654,57],[647,56],[644,55],[651,56],[657,58],[658,59],[653,60],[655,56],[229,61],[534,7],[50,7],[245,62],[246,61],[449,63],[447,64],[445,7],[446,7],[448,7],[450,7],[237,65],[233,50],[235,66],[236,50],[451,67],[452,67],[454,68],[455,69],[456,7],[460,70],[461,7],[462,7],[468,71],[453,62],[469,7],[470,7],[471,7],[478,72],[479,73],[480,74],[481,7],[482,7],[485,7],[484,75],[486,76],[487,7],[483,7],[489,77],[490,7],[491,7],[492,7],[493,7],[494,7],[495,7],[496,78],[169,7],[172,79],[497,61],[170,7],[467,80],[476,81],[498,7],[499,7],[500,7],[502,82],[503,83],[504,8],[509,84],[510,7],[511,7],[513,85],[512,7],[515,86],[516,86],[517,86],[514,7],[520,87],[518,88],[519,88],[526,89],[527,7],[505,7],[458,7],[472,7],[528,90],[529,7],[530,91],[531,92],[540,93],[541,7],[542,7],[543,7],[558,94],[559,95],[171,7],[560,7],[561,7],[562,96],[477,7],[563,97],[506,98],[507,99],[577,100],[578,100],[579,100],[580,100],[581,100],[582,100],[583,100],[584,100],[585,100],[586,100],[565,101],[566,102],[564,103],[567,104],[568,105],[569,106],[570,107],[571,108],[572,109],[573,110],[574,111],[575,112],[576,113],[587,7],[597,114],[590,115],[594,116],[592,117],[595,118],[593,119],[596,120],[591,7],[589,121],[588,122],[599,123],[601,124],[603,7],[602,7],[605,125],[606,126],[604,125],[608,127],[607,7],[609,7],[610,7],[463,7],[501,7],[488,7],[612,7],[613,128],[614,67],[53,129],[54,129],[89,130],[90,131],[91,132],[92,133],[93,134],[94,135],[95,136],[96,137],[97,138],[98,139],[99,139],[101,140],[100,141],[102,142],[103,143],[104,144],[88,145],[138,7],[105,146],[106,147],[107,148],[139,149],[108,150],[109,151],[110,152],[111,153],[112,154],[113,155],[114,156],[115,157],[116,158],[117,159],[118,159],[119,160],[120,161],[122,162],[121,163],[123,164],[124,165],[125,166],[126,167],[127,168],[128,169],[129,170],[130,171],[131,172],[132,173],[133,174],[134,175],[135,176],[136,177],[137,178],[628,179],[615,180],[622,181],[618,182],[616,183],[619,184],[623,185],[624,181],[621,186],[620,187],[625,188],[626,189],[627,190],[617,191],[629,7],[630,192],[631,7],[632,7],[633,7],[635,193],[634,194],[638,195],[640,196],[637,197],[639,198],[636,199],[641,7],[642,7],[523,7],[465,7],[466,7],[663,200],[664,89],[665,89],[667,201],[668,201],[666,202],[521,7],[525,203],[669,7],[459,204],[670,7],[671,180],[672,7],[524,7],[673,7],[698,205],[699,206],[674,207],[677,207],[696,205],[697,205],[687,205],[686,208],[684,205],[679,205],[692,205],[690,205],[694,205],[678,205],[691,205],[695,205],[680,205],[681,205],[693,205],[675,205],[682,205],[683,205],[685,205],[689,205],[700,209],[688,205],[676,205],[713,210],[712,7],[707,209],[709,211],[708,209],[701,209],[702,209],[704,209],[706,209],[710,211],[711,211],[703,211],[705,211],[464,212],[714,213],[475,214],[474,215],[473,216],[715,62],[716,7],[717,7],[724,217],[718,7],[721,218],[723,219],[719,204],[722,220],[720,221],[725,222],[726,7],[729,223],[728,224],[727,225],[730,7],[557,7],[731,62],[600,7],[732,7],[733,7],[743,226],[734,227],[735,7],[736,7],[737,7],[738,7],[739,7],[740,7],[741,7],[742,7],[744,228],[745,229],[746,7],[747,230],[168,231],[52,232],[51,233],[362,7],[55,7],[533,7],[522,7],[661,7],[539,234],[611,204],[508,180],[443,235],[257,236],[323,237],[322,238],[321,239],[262,240],[278,241],[276,242],[277,243],[263,244],[346,245],[248,7],[250,7],[251,246],[252,7],[255,247],[258,7],[275,248],[253,7],[270,249],[256,250],[271,251],[274,252],[272,252],[269,253],[249,7],[254,7],[273,254],[279,255],[267,7],[261,256],[259,257],[268,258],[265,259],[264,259],[260,260],[266,261],[342,262],[336,263],[329,264],[328,265],[337,266],[338,252],[330,267],[343,268],[324,269],[325,270],[326,271],[345,272],[327,265],[331,268],[332,273],[339,274],[340,250],[341,273],[344,252],[333,271],[280,275],[334,276],[335,277],[320,278],[318,279],[319,279],[284,279],[285,279],[286,279],[287,279],[288,279],[289,279],[290,279],[291,279],[310,279],[292,279],[293,279],[294,279],[295,279],[296,279],[297,279],[317,279],[298,279],[299,279],[300,279],[315,279],[301,279],[316,279],[302,279],[313,279],[314,279],[303,279],[304,279],[305,279],[311,279],[312,279],[306,279],[307,279],[308,279],[309,279],[283,280],[282,281],[281,282],[247,7],[598,7],[537,283],[538,284],[457,140],[546,285],[555,286],[544,7],[545,287],[556,288],[551,289],[552,290],[550,291],[554,292],[548,293],[547,294],[553,295],[549,286],[161,296],[159,297],[160,298],[148,299],[149,297],[156,300],[147,301],[152,302],[162,7],[153,303],[158,304],[164,305],[163,306],[146,307],[154,308],[155,309],[150,310],[157,296],[151,311],[230,7],[231,312],[536,313],[662,314],[145,315],[381,7],[347,7],[1,7],[48,7],[49,7],[9,7],[10,7],[14,7],[13,7],[3,7],[15,7],[16,7],[17,7],[18,7],[19,7],[20,7],[21,7],[22,7],[4,7],[5,7],[23,7],[27,7],[24,7],[25,7],[26,7],[28,7],[29,7],[30,7],[6,7],[31,7],[32,7],[33,7],[34,7],[7,7],[38,7],[35,7],[36,7],[37,7],[39,7],[8,7],[40,7],[45,7],[46,7],[41,7],[42,7],[43,7],[44,7],[2,7],[47,7],[12,7],[11,7],[71,316],[78,317],[70,316],[85,318],[62,319],[61,320],[84,67],[79,321],[82,322],[64,323],[63,324],[59,325],[58,326],[81,327],[60,328],[65,329],[66,7],[69,329],[56,7],[87,330],[86,329],[73,331],[74,332],[76,333],[72,334],[75,335],[80,67],[67,336],[68,337],[77,338],[57,339],[83,340],[226,341],[228,342],[227,343],[241,344],[238,345],[239,346],[240,347],[243,348],[242,349],[167,350],[144,7],[141,351],[140,7],[143,352],[142,7],[165,7],[166,353],[188,354],[182,355],[187,356],[180,7],[183,357],[181,358],[185,359],[179,7],[186,360],[184,361],[219,362],[220,363],[178,7],[207,364],[206,365],[189,366],[199,367],[194,367],[193,368],[205,369],[196,367],[203,370],[195,367],[190,367],[202,367],[204,371],[198,370],[197,367],[200,367],[201,370],[191,367],[192,365],[221,372],[222,373],[177,7],[223,374],[211,375],[209,375],[214,375],[215,375],[216,375],[208,375],[212,375],[217,376],[213,375],[210,375],[218,7],[224,377],[225,378],[176,7],[175,379],[173,7],[174,380],[380,7],[244,381]],"exportedModulesMap":[[376,1],[363,2],[374,3],[375,4],[378,5],[364,6],[367,7],[365,8],[377,9],[369,10],[370,7],[373,11],[368,12],[371,13],[366,14],[372,15],[442,16],[444,17],[437,18],[425,7],[441,19],[436,20],[440,21],[438,22],[439,23],[435,24],[348,7],[408,25],[412,26],[409,26],[413,26],[410,26],[414,27],[411,26],[407,28],[418,7],[421,29],[419,7],[422,29],[424,30],[415,31],[423,32],[417,33],[420,34],[416,35],[431,34],[433,8],[426,36],[428,36],[434,37],[429,7],[427,36],[432,34],[430,34],[392,7],[394,7],[386,7],[395,38],[393,39],[399,34],[396,7],[387,7],[385,40],[398,12],[384,7],[402,41],[397,7],[403,36],[351,7],[352,42],[349,43],[350,7],[353,8],[354,8],[355,8],[356,8],[360,12],[357,8],[358,44],[359,8],[406,45],[389,46],[390,46],[388,46],[382,47],[391,46],[379,48],[383,7],[401,49],[405,49],[404,7],[400,7],[234,50],[232,7],[361,8],[532,7],[535,51],[660,52],[656,53],[643,7],[659,54],[652,55],[650,56],[649,56],[648,55],[645,56],[646,55],[654,57],[647,56],[644,55],[651,56],[657,58],[658,59],[653,60],[655,56],[229,61],[534,7],[50,7],[245,62],[246,61],[449,63],[447,64],[445,7],[446,7],[448,7],[450,7],[237,65],[233,50],[235,66],[236,50],[451,67],[452,67],[454,68],[455,69],[456,7],[460,70],[461,7],[462,7],[468,71],[453,62],[469,7],[470,7],[471,7],[478,72],[479,73],[480,74],[481,7],[482,7],[485,7],[484,75],[486,76],[487,7],[483,7],[489,77],[490,7],[491,7],[492,7],[493,7],[494,7],[495,7],[496,78],[169,7],[172,79],[497,61],[170,7],[467,80],[476,81],[498,7],[499,7],[500,7],[502,82],[503,83],[504,8],[509,84],[510,7],[511,7],[513,85],[512,7],[515,86],[516,86],[517,86],[514,7],[520,87],[518,88],[519,88],[526,89],[527,7],[505,7],[458,7],[472,7],[528,90],[529,7],[530,91],[531,92],[540,93],[541,7],[542,7],[543,7],[558,94],[559,95],[171,7],[560,7],[561,7],[562,96],[477,7],[563,97],[506,98],[507,99],[577,100],[578,100],[579,100],[580,100],[581,100],[582,100],[583,100],[584,100],[585,100],[586,100],[565,101],[566,102],[564,103],[567,104],[568,105],[569,106],[570,107],[571,108],[572,109],[573,110],[574,111],[575,112],[576,113],[587,7],[597,114],[590,115],[594,116],[592,117],[595,118],[593,119],[596,120],[591,7],[589,121],[588,122],[599,123],[601,124],[603,7],[602,7],[605,125],[606,126],[604,125],[608,127],[607,7],[609,7],[610,7],[463,7],[501,7],[488,7],[612,7],[613,128],[614,67],[53,129],[54,129],[89,130],[90,131],[91,132],[92,133],[93,134],[94,135],[95,136],[96,137],[97,138],[98,139],[99,139],[101,140],[100,141],[102,142],[103,143],[104,144],[88,145],[138,7],[105,146],[106,147],[107,148],[139,149],[108,150],[109,151],[110,152],[111,153],[112,154],[113,155],[114,156],[115,157],[116,158],[117,159],[118,159],[119,160],[120,161],[122,162],[121,163],[123,164],[124,165],[125,166],[126,167],[127,168],[128,169],[129,170],[130,171],[131,172],[132,173],[133,174],[134,175],[135,176],[136,177],[137,178],[628,179],[615,180],[622,181],[618,182],[616,183],[619,184],[623,185],[624,181],[621,186],[620,187],[625,188],[626,189],[627,190],[617,191],[629,7],[630,192],[631,7],[632,7],[633,7],[635,193],[634,194],[638,195],[640,196],[637,197],[639,198],[636,199],[641,7],[642,7],[523,7],[465,7],[466,7],[663,200],[664,89],[665,89],[667,201],[668,201],[666,202],[521,7],[525,203],[669,7],[459,204],[670,7],[671,180],[672,7],[524,7],[673,7],[698,205],[699,206],[674,207],[677,207],[696,205],[697,205],[687,205],[686,208],[684,205],[679,205],[692,205],[690,205],[694,205],[678,205],[691,205],[695,205],[680,205],[681,205],[693,205],[675,205],[682,205],[683,205],[685,205],[689,205],[700,209],[688,205],[676,205],[713,210],[712,7],[707,209],[709,211],[708,209],[701,209],[702,209],[704,209],[706,209],[710,211],[711,211],[703,211],[705,211],[464,212],[714,213],[475,214],[474,215],[473,216],[715,62],[716,7],[717,7],[724,217],[718,7],[721,218],[723,219],[719,204],[722,220],[720,221],[725,222],[726,7],[729,223],[728,224],[727,225],[730,7],[557,7],[731,62],[600,7],[732,7],[733,7],[743,226],[734,227],[735,7],[736,7],[737,7],[738,7],[739,7],[740,7],[741,7],[742,7],[744,228],[745,229],[746,7],[747,230],[168,231],[52,232],[51,233],[362,7],[55,7],[533,7],[522,7],[661,7],[539,234],[611,204],[508,180],[443,235],[257,236],[323,237],[322,238],[321,239],[262,240],[278,241],[276,242],[277,243],[263,244],[346,245],[248,7],[250,7],[251,246],[252,7],[255,247],[258,7],[275,248],[253,7],[270,249],[256,250],[271,251],[274,252],[272,252],[269,253],[249,7],[254,7],[273,254],[279,255],[267,7],[261,256],[259,257],[268,258],[265,259],[264,259],[260,260],[266,261],[342,262],[336,263],[329,264],[328,265],[337,266],[338,252],[330,267],[343,268],[324,269],[325,270],[326,271],[345,272],[327,265],[331,268],[332,273],[339,274],[340,250],[341,273],[344,252],[333,271],[280,275],[334,276],[335,277],[320,278],[318,279],[319,279],[284,279],[285,279],[286,279],[287,279],[288,279],[289,279],[290,279],[291,279],[310,279],[292,279],[293,279],[294,279],[295,279],[296,279],[297,279],[317,279],[298,279],[299,279],[300,279],[315,279],[301,279],[316,279],[302,279],[313,279],[314,279],[303,279],[304,279],[305,279],[311,279],[312,279],[306,279],[307,279],[308,279],[309,279],[283,280],[282,281],[281,282],[247,7],[598,7],[537,283],[538,284],[457,140],[546,285],[555,286],[544,7],[545,287],[556,288],[551,289],[552,290],[550,291],[554,292],[548,293],[547,294],[553,295],[549,286],[161,296],[159,297],[160,298],[148,299],[149,297],[156,300],[147,301],[152,302],[162,7],[153,303],[158,304],[164,305],[163,306],[146,307],[154,308],[155,309],[150,310],[157,296],[151,311],[230,7],[231,312],[536,313],[662,314],[145,315],[381,7],[347,7],[1,7],[48,7],[49,7],[9,7],[10,7],[14,7],[13,7],[3,7],[15,7],[16,7],[17,7],[18,7],[19,7],[20,7],[21,7],[22,7],[4,7],[5,7],[23,7],[27,7],[24,7],[25,7],[26,7],[28,7],[29,7],[30,7],[6,7],[31,7],[32,7],[33,7],[34,7],[7,7],[38,7],[35,7],[36,7],[37,7],[39,7],[8,7],[40,7],[45,7],[46,7],[41,7],[42,7],[43,7],[44,7],[2,7],[47,7],[12,7],[11,7],[71,316],[78,317],[70,316],[85,318],[62,319],[61,320],[84,67],[79,321],[82,322],[64,323],[63,324],[59,325],[58,326],[81,327],[60,328],[65,329],[66,7],[69,329],[56,7],[87,330],[86,329],[73,331],[74,332],[76,333],[72,334],[75,335],[80,67],[67,336],[68,337],[77,338],[57,339],[83,340],[226,341],[228,342],[227,343],[241,344],[238,345],[239,346],[240,347],[243,348],[242,349],[167,350],[144,7],[141,351],[140,7],[143,352],[142,7],[165,7],[166,353],[188,354],[182,355],[187,356],[180,7],[183,357],[181,358],[185,359],[179,7],[186,360],[184,361],[219,362],[220,363],[178,7],[207,364],[206,365],[189,366],[199,367],[194,367],[193,368],[205,369],[196,367],[203,370],[195,367],[190,367],[202,367],[204,371],[198,370],[197,367],[200,367],[201,370],[191,367],[192,365],[221,372],[222,373],[177,7],[223,374],[211,375],[209,375],[214,375],[215,375],[216,375],[208,375],[212,375],[217,376],[213,375],[210,375],[218,7],[224,377],[225,378],[176,7],[175,379],[173,7],[174,380],[380,7],[244,381]],"semanticDiagnosticsPerFile":[376,363,374,375,378,364,367,365,377,369,370,373,368,371,366,372,442,444,437,425,441,436,440,438,439,435,348,408,412,409,413,410,414,411,407,418,421,419,422,424,415,423,417,420,416,431,433,426,428,434,429,427,432,430,392,394,386,395,393,399,396,387,385,398,384,402,397,403,351,352,349,350,353,354,355,356,360,357,358,359,406,389,390,388,382,391,379,383,401,405,404,400,234,232,361,532,535,660,656,643,659,652,650,649,648,645,646,654,647,644,651,657,658,653,655,229,534,50,245,246,449,447,445,446,448,450,237,233,235,236,451,452,454,455,456,460,461,462,468,453,469,470,471,478,479,480,481,482,485,484,486,487,483,489,490,491,492,493,494,495,496,169,172,497,170,467,476,498,499,500,502,503,504,509,510,511,513,512,515,516,517,514,520,518,519,526,527,505,458,472,528,529,530,531,540,541,542,543,558,559,171,560,561,562,477,563,506,507,577,578,579,580,581,582,583,584,585,586,565,566,564,567,568,569,570,571,572,573,574,575,576,587,597,590,594,592,595,593,596,591,589,588,599,601,603,602,605,606,604,608,607,609,610,463,501,488,612,613,614,53,54,89,90,91,92,93,94,95,96,97,98,99,101,100,102,103,104,88,138,105,106,107,139,108,109,110,111,112,113,114,115,116,117,118,119,120,122,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,628,615,622,618,616,619,623,624,621,620,625,626,627,617,629,630,631,632,633,635,634,638,640,637,639,636,641,642,523,465,466,663,664,665,667,668,666,521,525,669,459,670,671,672,524,673,698,699,674,677,696,697,687,686,684,679,692,690,694,678,691,695,680,681,693,675,682,683,685,689,700,688,676,713,712,707,709,708,701,702,704,706,710,711,703,705,464,714,475,474,473,715,716,717,724,718,721,723,719,722,720,725,726,729,728,727,730,557,731,600,732,733,743,734,735,736,737,738,739,740,741,742,744,745,746,747,168,52,51,362,55,533,522,661,539,611,508,443,257,323,322,321,262,278,276,277,263,346,248,250,251,252,255,258,275,253,270,256,271,274,272,269,249,254,273,279,267,261,259,268,265,264,260,266,342,336,329,328,337,338,330,343,324,325,326,345,327,331,332,339,340,341,344,333,280,334,335,320,318,319,284,285,286,287,288,289,290,291,310,292,293,294,295,296,297,317,298,299,300,315,301,316,302,313,314,303,304,305,311,312,306,307,308,309,283,282,281,247,598,537,538,457,546,555,544,545,556,551,552,550,554,548,547,553,549,161,159,160,148,149,156,147,152,162,153,158,164,163,146,154,155,150,157,151,230,231,536,662,145,381,347,1,48,49,9,10,14,13,3,15,16,17,18,19,20,21,22,4,5,23,27,24,25,26,28,29,30,6,31,32,33,34,7,38,35,36,37,39,8,40,45,46,41,42,43,44,2,47,12,11,71,78,70,85,62,61,84,79,82,64,63,59,58,81,60,65,66,69,56,87,86,73,74,76,72,75,80,67,68,77,57,83,226,228,227,241,238,239,240,243,242,167,144,141,140,143,142,165,166,188,182,187,180,183,181,185,179,186,184,219,220,178,207,206,189,199,194,193,205,196,203,195,190,202,204,198,197,200,201,191,192,221,222,177,223,211,209,214,215,216,208,212,217,213,210,218,224,225,176,175,173,174,380,244],"affectedFilesPendingEmit":[244],"emitSignatures":[244]},"version":"5.3.3"} \ No newline at end of file diff --git a/packages/twenty-front/tsconfig.spec.json b/packages/twenty-front/tsconfig.spec.json index 8237f6c7fa..a7f834079e 100644 --- a/packages/twenty-front/tsconfig.spec.json +++ b/packages/twenty-front/tsconfig.spec.json @@ -5,6 +5,7 @@ "types": ["jest", "node"] }, "include": [ + "vite.config.ts", "jest.config.ts", "**/*.test.ts", "**/*.test.tsx",