Backfill workspace favorites (#7122)
- command to backfill workspace favorites - create workspace favorites on workspace activation - create workspace favorites on demo seed --------- Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
@ -34,7 +34,7 @@ import { InjectCacheStorage } from 'src/engine/core-modules/cache-storage/decora
|
||||
import { CacheStorageService } from 'src/engine/core-modules/cache-storage/services/cache-storage.service';
|
||||
import { CacheStorageNamespace } from 'src/engine/core-modules/cache-storage/types/cache-storage-namespace.enum';
|
||||
import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum';
|
||||
import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity';
|
||||
import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service';
|
||||
import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service';
|
||||
import { FieldMetadataService } from 'src/engine/metadata-modules/field-metadata/field-metadata.service';
|
||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
||||
@ -63,6 +63,7 @@ export class DataSeedWorkspaceCommand extends CommandRunner {
|
||||
private readonly objectMetadataService: ObjectMetadataService,
|
||||
@InjectCacheStorage(CacheStorageNamespace.EngineWorkspace)
|
||||
private readonly workspaceSchemaCache: CacheStorageService,
|
||||
private readonly featureFlagService: FeatureFlagService,
|
||||
) {
|
||||
super();
|
||||
}
|
||||
@ -129,10 +130,17 @@ export class DataSeedWorkspaceCommand extends CommandRunner {
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
const featureFlagRepository =
|
||||
workspaceDataSource.getRepository<FeatureFlagEntity>('featureFlag');
|
||||
const isMessageThreadSubscriberEnabled =
|
||||
await this.featureFlagService.isFeatureEnabled(
|
||||
FeatureFlagKey.IsMessageThreadSubscriberEnabled,
|
||||
workspaceId,
|
||||
);
|
||||
|
||||
const featureFlags = await featureFlagRepository.find({});
|
||||
const isWorkflowEnabled =
|
||||
await this.featureFlagService.isFeatureEnabled(
|
||||
FeatureFlagKey.IsWorkflowEnabled,
|
||||
workspaceId,
|
||||
);
|
||||
|
||||
await this.seedCompanyCustomFields(
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.company],
|
||||
@ -161,13 +169,6 @@ export class DataSeedWorkspaceCommand extends CommandRunner {
|
||||
dataSourceMetadata.schema,
|
||||
);
|
||||
|
||||
const isMessageThreadSubscriberEnabled = featureFlags.some(
|
||||
(featureFlag) =>
|
||||
featureFlag.key ===
|
||||
FeatureFlagKey.IsMessageThreadSubscriberEnabled &&
|
||||
featureFlag.value === true,
|
||||
);
|
||||
|
||||
if (isMessageThreadSubscriberEnabled) {
|
||||
await seedMessageThreadSubscribers(
|
||||
entityManager,
|
||||
@ -211,11 +212,13 @@ export class DataSeedWorkspaceCommand extends CommandRunner {
|
||||
entityManager,
|
||||
dataSourceMetadata.schema,
|
||||
objectMetadataMap,
|
||||
featureFlags,
|
||||
isWorkflowEnabled,
|
||||
);
|
||||
|
||||
await seedWorkspaceFavorites(
|
||||
viewDefinitionsWithId.map((view) => view.id),
|
||||
viewDefinitionsWithId
|
||||
.filter((view) => view.key === 'INDEX')
|
||||
.map((view) => view.id),
|
||||
entityManager,
|
||||
dataSourceMetadata.schema,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user