diff --git a/packages/twenty-server/src/engine/workspace-manager/dev-seeder/services/dev-seeder.service.ts b/packages/twenty-server/src/engine/workspace-manager/dev-seeder/services/dev-seeder.service.ts index d5c8b6abdb..436e495151 100644 --- a/packages/twenty-server/src/engine/workspace-manager/dev-seeder/services/dev-seeder.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/dev-seeder/services/dev-seeder.service.ts @@ -2,11 +2,14 @@ import { Injectable } from '@nestjs/common'; import { InjectDataSource } from '@nestjs/typeorm'; import { DataSource } from 'typeorm'; +import { ALL_METADATA_NAME } from 'twenty-shared/metadata'; import { ApplicationService } from 'src/engine/core-modules/application/application.service'; import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum'; import { TwentyConfigService } from 'src/engine/core-modules/twenty-config/twenty-config.service'; import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; +import { getMetadataFlatEntityMapsKey } from 'src/engine/metadata-modules/flat-entity/utils/get-metadata-flat-entity-maps-key.util'; +import { getMetadataRelatedMetadataNames } from 'src/engine/metadata-modules/flat-entity/utils/get-metadata-related-metadata-names.util'; import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { WorkspaceCacheStorageService } from 'src/engine/workspace-cache-storage/workspace-cache-storage.service'; import { WorkspaceCacheService } from 'src/engine/workspace-cache/services/workspace-cache.service'; @@ -125,6 +128,17 @@ export class DevSeederService { workspaceCustomApplicationId: workspaceCustomFlatApplication.id, }); + const relatedPageLayoutCacheKeysToInvalidate = [ + ...getMetadataRelatedMetadataNames(ALL_METADATA_NAME.pageLayout), + ...getMetadataRelatedMetadataNames(ALL_METADATA_NAME.pageLayoutTab), + ...getMetadataRelatedMetadataNames(ALL_METADATA_NAME.pageLayoutWidget), + ].map(getMetadataFlatEntityMapsKey); + + await this.workspaceCacheService.invalidateAndRecompute( + workspaceId, + relatedPageLayoutCacheKeysToInvalidate, + ); + await this.devSeederDataService.seed({ schemaName: dataSourceMetadata.schema, workspaceId,