From 048455bbb67cbdc27c8b4b6ea6c9e39c2d53d29a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Bosi?= <71827178+bosiraphael@users.noreply.github.com> Date: Tue, 26 Aug 2025 13:05:20 +0200 Subject: [PATCH] Seed core views in dev + fixes (#14071) Seed core views in dev --------- Co-authored-by: Charles Bochet --- .../hooks/useDefaultHomePagePath.ts | 18 +++++++++++++-- ...wIdFromObjectMetadataItemFamilySelector.ts | 17 +++++++++++++- .../prefetchViewFromViewIdFamilySelector.ts | 16 ++++++++++++- ...IdsFromObjectMetadataItemFamilySelector.ts | 17 +++++++++++++- .../prefetchViewLengthFamilySelector.ts | 15 +++++++++++- ...ewsFromObjectMetadataItemFamilySelector.ts | 15 +++++++++++- .../modules/users/hooks/useLoadCurrentUser.ts | 7 ++++++ ...ViewFiltersToCurrentRecordFilters.test.tsx | 2 ++ .../workspace/hooks/useFeatureFlagsMap.ts | 20 +++------------- .../extractFeatureFlagMapFromWorkspace.ts | 23 +++++++++++++++++++ .../core/utils/seed-feature-flags.util.ts | 2 +- .../services/dev-seeder-metadata.service.ts | 20 ++++++++++++++++ .../prefill-core-views.ts | 17 ++++---------- 13 files changed, 151 insertions(+), 38 deletions(-) create mode 100644 packages/twenty-front/src/modules/workspace/utils/extractFeatureFlagMapFromWorkspace.ts diff --git a/packages/twenty-front/src/modules/navigation/hooks/useDefaultHomePagePath.ts b/packages/twenty-front/src/modules/navigation/hooks/useDefaultHomePagePath.ts index 3474cb431a..8118ea1adb 100644 --- a/packages/twenty-front/src/modules/navigation/hooks/useDefaultHomePagePath.ts +++ b/packages/twenty-front/src/modules/navigation/hooks/useDefaultHomePagePath.ts @@ -8,16 +8,25 @@ import { prefetchViewsState } from '@/prefetch/states/prefetchViewsState'; import { getObjectPermissionsFromMapByObjectMetadataId } from '@/settings/roles/role-permissions/objects-permissions/utils/getObjectPermissionsFromMapByObjectMetadataId'; import { AppPath } from '@/types/AppPath'; import { SettingsPath } from '@/types/SettingsPath'; +import { coreViewsState } from '@/views/states/coreViewState'; +import { convertCoreViewToView } from '@/views/utils/convertCoreViewToView'; +import { useFeatureFlagsMap } from '@/workspace/hooks/useFeatureFlagsMap'; import isEmpty from 'lodash.isempty'; import { useCallback, useMemo } from 'react'; import { useRecoilCallback, useRecoilValue } from 'recoil'; import { isDefined } from 'twenty-shared/utils'; +import { FeatureFlagKey } from '~/generated/graphql'; import { getAppPath } from '~/utils/navigation/getAppPath'; export const useDefaultHomePagePath = () => { const currentUser = useRecoilValue(currentUserState); const { objectPermissionsByObjectMetadataId } = useObjectPermissions(); + const featureFlagsMap = useFeatureFlagsMap(); + + const isCoreViewEnabled = + featureFlagsMap[FeatureFlagKey.IS_CORE_VIEW_ENABLED]; + const { activeNonSystemObjectMetadataItems, alphaSortedActiveNonSystemObjectMetadataItems, @@ -54,14 +63,19 @@ export const useDefaultHomePagePath = () => { return undefined; } - const views = snapshot.getLoadable(prefetchViewsState).getValue(); + const views = isCoreViewEnabled + ? snapshot + .getLoadable(coreViewsState) + .getValue() + .map(convertCoreViewToView) + : snapshot.getLoadable(prefetchViewsState).getValue(); return views.find( (view) => view.objectMetadataId === objectMetadataItemId, ); }; }, - [arePrefetchViewsLoaded], + [arePrefetchViewsLoaded, isCoreViewEnabled], ); const firstObjectPathInfo = useMemo(() => { diff --git a/packages/twenty-front/src/modules/prefetch/states/selector/prefetchIndexViewIdFromObjectMetadataItemFamilySelector.ts b/packages/twenty-front/src/modules/prefetch/states/selector/prefetchIndexViewIdFromObjectMetadataItemFamilySelector.ts index 876560e2a8..61c1dd412a 100644 --- a/packages/twenty-front/src/modules/prefetch/states/selector/prefetchIndexViewIdFromObjectMetadataItemFamilySelector.ts +++ b/packages/twenty-front/src/modules/prefetch/states/selector/prefetchIndexViewIdFromObjectMetadataItemFamilySelector.ts @@ -1,7 +1,11 @@ +import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; +import { prefetchViewsState } from '@/prefetch/states/prefetchViewsState'; import { coreViewsState } from '@/views/states/coreViewState'; import { ViewKey } from '@/views/types/ViewKey'; import { convertCoreViewToView } from '@/views/utils/convertCoreViewToView'; +import { extractFeatureFlagMapFromWorkspace } from '@/workspace/utils/extractFeatureFlagMapFromWorkspace'; import { selectorFamily } from 'recoil'; +import { FeatureFlagKey } from '~/generated/graphql'; export const prefetchIndexViewIdFromObjectMetadataItemFamilySelector = selectorFamily({ @@ -9,9 +13,20 @@ export const prefetchIndexViewIdFromObjectMetadataItemFamilySelector = get: ({ objectMetadataItemId }) => ({ get }) => { + const prefetchedViews = get(prefetchViewsState); const coreViews = get(coreViewsState); - const views = coreViews.map(convertCoreViewToView); + const currentWorkspace = get(currentWorkspaceState); + const featureFlags = + extractFeatureFlagMapFromWorkspace(currentWorkspace); + + const isCoreViewEnabled = + featureFlags[FeatureFlagKey.IS_CORE_VIEW_ENABLED]; + + const views = isCoreViewEnabled + ? coreViews.map(convertCoreViewToView) + : prefetchedViews; + return views?.find( (view) => view.objectMetadataId === objectMetadataItemId && diff --git a/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewFromViewIdFamilySelector.ts b/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewFromViewIdFamilySelector.ts index 11fb3782df..c573fe5d60 100644 --- a/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewFromViewIdFamilySelector.ts +++ b/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewFromViewIdFamilySelector.ts @@ -1,7 +1,11 @@ +import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; +import { prefetchViewsState } from '@/prefetch/states/prefetchViewsState'; import { coreViewsState } from '@/views/states/coreViewState'; import { type View } from '@/views/types/View'; import { convertCoreViewToView } from '@/views/utils/convertCoreViewToView'; +import { extractFeatureFlagMapFromWorkspace } from '@/workspace/utils/extractFeatureFlagMapFromWorkspace'; import { selectorFamily } from 'recoil'; +import { FeatureFlagKey } from '~/generated/graphql'; export const prefetchViewFromViewIdFamilySelector = selectorFamily< View | undefined, @@ -11,9 +15,19 @@ export const prefetchViewFromViewIdFamilySelector = selectorFamily< get: ({ viewId }) => ({ get }) => { + const prefetchedViews = get(prefetchViewsState); const coreViews = get(coreViewsState); - const views = coreViews.map(convertCoreViewToView); + const currentWorkspace = get(currentWorkspaceState); + const featureFlags = extractFeatureFlagMapFromWorkspace(currentWorkspace); + + const isCoreViewEnabled = + featureFlags[FeatureFlagKey.IS_CORE_VIEW_ENABLED]; + + const views = isCoreViewEnabled + ? coreViews.map(convertCoreViewToView) + : prefetchedViews; + return views?.find((view) => view.id === viewId); }, }); diff --git a/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewIdsFromObjectMetadataItemFamilySelector.ts b/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewIdsFromObjectMetadataItemFamilySelector.ts index ef563c2a6d..b8f5243ff7 100644 --- a/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewIdsFromObjectMetadataItemFamilySelector.ts +++ b/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewIdsFromObjectMetadataItemFamilySelector.ts @@ -1,6 +1,10 @@ +import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; +import { prefetchViewsState } from '@/prefetch/states/prefetchViewsState'; import { coreViewsState } from '@/views/states/coreViewState'; import { convertCoreViewToView } from '@/views/utils/convertCoreViewToView'; +import { extractFeatureFlagMapFromWorkspace } from '@/workspace/utils/extractFeatureFlagMapFromWorkspace'; import { selectorFamily } from 'recoil'; +import { FeatureFlagKey } from '~/generated/graphql'; export const prefetchViewIdsFromObjectMetadataItemFamilySelector = selectorFamily({ @@ -8,9 +12,20 @@ export const prefetchViewIdsFromObjectMetadataItemFamilySelector = get: ({ objectMetadataItemId }) => ({ get }) => { + const prefetchedViews = get(prefetchViewsState); const coreViews = get(coreViewsState); - const views = coreViews.map(convertCoreViewToView); + const currentWorkspace = get(currentWorkspaceState); + const featureFlags = + extractFeatureFlagMapFromWorkspace(currentWorkspace); + + const isCoreViewEnabled = + featureFlags[FeatureFlagKey.IS_CORE_VIEW_ENABLED]; + + const views = isCoreViewEnabled + ? coreViews.map(convertCoreViewToView) + : prefetchedViews; + return views .filter((view) => view.objectMetadataId === objectMetadataItemId) .map((view) => view.id); diff --git a/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewLengthFamilySelector.ts b/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewLengthFamilySelector.ts index f03aba1f5d..efe67fc0cc 100644 --- a/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewLengthFamilySelector.ts +++ b/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewLengthFamilySelector.ts @@ -1,13 +1,26 @@ +import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; +import { prefetchViewsState } from '@/prefetch/states/prefetchViewsState'; import { coreViewsState } from '@/views/states/coreViewState'; import { convertCoreViewToView } from '@/views/utils/convertCoreViewToView'; +import { extractFeatureFlagMapFromWorkspace } from '@/workspace/utils/extractFeatureFlagMapFromWorkspace'; import { selector } from 'recoil'; +import { FeatureFlagKey } from '~/generated/graphql'; export const prefetchViewLengthSelector = selector({ key: 'prefetchViewLengthSelector', get: ({ get }) => { + const prefetchedViews = get(prefetchViewsState); const coreViews = get(coreViewsState); - const views = coreViews.map(convertCoreViewToView); + const currentWorkspace = get(currentWorkspaceState); + const featureFlags = extractFeatureFlagMapFromWorkspace(currentWorkspace); + + const isCoreViewEnabled = featureFlags[FeatureFlagKey.IS_CORE_VIEW_ENABLED]; + + const views = isCoreViewEnabled + ? coreViews.map(convertCoreViewToView) + : prefetchedViews; + return views?.length ?? 0; }, }); diff --git a/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewsFromObjectMetadataItemFamilySelector.ts b/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewsFromObjectMetadataItemFamilySelector.ts index 835ecfdc83..68fe57927e 100644 --- a/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewsFromObjectMetadataItemFamilySelector.ts +++ b/packages/twenty-front/src/modules/prefetch/states/selector/prefetchViewsFromObjectMetadataItemFamilySelector.ts @@ -1,7 +1,11 @@ +import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; +import { prefetchViewsState } from '@/prefetch/states/prefetchViewsState'; import { coreViewsState } from '@/views/states/coreViewState'; import { type View } from '@/views/types/View'; import { convertCoreViewToView } from '@/views/utils/convertCoreViewToView'; +import { extractFeatureFlagMapFromWorkspace } from '@/workspace/utils/extractFeatureFlagMapFromWorkspace'; import { selectorFamily } from 'recoil'; +import { FeatureFlagKey } from '~/generated/graphql'; export const prefetchViewsFromObjectMetadataItemFamilySelector = selectorFamily< View[], @@ -11,9 +15,18 @@ export const prefetchViewsFromObjectMetadataItemFamilySelector = selectorFamily< get: ({ objectMetadataItemId }) => ({ get }) => { + const prefetchedViews = get(prefetchViewsState); const coreViews = get(coreViewsState); - const views = coreViews.map(convertCoreViewToView); + const currentWorkspace = get(currentWorkspaceState); + const featureFlags = extractFeatureFlagMapFromWorkspace(currentWorkspace); + + const isCoreViewEnabled = + featureFlags[FeatureFlagKey.IS_CORE_VIEW_ENABLED]; + + const views = isCoreViewEnabled + ? coreViews.map(convertCoreViewToView) + : prefetchedViews; const filteredViews = views.filter( (view) => view.objectMetadataId === objectMetadataItemId, diff --git a/packages/twenty-front/src/modules/users/hooks/useLoadCurrentUser.ts b/packages/twenty-front/src/modules/users/hooks/useLoadCurrentUser.ts index 62d4565428..315f0d69e3 100644 --- a/packages/twenty-front/src/modules/users/hooks/useLoadCurrentUser.ts +++ b/packages/twenty-front/src/modules/users/hooks/useLoadCurrentUser.ts @@ -14,6 +14,7 @@ import { detectTimeFormat } from '@/localization/utils/detectTimeFormat'; import { detectTimeZone } from '@/localization/utils/detectTimeZone'; import { getDateFormatFromWorkspaceDateFormat } from '@/localization/utils/getDateFormatFromWorkspaceDateFormat'; import { getTimeFormatFromWorkspaceTimeFormat } from '@/localization/utils/getTimeFormatFromWorkspaceTimeFormat'; +import { coreViewsState } from '@/views/states/coreViewState'; import { useCallback } from 'react'; import { useSetRecoilState } from 'recoil'; import { SOURCE_LOCALE, type APP_LOCALES } from 'twenty-shared/translations'; @@ -38,6 +39,7 @@ export const useLoadCurrentUser = () => { ); const setCurrentWorkspace = useSetRecoilState(currentWorkspaceState); const setDateTimeFormat = useSetRecoilState(dateTimeFormatState); + const setCoreViews = useSetRecoilState(coreViewsState); const { isOnAWorkspace } = useIsCurrentLocationOnAWorkspace(); @@ -128,6 +130,10 @@ export const useLoadCurrentUser = () => { }); } + if (isDefined(workspace) && isDefined(workspace.views)) { + setCoreViews(workspace.views); + } + return { user, workspaceMember, @@ -137,6 +143,7 @@ export const useLoadCurrentUser = () => { getCurrentUser, isOnAWorkspace, setAvailableWorkspaces, + setCoreViews, setCurrentUser, setCurrentUserWorkspace, setCurrentWorkspace, diff --git a/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewFiltersToCurrentRecordFilters.test.tsx b/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewFiltersToCurrentRecordFilters.test.tsx index b3233a2582..1eef721667 100644 --- a/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewFiltersToCurrentRecordFilters.test.tsx +++ b/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewFiltersToCurrentRecordFilters.test.tsx @@ -52,6 +52,7 @@ describe('useApplyCurrentViewFiltersToCurrentRecordFilters', () => { displayValue: 'test', viewFilterGroupId: 'group-1', positionInViewFilterGroup: 0, + subFieldName: null, }; const mockCoreViewFilter: Omit = { @@ -65,6 +66,7 @@ describe('useApplyCurrentViewFiltersToCurrentRecordFilters', () => { viewId: allCompaniesCoreView.id, positionInViewFilterGroup: 0, viewFilterGroupId: 'group-1', + subFieldName: null, }; const mockView = { diff --git a/packages/twenty-front/src/modules/workspace/hooks/useFeatureFlagsMap.ts b/packages/twenty-front/src/modules/workspace/hooks/useFeatureFlagsMap.ts index bb65daa525..d56d1ef6e0 100644 --- a/packages/twenty-front/src/modules/workspace/hooks/useFeatureFlagsMap.ts +++ b/packages/twenty-front/src/modules/workspace/hooks/useFeatureFlagsMap.ts @@ -1,24 +1,10 @@ import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; +import { extractFeatureFlagMapFromWorkspace } from '@/workspace/utils/extractFeatureFlagMapFromWorkspace'; import { useRecoilValue } from 'recoil'; -import { FeatureFlagKey } from '~/generated/graphql'; -import { buildRecordFromKeysWithSameValue } from '~/utils/array/buildRecordFromKeysWithSameValue'; +import { type FeatureFlagKey } from '~/generated/graphql'; export const useFeatureFlagsMap = (): Record => { const currentWorkspace = useRecoilValue(currentWorkspaceState); - const currentWorkspaceFeatureFlags = currentWorkspace?.featureFlags; - - const initialFeatureFlags = buildRecordFromKeysWithSameValue( - Object.values(FeatureFlagKey), - false, - ); - - if (!currentWorkspaceFeatureFlags) { - return initialFeatureFlags; - } - - return currentWorkspaceFeatureFlags.reduce((acc, featureFlag) => { - acc[featureFlag.key] = featureFlag.value; - return acc; - }, initialFeatureFlags); + return extractFeatureFlagMapFromWorkspace(currentWorkspace); }; diff --git a/packages/twenty-front/src/modules/workspace/utils/extractFeatureFlagMapFromWorkspace.ts b/packages/twenty-front/src/modules/workspace/utils/extractFeatureFlagMapFromWorkspace.ts new file mode 100644 index 0000000000..8e2e31ec04 --- /dev/null +++ b/packages/twenty-front/src/modules/workspace/utils/extractFeatureFlagMapFromWorkspace.ts @@ -0,0 +1,23 @@ +import { type CurrentWorkspace } from '@/auth/states/currentWorkspaceState'; +import { FeatureFlagKey } from '~/generated/graphql'; +import { buildRecordFromKeysWithSameValue } from '~/utils/array/buildRecordFromKeysWithSameValue'; + +export const extractFeatureFlagMapFromWorkspace = ( + currentWorkspace: CurrentWorkspace | null, +): Record => { + const currentWorkspaceFeatureFlags = currentWorkspace?.featureFlags; + + const initialFeatureFlags = buildRecordFromKeysWithSameValue( + Object.values(FeatureFlagKey), + false, + ); + + if (!currentWorkspaceFeatureFlags) { + return initialFeatureFlags; + } + + return currentWorkspaceFeatureFlags.reduce((acc, featureFlag) => { + acc[featureFlag.key] = featureFlag.value; + return acc; + }, initialFeatureFlags); +}; diff --git a/packages/twenty-server/src/engine/workspace-manager/dev-seeder/core/utils/seed-feature-flags.util.ts b/packages/twenty-server/src/engine/workspace-manager/dev-seeder/core/utils/seed-feature-flags.util.ts index 4ce6a2eb50..6bcac22e38 100644 --- a/packages/twenty-server/src/engine/workspace-manager/dev-seeder/core/utils/seed-feature-flags.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/dev-seeder/core/utils/seed-feature-flags.util.ts @@ -58,7 +58,7 @@ export const seedFeatureFlags = async ( { key: FeatureFlagKey.IS_CORE_VIEW_ENABLED, workspaceId: workspaceId, - value: false, + value: true, }, { key: FeatureFlagKey.IS_WORKSPACE_MIGRATION_V2_ENABLED, diff --git a/packages/twenty-server/src/engine/workspace-manager/dev-seeder/metadata/services/dev-seeder-metadata.service.ts b/packages/twenty-server/src/engine/workspace-manager/dev-seeder/metadata/services/dev-seeder-metadata.service.ts index 29261cdd0c..76d42fbaca 100644 --- a/packages/twenty-server/src/engine/workspace-manager/dev-seeder/metadata/services/dev-seeder-metadata.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/dev-seeder/metadata/services/dev-seeder-metadata.service.ts @@ -1,5 +1,8 @@ import { Injectable } from '@nestjs/common'; +import { isDefined } from 'class-validator'; + +import { TypeORMService } from 'src/database/typeorm/typeorm.service'; import { type DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity'; import { FieldMetadataService } from 'src/engine/metadata-modules/field-metadata/services/field-metadata.service'; import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service'; @@ -16,12 +19,14 @@ import { ROCKET_CUSTOM_OBJECT_SEED } from 'src/engine/workspace-manager/dev-seed import { SURVEY_RESULT_CUSTOM_OBJECT_SEED } from 'src/engine/workspace-manager/dev-seeder/metadata/custom-objects/constants/survey-results-object-seed.constant'; import { type FieldMetadataSeed } from 'src/engine/workspace-manager/dev-seeder/metadata/types/field-metadata-seed.type'; import { type ObjectMetadataSeed } from 'src/engine/workspace-manager/dev-seeder/metadata/types/object-metadata-seed.type'; +import { prefillCoreViews } from 'src/engine/workspace-manager/standard-objects-prefill-data/prefill-core-views'; @Injectable() export class DevSeederMetadataService { constructor( private readonly objectMetadataService: ObjectMetadataService, private readonly fieldMetadataService: FieldMetadataService, + private readonly typeORMService: TypeORMService, ) {} private readonly workspaceConfigs: Record< @@ -97,6 +102,8 @@ export class DevSeederMetadataService { fieldMetadataSeeds: fieldConfig.seeds, }); } + + await this.seedCoreViews(workspaceId); } private async seedCustomObject({ @@ -143,4 +150,17 @@ export class DevSeederMetadataService { })), ); } + + private async seedCoreViews(workspaceId: string): Promise { + const mainDataSource = this.typeORMService.getMainDataSource(); + + if (!isDefined(mainDataSource)) { + throw new Error('Could not connect to main data source'); + } + + const createdObjectMetadata = + await this.objectMetadataService.findManyWithinWorkspace(workspaceId); + + await prefillCoreViews(mainDataSource, workspaceId, createdObjectMetadata); + } } diff --git a/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/prefill-core-views.ts b/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/prefill-core-views.ts index a6d08ab120..fc35a399c1 100644 --- a/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/prefill-core-views.ts +++ b/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/prefill-core-views.ts @@ -13,7 +13,6 @@ import { ViewType } from 'src/engine/core-modules/view/enums/view-type.enum'; import { type ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { type ViewDefinition } from 'src/engine/workspace-manager/standard-objects-prefill-data/types/view-definition.interface'; import { companiesAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/companies-all.view'; -import { customAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/custom-all.view'; import { notesAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/notes-all.view'; import { opportunitiesAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/opportunities-all.view'; import { opportunitiesTableByStageView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/opportunity-table-by-stage.view'; @@ -24,6 +23,7 @@ import { tasksByStatusView } from 'src/engine/workspace-manager/standard-objects import { workflowRunsAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/workflow-runs-all.view'; import { workflowVersionsAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/workflow-versions-all.view'; import { workflowsAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/workflows-all.view'; +import { ViewOpenRecordInType } from 'src/modules/view/standard-objects/view.workspace-entity'; import { convertViewFilterOperandToCoreOperand } from 'src/modules/view/utils/convert-view-filter-operand-to-core-operand.util'; export const prefillCoreViews = async ( @@ -31,14 +31,6 @@ export const prefillCoreViews = async ( workspaceId: string, objectMetadataItems: ObjectMetadataEntity[], ): Promise => { - const customObjectMetadataItems = objectMetadataItems.filter( - (item) => item.isCustom, - ); - - const customViews = customObjectMetadataItems.map((item) => - customAllView(item, true), - ); - const views = [ companiesAllView(objectMetadataItems, true), peopleAllView(objectMetadataItems, true), @@ -51,7 +43,6 @@ export const prefillCoreViews = async ( workflowsAllView(objectMetadataItems, true), workflowVersionsAllView(objectMetadataItems, true), workflowRunsAllView(objectMetadataItems, true), - ...customViews, ]; const queryRunner = dataSource.createQueryRunner(); @@ -110,9 +101,9 @@ const createCoreViews = async ( isCompact: false, isCustom: isCustom ?? false, openRecordIn: - openRecordIn === 'SIDE_PANEL' - ? ViewOpenRecordIn.SIDE_PANEL - : ViewOpenRecordIn.RECORD_PAGE, + openRecordIn === ViewOpenRecordInType.RECORD_PAGE + ? ViewOpenRecordIn.RECORD_PAGE + : ViewOpenRecordIn.SIDE_PANEL, kanbanAggregateOperation, kanbanAggregateOperationFieldMetadataId, workspaceId,