## Context To simplify the way we inject our default datasource, I've recently removed the token injection that was confusion since we only had once configured on the module level. Now I'm removing TypeORM service which allows us to instantiate a new Datasource with the same parameters as the default one, it was redundant and confusing.
49 lines
2.0 KiB
TypeScript
49 lines
2.0 KiB
TypeScript
import { type ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
|
import { type WorkspaceDataSource } from 'src/engine/twenty-orm/datasource/workspace.datasource';
|
|
import { type WorkspaceEntityManager } from 'src/engine/twenty-orm/entity-manager/workspace-entity-manager';
|
|
import { shouldSeedWorkspaceFavorite } from 'src/engine/utils/should-seed-workspace-favorite';
|
|
import { prefillCompanies } from 'src/engine/workspace-manager/standard-objects-prefill-data/prefill-companies';
|
|
import { prefillPeople } from 'src/engine/workspace-manager/standard-objects-prefill-data/prefill-people';
|
|
import { prefillViews } from 'src/engine/workspace-manager/standard-objects-prefill-data/prefill-views';
|
|
import { prefillWorkflows } from 'src/engine/workspace-manager/standard-objects-prefill-data/prefill-workflows';
|
|
import { prefillWorkspaceFavorites } from 'src/engine/workspace-manager/standard-objects-prefill-data/prefill-workspace-favorites';
|
|
|
|
export const standardObjectsPrefillData = async (
|
|
workspaceDataSource: WorkspaceDataSource,
|
|
schemaName: string,
|
|
objectMetadataItems: ObjectMetadataEntity[],
|
|
featureFlags?: Record<string, boolean>,
|
|
) => {
|
|
workspaceDataSource.transaction(
|
|
async (entityManager: WorkspaceEntityManager) => {
|
|
await prefillCompanies(entityManager, schemaName);
|
|
|
|
await prefillPeople(entityManager, schemaName);
|
|
|
|
await prefillWorkflows(entityManager, schemaName, objectMetadataItems);
|
|
|
|
const viewDefinitionsWithId = await prefillViews(
|
|
entityManager,
|
|
schemaName,
|
|
objectMetadataItems,
|
|
featureFlags,
|
|
);
|
|
|
|
await prefillWorkspaceFavorites(
|
|
viewDefinitionsWithId
|
|
.filter(
|
|
(view) =>
|
|
view.key === 'INDEX' &&
|
|
shouldSeedWorkspaceFavorite(
|
|
view.objectMetadataId,
|
|
objectMetadataItems,
|
|
),
|
|
)
|
|
.map((view) => view.id),
|
|
entityManager,
|
|
schemaName,
|
|
);
|
|
},
|
|
);
|
|
};
|