refactor: metadata store cleanup, SSE unification, mock metadata loading & login redirect fix (#18651)

## Summary
- **SSE unification**: Replaced 11 individual SSE effect components with
a single generic `MetadataStoreSSEEffect`
- **Metadata store cleanup**: Merged `metadataCollectionHashesState`
into `metadataStoreState` (currentCollectionHash / draftCollectionHash
per entity), moved `objectMetadataItemsSelector` to `object-metadata`
domain, converted `navigationMenuItemsState` to a derived selector
- **Naming clarity**: Renamed `isAppMetadataReadyState` →
`isMinimalMetadataReadyState`, `MetadataGater` → `MinimalMetadataGater`,
`useIsLogged` → `useHasAccessTokenPair`,
`patchMetadataStoreFromSSEEvent` now takes named object params
- **Mock metadata loading**: Added `generate-navigation-menu-items.ts`
script, rewrote `useLoadMockedMinimalMetadata` to load full
objects/fields/indexes/views/navItems from generated mock data, enabling
proper sign-in background rendering (table columns, view picker,
navigation)
- **Login/logout transitions**: `MinimalMetadataLoadEffect` manages
mocked↔real metadata transitions based on auth state,
`MainContextStoreProvider` computes context on auth pages for view
picker support
- **Login redirect fix**: `handleLoadWorkspaceAfterAuthentication` now
re-enables `isAppEffectRedirectEnabled` after `loadCurrentUser()`
completes, fixing the blocked post-login navigation
- **Dead code removal**: Deleted `useRefreshPageLayouts`,
`useApplyPageLayouts`, `useStaleMetadataEntities`,
`metadataCollectionHashesState`, and all individual SSE effects

## Test plan
- [x] Login from welcome page redirects to companies page
- [x] Logout transitions cleanly to mocked metadata on welcome page
- [x] Sign-in background shows table columns, view picker, and
navigation items
- [x] SSE events still update metadata store entries correctly
- [x] Navigation menu items persist across page refreshes
- [ ] CI: lint, typecheck, tests pass
This commit is contained in:
Charles Bochet
2026-03-16 00:38:11 +01:00
committed by GitHub
parent 06efee1eef
commit ba9aa41bba
161 changed files with 3106 additions and 4350 deletions
@@ -14,10 +14,12 @@ import { ClientConfigProviderEffect } from '@/client-config/components/ClientCon
import { ApolloCoreClientMockedProvider } from '@/object-metadata/hooks/__mocks__/ApolloCoreClientMockedProvider';
import { DefaultLayout } from '@/ui/layout/page/components/DefaultLayout';
import { MetadataGater } from '@/metadata-store/components/MetadataGater';
import { MetadataProviderInitialEffects } from '@/metadata-store/effect-components/MetadataProviderInitialEffects';
import { IsAppMetadataReadyEffect } from '@/metadata-store/effect-components/IsAppMetadataReadyEffect';
import { MinimalMetadataGater } from '@/metadata-store/components/MinimalMetadataGater';
import { UserMetadataProviderInitialEffect } from '@/metadata-store/effect-components/UserMetadataProviderInitialEffect';
import { IsMinimalMetadataReadyEffect } from '@/metadata-store/effect-components/IsMinimalMetadataReadyEffect';
import { MinimalMetadataLoadEffect } from '@/metadata-store/effect-components/MinimalMetadataLoadEffect';
import { jotaiStore } from '@/ui/utilities/state/jotai/jotaiStore';
import { useState } from 'react';
import { ClientConfigProvider } from '~/modules/client-config/components/ClientConfigProvider';
import { mockedApolloClient } from '~/testing/mockedApolloClient';
@@ -72,8 +74,10 @@ const ApolloStorybookDevLogEffect = () => {
await dynamicActivate(SOURCE_LOCALE);
const Providers = () => {
const [store] = useState(() => jotaiStore);
return (
<JotaiProvider store={jotaiStore}>
<JotaiProvider store={store}>
<SnackBarComponentInstanceContext.Provider
value={{ instanceId: 'snack-bar-manager' }}
>
@@ -82,10 +86,11 @@ const Providers = () => {
<ApolloStorybookDevLogEffect />
<ClientConfigProviderEffect />
<ClientConfigProvider>
<MetadataProviderInitialEffects />
<IsAppMetadataReadyEffect />
<UserMetadataProviderInitialEffect />
<MinimalMetadataLoadEffect />
<IsMinimalMetadataReadyEffect />
<WorkspaceProviderEffect />
<MetadataGater>
<MinimalMetadataGater>
<ApolloCoreClientMockedProvider>
<PreComputedChipGeneratorsProvider>
<FullHeightStorybookLayout>
@@ -100,7 +105,7 @@ const Providers = () => {
</PreComputedChipGeneratorsProvider>
<MainContextStoreProvider />
</ApolloCoreClientMockedProvider>
</MetadataGater>
</MinimalMetadataGater>
</ClientConfigProvider>
</I18nProvider>
</ApolloProvider>
@@ -1,14 +1,11 @@
import { type Decorator } from '@storybook/react-vite';
import { useSetAtomState } from '@/ui/utilities/state/jotai/hooks/useSetAtomState';
import { CommandMenuComponentInstanceContext } from '@/command-menu/states/contexts/CommandMenuComponentInstanceContext';
import { getCommandMenuIdFromRecordIndexId } from '@/command-menu-item/utils/getCommandMenuIdFromRecordIndexId';
import { CommandMenuComponentInstanceContext } from '@/command-menu/states/contexts/CommandMenuComponentInstanceContext';
import { MAIN_CONTEXT_STORE_INSTANCE_ID } from '@/context-store/constants/MainContextStoreInstanceId';
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
import { labelIdentifierFieldMetadataItemSelector } from '@/object-metadata/states/labelIdentifierFieldMetadataItemSelector';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { useAtomFamilySelectorValue } from '@/ui/utilities/state/jotai/hooks/useAtomFamilySelectorValue';
import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue';
import { type ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { formatFieldMetadataItemAsColumnDefinition } from '@/object-metadata/utils/formatFieldMetadataItemAsColumnDefinition';
import { RecordComponentInstanceContextsWrapper } from '@/object-record/components/RecordComponentInstanceContextsWrapper';
@@ -28,9 +25,11 @@ import { getRecordIndexIdFromObjectNamePluralAndViewId } from '@/object-record/u
import { getObjectPermissionsFromMapByObjectMetadataId } from '@/settings/roles/role-permissions/objects-permissions/utils/getObjectPermissionsFromMapByObjectMetadataId';
import { useAtomComponentSelectorValue } from '@/ui/utilities/state/jotai/hooks/useAtomComponentSelectorValue';
import { useAtomComponentStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomComponentStateValue';
import { useAtomFamilySelectorValue } from '@/ui/utilities/state/jotai/hooks/useAtomFamilySelectorValue';
import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue';
import { useSetAtomComponentState } from '@/ui/utilities/state/jotai/hooks/useSetAtomComponentState';
import { jotaiStore } from '@/ui/utilities/state/jotai/jotaiStore';
import { ViewComponentInstanceContext } from '@/views/states/contexts/ViewComponentInstanceContext';
import { coreViewsState } from '@/views/states/coreViewState';
import { type CoreViewWithRelations } from '@/views/types/CoreViewWithRelations';
import { type View } from '@/views/types/View';
import { mapViewFieldToRecordField } from '@/views/utils/mapViewFieldToRecordField';
@@ -38,6 +37,7 @@ import { useEffect, useMemo } from 'react';
import { isDefined } from 'twenty-shared/utils';
import { mockedCompanyRecords } from '~/testing/mock-data/generated/data/companies/mock-companies-data';
import { mockedCoreViews } from '~/testing/mock-data/generated/metadata/views/mock-views-data';
import { setTestCoreViewsInMetadataStore } from '~/testing/utils/setTestCoreViewsInMetadataStore';
const companyView = mockedCoreViews.find((v) => v.name === 'All Companies')!;
@@ -57,8 +57,6 @@ const InternalTableStateLoaderEffect = ({
MAIN_CONTEXT_STORE_INSTANCE_ID,
);
const setCoreViews = useSetAtomState(coreViewsState);
const setRecordTableData = useSetRecordTableData({
recordTableId,
});
@@ -81,7 +79,9 @@ const InternalTableStateLoaderEffect = ({
setCurrentRecordFields(recordFields);
setCoreViews([view as unknown as CoreViewWithRelations]);
setTestCoreViewsInMetadataStore(jotaiStore, [
view as unknown as CoreViewWithRelations,
]);
setContextStoreCurrentViewId(view.id);
}, [
@@ -91,7 +91,6 @@ const InternalTableStateLoaderEffect = ({
view,
setCurrentRecordFields,
setContextStoreCurrentViewId,
setCoreViews,
]);
return null;
@@ -1,6 +1,6 @@
import { getOperationName } from '~/utils/getOperationName';
import { parse, type FieldNode } from 'graphql';
import { graphql, http, HttpResponse, type GraphQLQuery } from 'msw';
import { getOperationName } from '~/utils/getOperationName';
import { TRACK_ANALYTICS } from '@/analytics/graphql/queries/track';
import { FIND_MANY_OBJECT_METADATA_ITEMS } from '@/object-metadata/graphql/queries';
@@ -9,10 +9,10 @@ import { REACT_APP_SERVER_BASE_URL } from '~/config';
import { mockedClientConfig } from '~/testing/mock-data/config';
import { mockedNoteRecords } from '~/testing/mock-data/generated/data/notes/mock-notes-data';
import { mockedPersonRecords } from '~/testing/mock-data/generated/data/people/mock-people-data';
import { mockedWorkspaceMemberRecords } from '~/testing/mock-data/generated/data/workspaceMembers/mock-workspaceMembers-data';
import { mockedCoreViews } from '~/testing/mock-data/generated/metadata/views/mock-views-data';
import { mockedPublicWorkspaceDataBySubdomain } from '~/testing/mock-data/publicWorkspaceDataBySubdomain';
import { mockedUserData } from '~/testing/mock-data/users';
import { mockedCoreViews } from '~/testing/mock-data/generated/metadata/views/mock-views-data';
import { mockedWorkspaceMemberRecords } from '~/testing/mock-data/generated/data/workspaceMembers/mock-workspaceMembers-data';
import { GET_PUBLIC_WORKSPACE_DATA_BY_DOMAIN } from '@/auth/graphql/queries/getPublicWorkspaceDataByDomain';
import { LIST_PLANS } from '@/billing/graphql/queries/listPlans';
@@ -20,22 +20,25 @@ import { GET_ROLES } from '@/settings/roles/graphql/queries/getRolesQuery';
import { isDefined } from 'twenty-shared/utils';
import { mockBillingPlans } from '~/testing/mock-data/billing-plans';
import { mockedCompanyRecords } from '~/testing/mock-data/generated/data/companies/mock-companies-data';
import { mockedTaskRecords } from '~/testing/mock-data/generated/data/tasks/mock-tasks-data';
import { mockedStandardObjectMetadataQueryResult } from '~/testing/mock-data/generated/metadata/objects/mock-objects-metadata';
import { mockedRoles } from '~/testing/mock-data/generated/metadata/roles/mock-roles-data';
import { mockedTaskRecords } from '~/testing/mock-data/generated/data/tasks/mock-tasks-data';
import { type Task } from '@/activities/types/Task';
import { FIND_MINIMAL_METADATA } from '@/metadata-store/graphql/queries/findMinimalMetadata';
import { getConnectionTypename } from '@/object-record/cache/utils/getConnectionTypename';
import { getEdgeTypename } from '@/object-record/cache/utils/getEdgeTypename';
import { getEmptyPageInfo } from '@/object-record/cache/utils/getEmptyPageInfo';
import { getRecordFromRecordNode } from '@/object-record/cache/utils/getRecordFromRecordNode';
import { mockedApiKeys } from '~/testing/mock-data/generated/metadata/api-keys/mock-api-keys-data';
import { mockedMinimalMetadata } from '~/testing/mock-data/generated/metadata/minimal/mock-minimal-metadata';
import { mockedNavigationMenuItems } from '~/testing/mock-data/generated/metadata/navigation-menu-items/mock-navigation-menu-items-data';
import {
getWorkflowMock,
getWorkflowVersionsMock,
workflowQueryResult,
} from '~/testing/mock-data/workflow';
import { oneSucceededWorkflowRunQueryResult } from '~/testing/mock-data/workflow-run';
import { type Task } from '@/activities/types/Task';
import { getConnectionTypename } from '@/object-record/cache/utils/getConnectionTypename';
import { getEdgeTypename } from '@/object-record/cache/utils/getEdgeTypename';
import { getEmptyPageInfo } from '@/object-record/cache/utils/getEmptyPageInfo';
import { getRecordFromRecordNode } from '@/object-record/cache/utils/getRecordFromRecordNode';
import { mockedApiKeys } from '~/testing/mock-data/generated/metadata/api-keys/mock-api-keys-data';
const peopleMock = [...mockedPersonRecords];
const companiesMock = [...mockedCompanyRecords];
@@ -172,6 +175,40 @@ export const graphqlMocks = {
});
},
),
metadataGraphql.query(getOperationName(FIND_MINIMAL_METADATA) ?? '', () => {
return HttpResponse.json({
data: { minimalMetadata: mockedMinimalMetadata },
});
}),
metadataGraphql.query('FindAllCoreViews', () => {
return HttpResponse.json({
data: { getCoreViews: mockedCoreViews },
});
}),
metadataGraphql.query('FindFieldsWidgetCoreViews', () => {
return HttpResponse.json({
data: {
getCoreViews: mockedCoreViews.filter(
(view) => view.type === 'FIELDS_WIDGET',
),
},
});
}),
metadataGraphql.query('FindAllRecordPageLayouts', () => {
return HttpResponse.json({
data: { getPageLayouts: [] },
});
}),
metadataGraphql.query('FindManyLogicFunctions', () => {
return HttpResponse.json({
data: { findManyLogicFunctions: [] },
});
}),
metadataGraphql.query('FindManyNavigationMenuItems', () => {
return HttpResponse.json({
data: { navigationMenuItems: mockedNavigationMenuItems },
});
}),
graphql.query('SearchPeople', () => {
return HttpResponse.json({
data: {
@@ -12,7 +12,7 @@ export const JestObjectMetadataItemSetter = ({
children: ReactNode;
objectMetadataItems?: ObjectMetadataItem[];
}) => {
const { updateDraft, applyChanges, resetMetadataStore } = useMetadataStore();
const { updateDraft, applyChanges } = useMetadataStore();
const [isLoaded, setIsLoaded] = useState(false);
useEffect(() => {
@@ -20,17 +20,12 @@ export const JestObjectMetadataItemSetter = ({
const { flatObjects, flatFields, flatIndexes } =
splitObjectMetadataItemWithRelated(items);
// Reset first so updateDraft always proceeds and writes to localStorage.
// Without this, atomWithStorage's onMount re-reads from empty localStorage
// and overwrites in-memory values when the store is reused across tests.
resetMetadataStore();
updateDraft('objectMetadataItems', flatObjects);
updateDraft('fieldMetadataItems', flatFields);
updateDraft('indexMetadataItems', flatIndexes);
applyChanges();
setIsLoaded(true);
}, [objectMetadataItems, updateDraft, applyChanges, resetMetadataStore]);
}, [objectMetadataItems, updateDraft, applyChanges]);
return isLoaded ? <>{children}</> : null;
};
@@ -1,14 +1,17 @@
import { type MockedResponse } from '@apollo/client/testing';
import { MockedProvider } from '@apollo/client/testing/react';
import { Provider as JotaiProvider } from 'jotai';
import { type ReactNode } from 'react';
import { type ReactNode, useState } from 'react';
import { ContextStoreComponentInstanceContext } from '@/context-store/states/contexts/ContextStoreComponentInstanceContext';
import { type ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { RecordComponentInstanceContextsWrapper } from '@/object-record/components/RecordComponentInstanceContextsWrapper';
import { SnackBarComponentInstanceContext } from '@/ui/feedback/snack-bar-manager/contexts/SnackBarComponentInstanceContext';
import { resetJotaiStore } from '@/ui/utilities/state/jotai/jotaiStore';
import {
jotaiStore,
resetJotaiStore,
} from '@/ui/utilities/state/jotai/jotaiStore';
import { ViewComponentInstanceContext } from '@/views/states/contexts/ViewComponentInstanceContext';
import { type InMemoryCache } from '@apollo/client';
import type { Store } from 'jotai/vanilla/store';
@@ -28,33 +31,39 @@ export const getJestMetadataAndApolloMocksWrapper = ({
onInitializeJotaiStore?: (store: Store) => void;
objectMetadataItems?: ObjectMetadataItem[];
}) => {
const store = resetJotaiStore();
resetJotaiStore();
onInitializeJotaiStore?.(store);
return ({ children }: { children: ReactNode }) => {
const [store] = useState(() => {
const currentStore = jotaiStore;
onInitializeJotaiStore?.(currentStore);
return currentStore;
});
return ({ children }: { children: ReactNode }) => (
<JotaiProvider store={store}>
<SnackBarComponentInstanceContext.Provider
value={{ instanceId: 'snack-bar-manager' }}
>
<MockedProvider mocks={apolloMocks} cache={cache}>
<RecordComponentInstanceContextsWrapper componentInstanceId="instanceId">
<ViewComponentInstanceContext.Provider
value={{ instanceId: 'instanceId' }}
>
<JestObjectMetadataItemSetter
objectMetadataItems={objectMetadataItems}
return (
<JotaiProvider store={store}>
<SnackBarComponentInstanceContext.Provider
value={{ instanceId: 'snack-bar-manager' }}
>
<MockedProvider mocks={apolloMocks} cache={cache}>
<RecordComponentInstanceContextsWrapper componentInstanceId="instanceId">
<ViewComponentInstanceContext.Provider
value={{ instanceId: 'instanceId' }}
>
<ContextStoreComponentInstanceContext.Provider
value={{ instanceId: 'instanceId' }}
<JestObjectMetadataItemSetter
objectMetadataItems={objectMetadataItems}
>
<JestContextStoreSetter>{children}</JestContextStoreSetter>
</ContextStoreComponentInstanceContext.Provider>
</JestObjectMetadataItemSetter>
</ViewComponentInstanceContext.Provider>
</RecordComponentInstanceContextsWrapper>
</MockedProvider>
</SnackBarComponentInstanceContext.Provider>
</JotaiProvider>
);
<ContextStoreComponentInstanceContext.Provider
value={{ instanceId: 'instanceId' }}
>
<JestContextStoreSetter>{children}</JestContextStoreSetter>
</ContextStoreComponentInstanceContext.Provider>
</JestObjectMetadataItemSetter>
</ViewComponentInstanceContext.Provider>
</RecordComponentInstanceContextsWrapper>
</MockedProvider>
</SnackBarComponentInstanceContext.Provider>
</JotaiProvider>
);
};
};
@@ -0,0 +1,864 @@
/* oxlint-disable */
// @ts-nocheck
import { type MinimalMetadata } from '@/metadata-store/types/MinimalMetadata';
// This file was automatically generated — do not edit manually.
// prettier-ignore
export const mockedMinimalMetadata: MinimalMetadata =
{
"objectMetadataItems": [
{
"id": "e24d3eee-cab9-48c9-9ec5-26192fd43c47",
"nameSingular": "attachment",
"namePlural": "attachments",
"labelSingular": "Attachment",
"labelPlural": "Attachments",
"icon": "IconFileImport",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "f8da2fb8-65bd-463a-b651-3c285eddc728",
"nameSingular": "blocklist",
"namePlural": "blocklists",
"labelSingular": "Blocklist",
"labelPlural": "Blocklists",
"icon": "IconForbid2",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "a4f42d2e-8955-43ee-86c6-54368eb442d2",
"nameSingular": "calendarChannelEventAssociation",
"namePlural": "calendarChannelEventAssociations",
"labelSingular": "Calendar Channel Event Association",
"labelPlural": "Calendar Channel Event Associations",
"icon": "IconCalendar",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "618d3a73-85ac-4df2-a04f-e91ee413550a",
"nameSingular": "calendarChannel",
"namePlural": "calendarChannels",
"labelSingular": "Calendar Channel",
"labelPlural": "Calendar Channels",
"icon": "IconCalendar",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "48547468-2e46-4a2a-a356-1eb449e7bd4e",
"nameSingular": "calendarEventParticipant",
"namePlural": "calendarEventParticipants",
"labelSingular": "Calendar event participant",
"labelPlural": "Calendar event participants",
"icon": "IconCalendar",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "0dce0e6c-1a3d-4478-b03c-422105886383",
"nameSingular": "calendarEvent",
"namePlural": "calendarEvents",
"labelSingular": "Calendar event",
"labelPlural": "Calendar events",
"icon": "IconCalendar",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "def5a0f9-6233-4572-8f58-3aba99bcf248",
"nameSingular": "company",
"namePlural": "companies",
"labelSingular": "Company",
"labelPlural": "Companies",
"icon": "IconBuildingSkyscraper",
"isCustom": false,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "11cb16db-271f-494d-a11e-8f5c8f4008d8",
"nameSingular": "connectedAccount",
"namePlural": "connectedAccounts",
"labelSingular": "Connected Account",
"labelPlural": "Connected Accounts",
"icon": "IconAt",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "bec46d6b-4fe4-45db-9bf0-6840864f0d21",
"nameSingular": "dashboard",
"namePlural": "dashboards",
"labelSingular": "Dashboard",
"labelPlural": "Dashboards",
"icon": "IconLayoutDashboard",
"isCustom": false,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "f2ae50d3-41c6-4bb1-882a-8cd6eeb5b439",
"nameSingular": "favorite",
"namePlural": "favorites",
"labelSingular": "Favorite",
"labelPlural": "Favorites",
"icon": "IconHeart",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "d510c827-83bf-4d18-86b0-90183327a0ce",
"nameSingular": "favoriteFolder",
"namePlural": "favoriteFolders",
"labelSingular": "Favorite Folder",
"labelPlural": "Favorite Folders",
"icon": "IconFolder",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "9921d994-3888-43e4-b933-82eb199f9154",
"nameSingular": "messageChannelMessageAssociation",
"namePlural": "messageChannelMessageAssociations",
"labelSingular": "Message Channel Message Association",
"labelPlural": "Message Channel Message Associations",
"icon": "IconMessage",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "1f1b593c-99ed-4849-8b27-6d8fb8f001af",
"nameSingular": "messageChannel",
"namePlural": "messageChannels",
"labelSingular": "Message Channel",
"labelPlural": "Message Channels",
"icon": "IconMessage",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "13aa631f-8a01-491e-9e49-b24eaaeaac00",
"nameSingular": "messageFolder",
"namePlural": "messageFolders",
"labelSingular": "Message Folder",
"labelPlural": "Message Folders",
"icon": "IconFolder",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "c11d27bb-9e7d-4e07-aa2d-cb7f1930a2b2",
"nameSingular": "messageChannelMessageAssociationMessageFolder",
"namePlural": "messageChannelMessageAssociationMessageFolders",
"labelSingular": "Message Channel Message Association Message Folder",
"labelPlural": "Message Channel Message Association Message Folders",
"icon": "IconFolder",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "5267a212-5850-4dba-be1d-5f545cc8b1f3",
"nameSingular": "messageParticipant",
"namePlural": "messageParticipants",
"labelSingular": "Message Participant",
"labelPlural": "Message Participants",
"icon": "IconUserCircle",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "7caaa1ed-5955-4f33-a9a8-3f1f7834a957",
"nameSingular": "messageThread",
"namePlural": "messageThreads",
"labelSingular": "Message Thread",
"labelPlural": "Message Threads",
"icon": "IconMessage",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "8a3aecb7-cf19-4d57-b8e5-d4480326c145",
"nameSingular": "message",
"namePlural": "messages",
"labelSingular": "Message",
"labelPlural": "Messages",
"icon": "IconMessage",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "599e8013-e826-420e-a4d4-135826550a96",
"nameSingular": "note",
"namePlural": "notes",
"labelSingular": "Note",
"labelPlural": "Notes",
"icon": "IconNotes",
"isCustom": false,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "1d0b6b96-c961-417d-aa33-f399fd975af3",
"nameSingular": "noteTarget",
"namePlural": "noteTargets",
"labelSingular": "Note Target",
"labelPlural": "Note Targets",
"icon": "IconCheckbox",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "2b9fd1c5-90ef-4d86-adbd-1a1df4bfd2da",
"nameSingular": "opportunity",
"namePlural": "opportunities",
"labelSingular": "Opportunity",
"labelPlural": "Opportunities",
"icon": "IconTargetArrow",
"isCustom": false,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "b6e21d5b-97f4-4d46-b3eb-84cd548fcf3e",
"nameSingular": "person",
"namePlural": "people",
"labelSingular": "Person",
"labelPlural": "People",
"icon": "IconUser",
"isCustom": false,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "2036c405-31bb-4f93-821a-79af46f9a00a",
"nameSingular": "task",
"namePlural": "tasks",
"labelSingular": "Task",
"labelPlural": "Tasks",
"icon": "IconCheckbox",
"isCustom": false,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "a8d747b8-f2f1-4309-a011-19e95312a9c8",
"nameSingular": "taskTarget",
"namePlural": "taskTargets",
"labelSingular": "Task Target",
"labelPlural": "Task Targets",
"icon": "IconCheckbox",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "16ae84e9-e4eb-4a1a-8f7e-cd39c617d105",
"nameSingular": "timelineActivity",
"namePlural": "timelineActivities",
"labelSingular": "Timeline Activity",
"labelPlural": "Timeline Activities",
"icon": "IconTimelineEvent",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "769ea79c-a2cb-49ce-ae1d-73ce37a5c4d0",
"nameSingular": "workflow",
"namePlural": "workflows",
"labelSingular": "Workflow",
"labelPlural": "Workflows",
"icon": "IconSettingsAutomation",
"isCustom": false,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "bf481196-2767-485f-9f7d-982a96463d2f",
"nameSingular": "workflowAutomatedTrigger",
"namePlural": "workflowAutomatedTriggers",
"labelSingular": "Workflow Automated Trigger",
"labelPlural": "Workflow Automated Triggers",
"icon": "IconSettingsAutomation",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "14ef07a6-5304-479a-8b33-dbe62bae2cef",
"nameSingular": "workflowRun",
"namePlural": "workflowRuns",
"labelSingular": "Workflow Run",
"labelPlural": "Workflow Runs",
"icon": "IconHistoryToggle",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "b340fed6-3848-4571-9d18-7522d53e9ee9",
"nameSingular": "workflowVersion",
"namePlural": "workflowVersions",
"labelSingular": "Workflow Version",
"labelPlural": "Workflow Versions",
"icon": "IconVersions",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "45951e41-0540-48e1-8cb4-b18d68771481",
"nameSingular": "workspaceMember",
"namePlural": "workspaceMembers",
"labelSingular": "Workspace Member",
"labelPlural": "Workspace Members",
"icon": "IconUserCircle",
"isCustom": false,
"isActive": true,
"isSystem": true,
"isRemote": false
},
{
"id": "8c77d57d-1c06-4550-bb7d-4dff29b16889",
"nameSingular": "rocket",
"namePlural": "rockets",
"labelSingular": "Rocket",
"labelPlural": "Rockets",
"icon": "IconRocket",
"isCustom": true,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "96a6d580-c305-4a5e-9310-96d6a705c344",
"nameSingular": "pet",
"namePlural": "pets",
"labelSingular": "Pet",
"labelPlural": "Pets",
"icon": "IconCat",
"isCustom": true,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "a32db57b-c2f1-4409-a9ce-5b80434fb1ce",
"nameSingular": "surveyResult",
"namePlural": "surveyResults",
"labelSingular": "Survey result",
"labelPlural": "Survey results",
"icon": "IconRulerMeasure",
"isCustom": true,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "7e995e28-ad5d-4bef-b248-58f261584ed8",
"nameSingular": "employmentHistory",
"namePlural": "employmentHistories",
"labelSingular": "Employment History",
"labelPlural": "Employment Histories",
"icon": "IconBriefcase",
"isCustom": true,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "4ea2d7fc-d992-49d0-877c-794f2661ee53",
"nameSingular": "petCareAgreement",
"namePlural": "petCareAgreements",
"labelSingular": "Pet Care Agreement",
"labelPlural": "Pet Care Agreements",
"icon": "IconPaw",
"isCustom": true,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "05271aca-8403-491a-9971-d2a1fe623401",
"nameSingular": "vla",
"namePlural": "vlas",
"labelSingular": "Vla",
"labelPlural": "Vlas",
"icon": "IconListNumbers",
"isCustom": true,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "31968ed5-2aa4-423f-acff-066565377f53",
"nameSingular": "tea",
"namePlural": "teas",
"labelSingular": "Tea",
"labelPlural": "Teas",
"icon": "IconListNumbers",
"isCustom": true,
"isActive": true,
"isSystem": false,
"isRemote": false
},
{
"id": "44b00550-b1cb-4e25-b18e-7c6bac97903b",
"nameSingular": "toto",
"namePlural": "totos",
"labelSingular": "Toto",
"labelPlural": "Totos",
"icon": "IconListNumbers",
"isCustom": true,
"isActive": true,
"isSystem": false,
"isRemote": false
}
],
"views": [
{
"id": "f04ef9fc-b7f1-4e09-90aa-f6ecf00e70b5",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "e24d3eee-cab9-48c9-9ec5-26192fd43c47"
},
{
"id": "7dba738a-6757-4f49-8a2a-735df085fafb",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "f8da2fb8-65bd-463a-b651-3c285eddc728"
},
{
"id": "53d52e42-d15f-47eb-8b44-2b4b1abebc13",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "618d3a73-85ac-4df2-a04f-e91ee413550a"
},
{
"id": "f583f6f0-2d3a-4295-82e8-3ece5f9e9dfa",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "a4f42d2e-8955-43ee-86c6-54368eb442d2"
},
{
"id": "e20d1f78-cd39-4589-a431-b9d7064f145d",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "0dce0e6c-1a3d-4478-b03c-422105886383"
},
{
"id": "6b7d26f9-a003-43d7-a5e0-e7d45dba88aa",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "48547468-2e46-4a2a-a356-1eb449e7bd4e"
},
{
"id": "4fbe1837-e5b2-4d8b-9f0d-0191f11da17f",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "def5a0f9-6233-4572-8f58-3aba99bcf248"
},
{
"id": "d0ee877c-57f4-4e89-b676-1bf78ae7a5eb",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "11cb16db-271f-494d-a11e-8f5c8f4008d8"
},
{
"id": "f160aaf2-3e6a-4f5c-a61c-551d77c9bef3",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "bec46d6b-4fe4-45db-9bf0-6840864f0d21"
},
{
"id": "2146a413-9339-49d4-9718-32815117e545",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "f2ae50d3-41c6-4bb1-882a-8cd6eeb5b439"
},
{
"id": "287a7082-d5dc-4fcd-998f-8bb3c531c43b",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "d510c827-83bf-4d18-86b0-90183327a0ce"
},
{
"id": "400e57d4-5ef5-4ba8-9b92-cae859471bb8",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "8a3aecb7-cf19-4d57-b8e5-d4480326c145"
},
{
"id": "76f1ff8f-3b80-4b7f-8b50-0d9617da717f",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "1f1b593c-99ed-4849-8b27-6d8fb8f001af"
},
{
"id": "f7edd044-5371-4f94-9318-723fdd70777b",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "9921d994-3888-43e4-b933-82eb199f9154"
},
{
"id": "ad308c35-47f2-4d4d-8cd1-94544dafa0a8",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "c11d27bb-9e7d-4e07-aa2d-cb7f1930a2b2"
},
{
"id": "04b4ba8c-55ca-4287-be43-7f073b055c90",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "13aa631f-8a01-491e-9e49-b24eaaeaac00"
},
{
"id": "d524aade-4d12-4745-b693-243547a865d1",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "5267a212-5850-4dba-be1d-5f545cc8b1f3"
},
{
"id": "f1557881-60a7-487d-98cf-fb2b1f248e2b",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "7caaa1ed-5955-4f33-a9a8-3f1f7834a957"
},
{
"id": "3ea68976-f3ea-4800-919f-d10b6b8b82df",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "599e8013-e826-420e-a4d4-135826550a96"
},
{
"id": "60927cc3-5dae-4bc2-9928-883b3c6ef436",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "1d0b6b96-c961-417d-aa33-f399fd975af3"
},
{
"id": "014bcf01-837e-4ac0-8fa7-db8eb5853e0c",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "2b9fd1c5-90ef-4d86-adbd-1a1df4bfd2da"
},
{
"id": "4b998b70-db02-4f5f-8d11-ebe47beec39d",
"type": "KANBAN",
"key": null,
"objectMetadataId": "2b9fd1c5-90ef-4d86-adbd-1a1df4bfd2da"
},
{
"id": "07f3ccf3-0e66-48b9-a25a-9e3146487ac0",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "b6e21d5b-97f4-4d46-b3eb-84cd548fcf3e"
},
{
"id": "baa47df1-d385-4abf-b0f8-41b71a1d874f",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "2036c405-31bb-4f93-821a-79af46f9a00a"
},
{
"id": "c2380957-32b4-4c97-b678-8bdbb688cfe7",
"type": "KANBAN",
"key": null,
"objectMetadataId": "2036c405-31bb-4f93-821a-79af46f9a00a"
},
{
"id": "0fd4340c-1c76-452a-988d-be4f1864e95f",
"type": "TABLE",
"key": null,
"objectMetadataId": "2036c405-31bb-4f93-821a-79af46f9a00a"
},
{
"id": "e75fac35-cda0-4513-9e6c-494f926269dc",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "a8d747b8-f2f1-4309-a011-19e95312a9c8"
},
{
"id": "a8550e48-63e6-4d36-97ff-ad8d6c31ec4c",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "16ae84e9-e4eb-4a1a-8f7e-cd39c617d105"
},
{
"id": "60a2a05b-3c27-4c0b-b70e-d9e3230101d6",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "769ea79c-a2cb-49ce-ae1d-73ce37a5c4d0"
},
{
"id": "6f7c0068-a35e-46ad-bda7-095a27e25592",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "bf481196-2767-485f-9f7d-982a96463d2f"
},
{
"id": "d55fe3ad-7d0a-449c-816e-fcaa8e2e0c3d",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "14ef07a6-5304-479a-8b33-dbe62bae2cef"
},
{
"id": "d954fdb7-fd84-4427-8a16-e5e573ab8260",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "b340fed6-3848-4571-9d18-7522d53e9ee9"
},
{
"id": "fe2fe310-d2d8-4dec-b9c7-47ec3296379f",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "45951e41-0540-48e1-8cb4-b18d68771481"
},
{
"id": "21e62404-bb05-47e3-89da-f515cadeb82e",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "8c77d57d-1c06-4550-bb7d-4dff29b16889"
},
{
"id": "a5d1291c-69f2-4f99-9c7b-92b3d86c3355",
"type": "FIELDS_WIDGET",
"key": null,
"objectMetadataId": "8c77d57d-1c06-4550-bb7d-4dff29b16889"
},
{
"id": "f4044ef2-99a9-4ae5-a5e0-d5664dfcd4ee",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "96a6d580-c305-4a5e-9310-96d6a705c344"
},
{
"id": "6bcb5114-483f-43db-bdb3-8315025d3a2e",
"type": "FIELDS_WIDGET",
"key": null,
"objectMetadataId": "96a6d580-c305-4a5e-9310-96d6a705c344"
},
{
"id": "cc83a36a-4c40-4aa9-8529-13c5fc9efe41",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "a32db57b-c2f1-4409-a9ce-5b80434fb1ce"
},
{
"id": "6b3fcd9a-3e51-4557-a54e-a9d838170e67",
"type": "FIELDS_WIDGET",
"key": null,
"objectMetadataId": "a32db57b-c2f1-4409-a9ce-5b80434fb1ce"
},
{
"id": "53fc7567-b6b6-440e-a06b-5ed8bb7164fb",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "7e995e28-ad5d-4bef-b248-58f261584ed8"
},
{
"id": "d8e8b80c-a95c-4e2b-9bee-e29e400d8221",
"type": "FIELDS_WIDGET",
"key": null,
"objectMetadataId": "7e995e28-ad5d-4bef-b248-58f261584ed8"
},
{
"id": "d555d97b-041f-4b83-a7a5-93c526598ff8",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "4ea2d7fc-d992-49d0-877c-794f2661ee53"
},
{
"id": "b3e7efcf-214e-41d7-8663-4e1bcb83fa7b",
"type": "FIELDS_WIDGET",
"key": null,
"objectMetadataId": "4ea2d7fc-d992-49d0-877c-794f2661ee53"
},
{
"id": "5af3f071-074b-4a7b-9f6a-bd7e5c4d2b15",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "05271aca-8403-491a-9971-d2a1fe623401"
},
{
"id": "7631f50d-8476-42ee-8af0-081bd364807e",
"type": "FIELDS_WIDGET",
"key": null,
"objectMetadataId": "05271aca-8403-491a-9971-d2a1fe623401"
},
{
"id": "31a5ae29-df94-46c7-b248-29f871707b11",
"type": "TABLE",
"key": null,
"objectMetadataId": "def5a0f9-6233-4572-8f58-3aba99bcf248"
},
{
"id": "54379c74-3248-4474-b6a8-511bf79a2c72",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "31968ed5-2aa4-423f-acff-066565377f53"
},
{
"id": "2fb84c8b-b7a9-4cc6-b48e-b46a8b0f147a",
"type": "FIELDS_WIDGET",
"key": null,
"objectMetadataId": "31968ed5-2aa4-423f-acff-066565377f53"
},
{
"id": "c1332d82-c75d-40da-9d30-dc44c7d93444",
"type": "TABLE",
"key": "INDEX",
"objectMetadataId": "44b00550-b1cb-4e25-b18e-7c6bac97903b"
},
{
"id": "a32b5909-5c66-4d02-b753-6444808263a4",
"type": "FIELDS_WIDGET",
"key": null,
"objectMetadataId": "44b00550-b1cb-4e25-b18e-7c6bac97903b"
}
],
"collectionHashes": [
{
"collectionName": "fieldMetadata",
"hash": "ce13f1e8-f54e-480b-890e-ce867ea6b2fa"
},
{
"collectionName": "objectMetadata",
"hash": "6a2f420e-84f6-4990-9433-7b7a53ff9abc"
},
{
"collectionName": "view",
"hash": "00c71b28-94a6-42c2-9128-6c31f13709db"
},
{
"collectionName": "viewField",
"hash": "7a4d98c9-85b1-44a2-9443-79fcb9f58e15"
},
{
"collectionName": "viewFieldGroup",
"hash": "d1ce28ed-0117-4f3c-9c43-ebc188defcc6"
},
{
"collectionName": "viewGroup",
"hash": "ffe35afe-0d3c-4637-9a8a-1c16c6cd3047"
},
{
"collectionName": "viewSort",
"hash": "2a3e7cc8-e330-489a-8016-5ec57869a578"
},
{
"collectionName": "rowLevelPermissionPredicate",
"hash": "26f5dc80-f9db-4d92-938d-1192520ff19a"
},
{
"collectionName": "rowLevelPermissionPredicateGroup",
"hash": "b18e8285-b308-4db9-96d1-2f64f8e1bd80"
},
{
"collectionName": "viewFilterGroup",
"hash": "8a988096-5aa5-414b-8a4c-b040438acad4"
},
{
"collectionName": "index",
"hash": "a2f51a56-3c4e-49bb-bcb7-1da9ec1277c1"
},
{
"collectionName": "logicFunction",
"hash": "0e1af693-a8d2-4c8c-be85-45ed4412c0c5"
},
{
"collectionName": "viewFilter",
"hash": "41db50cc-45ce-4630-a7dd-ae5881cd3e1f"
},
{
"collectionName": "role",
"hash": "a7252385-a38c-400f-8411-4db5c6897023"
},
{
"collectionName": "roleTarget",
"hash": "4ebb8b78-e7f1-46c5-b1dd-e4cf003ef0be"
},
{
"collectionName": "agent",
"hash": "6a6a2ece-a771-4b47-86fd-48f8295a8092"
},
{
"collectionName": "skill",
"hash": "8712eb59-fe28-403d-be23-d6a6d120661e"
},
{
"collectionName": "pageLayout",
"hash": "f8f16b56-31df-49ad-8ba0-9857e9f1d745"
},
{
"collectionName": "pageLayoutWidget",
"hash": "d161e497-38cd-4dc9-84fc-f5e9f290ce1b"
},
{
"collectionName": "pageLayoutTab",
"hash": "55d14e7e-b0ad-428f-b85f-8726b2110425"
},
{
"collectionName": "commandMenuItem",
"hash": "0ae53571-cd1d-4231-9ee3-1b9c728c9336"
},
{
"collectionName": "navigationMenuItem",
"hash": "af2427b8-094a-4093-8c69-a01c87cc3a3e"
},
{
"collectionName": "frontComponent",
"hash": "d99e9435-ec62-4889-84d3-d8adf2fd19a4"
}
]
};
@@ -0,0 +1,316 @@
/* oxlint-disable */
// @ts-nocheck
import { type NavigationMenuItem } from '~/generated-metadata/graphql';
// This file was automatically generated — do not edit manually.
// prettier-ignore
export const mockedNavigationMenuItems: NavigationMenuItem[] =
[
{
"id": "6c5f8eeb-e0eb-419c-959f-35971c4307da",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "60a2a05b-3c27-4c0b-b70e-d9e3230101d6",
"folderId": "c626185c-ce8b-4d99-a239-07411fbb3e0c",
"name": null,
"link": null,
"icon": null,
"color": "gray",
"position": 0,
"applicationId": "76c2f582-7223-4e93-8413-75ff4949325b",
"createdAt": "2026-03-14T18:16:51.168Z",
"updatedAt": "2026-03-14T18:16:51.168Z",
"targetRecordIdentifier": null
},
{
"id": "d9ac8e9f-26dc-4571-8d78-7a829862f37b",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "07f3ccf3-0e66-48b9-a25a-9e3146487ac0",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": "blue",
"position": 1,
"applicationId": "76c2f582-7223-4e93-8413-75ff4949325b",
"createdAt": "2026-03-14T18:16:51.168Z",
"updatedAt": "2026-03-14T18:16:51.168Z",
"targetRecordIdentifier": null
},
{
"id": "ce60ce3c-28ba-45af-8391-457d9066884e",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "d55fe3ad-7d0a-449c-816e-fcaa8e2e0c3d",
"folderId": "c626185c-ce8b-4d99-a239-07411fbb3e0c",
"name": null,
"link": null,
"icon": null,
"color": "gray",
"position": 1,
"applicationId": "76c2f582-7223-4e93-8413-75ff4949325b",
"createdAt": "2026-03-14T18:16:51.168Z",
"updatedAt": "2026-03-14T18:16:51.168Z",
"targetRecordIdentifier": null
},
{
"id": "f8a54baa-c1df-460c-9bd1-9fd3450a72af",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "014bcf01-837e-4ac0-8fa7-db8eb5853e0c",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": "red",
"position": 2,
"applicationId": "76c2f582-7223-4e93-8413-75ff4949325b",
"createdAt": "2026-03-14T18:16:51.168Z",
"updatedAt": "2026-03-14T18:16:51.168Z",
"targetRecordIdentifier": null
},
{
"id": "e4bcdbe3-a511-42e9-b454-0914eedcd414",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "d954fdb7-fd84-4427-8a16-e5e573ab8260",
"folderId": "c626185c-ce8b-4d99-a239-07411fbb3e0c",
"name": null,
"link": null,
"icon": null,
"color": "gray",
"position": 2,
"applicationId": "76c2f582-7223-4e93-8413-75ff4949325b",
"createdAt": "2026-03-14T18:16:51.168Z",
"updatedAt": "2026-03-14T18:16:51.168Z",
"targetRecordIdentifier": null
},
{
"id": "67258966-aaa8-42ac-a2d7-19a6d897f829",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "4fbe1837-e5b2-4d8b-9f0d-0191f11da17f",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": "blue",
"position": 2.5,
"applicationId": "76c2f582-7223-4e93-8413-75ff4949325b",
"createdAt": "2026-03-14T18:16:51.168Z",
"updatedAt": "2026-03-15T10:21:41.704Z",
"targetRecordIdentifier": null
},
{
"id": "8a5dc1d9-05d3-4630-8c92-dc6503b6979a",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "baa47df1-d385-4abf-b0f8-41b71a1d874f",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": "turquoise",
"position": 3,
"applicationId": "76c2f582-7223-4e93-8413-75ff4949325b",
"createdAt": "2026-03-14T18:16:51.168Z",
"updatedAt": "2026-03-14T18:16:51.168Z",
"targetRecordIdentifier": null
},
{
"id": "f91f583d-18f0-4f74-ab23-cbf8b27960f4",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "3ea68976-f3ea-4800-919f-d10b6b8b82df",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": "turquoise",
"position": 4,
"applicationId": "76c2f582-7223-4e93-8413-75ff4949325b",
"createdAt": "2026-03-14T18:16:51.168Z",
"updatedAt": "2026-03-14T18:16:51.168Z",
"targetRecordIdentifier": null
},
{
"id": "535d064e-6a83-4a21-aa29-71ca764462da",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "f160aaf2-3e6a-4f5c-a61c-551d77c9bef3",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": "gray",
"position": 5,
"applicationId": "76c2f582-7223-4e93-8413-75ff4949325b",
"createdAt": "2026-03-14T18:16:51.168Z",
"updatedAt": "2026-03-14T18:16:51.168Z",
"targetRecordIdentifier": null
},
{
"id": "c626185c-ce8b-4d99-a239-07411fbb3e0c",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": null,
"folderId": null,
"name": "Workflows",
"link": null,
"icon": "IconSettingsAutomation",
"color": "orange",
"position": 6,
"applicationId": "76c2f582-7223-4e93-8413-75ff4949325b",
"createdAt": "2026-03-14T18:16:51.168Z",
"updatedAt": "2026-03-14T18:16:51.168Z",
"targetRecordIdentifier": null
},
{
"id": "05c88371-46e0-41e9-a3bc-e176148db9cf",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "21e62404-bb05-47e3-89da-f515cadeb82e",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": null,
"position": 7,
"applicationId": "42e22aff-5cbf-478e-b54c-229b2bc21805",
"createdAt": "2026-03-14T18:16:51.837Z",
"updatedAt": "2026-03-14T18:16:51.837Z",
"targetRecordIdentifier": null
},
{
"id": "d18a347e-70ca-4e37-8f5c-4c38a944ed04",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "f4044ef2-99a9-4ae5-a5e0-d5664dfcd4ee",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": null,
"position": 8,
"applicationId": "42e22aff-5cbf-478e-b54c-229b2bc21805",
"createdAt": "2026-03-14T18:16:52.091Z",
"updatedAt": "2026-03-14T18:16:52.091Z",
"targetRecordIdentifier": null
},
{
"id": "9bdde562-66b0-42b2-89fc-bd3ee42345f2",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "cc83a36a-4c40-4aa9-8529-13c5fc9efe41",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": null,
"position": 9,
"applicationId": "42e22aff-5cbf-478e-b54c-229b2bc21805",
"createdAt": "2026-03-14T18:16:52.352Z",
"updatedAt": "2026-03-14T18:16:52.352Z",
"targetRecordIdentifier": null
},
{
"id": "1beeff3a-9245-4b01-b7e6-34581fa54340",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "53fc7567-b6b6-440e-a06b-5ed8bb7164fb",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": null,
"position": 10,
"applicationId": "42e22aff-5cbf-478e-b54c-229b2bc21805",
"createdAt": "2026-03-14T18:16:52.534Z",
"updatedAt": "2026-03-14T18:16:52.534Z",
"targetRecordIdentifier": null
},
{
"id": "db51d71f-0cf3-4ae2-8670-0326b1dabe50",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "d555d97b-041f-4b83-a7a5-93c526598ff8",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": null,
"position": 11,
"applicationId": "42e22aff-5cbf-478e-b54c-229b2bc21805",
"createdAt": "2026-03-14T18:16:52.660Z",
"updatedAt": "2026-03-14T18:16:52.660Z",
"targetRecordIdentifier": null
},
{
"id": "e31c0236-fdec-4b1e-a0bd-f4ae5159fdd4",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "5af3f071-074b-4a7b-9f6a-bd7e5c4d2b15",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": null,
"position": 12,
"applicationId": "42e22aff-5cbf-478e-b54c-229b2bc21805",
"createdAt": "2026-03-14T18:18:57.135Z",
"updatedAt": "2026-03-14T18:18:57.135Z",
"targetRecordIdentifier": null
},
{
"id": "058e70ce-d136-46c6-84d9-7907622a4808",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "54379c74-3248-4474-b6a8-511bf79a2c72",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": null,
"position": 13,
"applicationId": "42e22aff-5cbf-478e-b54c-229b2bc21805",
"createdAt": "2026-03-15T09:09:39.132Z",
"updatedAt": "2026-03-15T09:09:39.132Z",
"targetRecordIdentifier": null
},
{
"id": "14d0630a-a73f-4045-8613-1e98e58d09b5",
"userWorkspaceId": null,
"targetRecordId": null,
"targetObjectMetadataId": null,
"viewId": "c1332d82-c75d-40da-9d30-dc44c7d93444",
"folderId": null,
"name": null,
"link": null,
"icon": null,
"color": null,
"position": 14,
"applicationId": "42e22aff-5cbf-478e-b54c-229b2bc21805",
"createdAt": "2026-03-15T10:23:50.323Z",
"updatedAt": "2026-03-15T10:23:50.323Z",
"targetRecordIdentifier": null
}
];
@@ -0,0 +1,63 @@
import { metadataStoreState } from '@/metadata-store/states/metadataStoreState';
import { splitViewWithRelated } from '@/metadata-store/utils/splitViewWithRelated';
import { type CoreViewWithRelations } from '@/views/types/CoreViewWithRelations';
import { type createStore } from 'jotai';
type JotaiStore = ReturnType<typeof createStore>;
export const setTestCoreViewsInMetadataStore = (
store: JotaiStore,
views: CoreViewWithRelations[],
) => {
const {
flatViews,
flatViewFields,
flatViewFilters,
flatViewSorts,
flatViewGroups,
flatViewFilterGroups,
flatViewFieldGroups,
} = splitViewWithRelated(views);
store.set(metadataStoreState.atomFamily('views'), {
current: flatViews,
draft: [],
status: 'up-to-date',
});
store.set(metadataStoreState.atomFamily('viewFields'), {
current: flatViewFields,
draft: [],
status: 'up-to-date',
});
store.set(metadataStoreState.atomFamily('viewFilters'), {
current: flatViewFilters,
draft: [],
status: 'up-to-date',
});
store.set(metadataStoreState.atomFamily('viewSorts'), {
current: flatViewSorts,
draft: [],
status: 'up-to-date',
});
store.set(metadataStoreState.atomFamily('viewGroups'), {
current: flatViewGroups,
draft: [],
status: 'up-to-date',
});
store.set(metadataStoreState.atomFamily('viewFilterGroups'), {
current: flatViewFilterGroups,
draft: [],
status: 'up-to-date',
});
store.set(metadataStoreState.atomFamily('viewFieldGroups'), {
current: flatViewFieldGroups,
draft: [],
status: 'up-to-date',
});
};