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:
@@ -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>
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
+864
@@ -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"
|
||||
}
|
||||
]
|
||||
};
|
||||
+316
@@ -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',
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user