32 lines
1.3 KiB
TypeScript
32 lines
1.3 KiB
TypeScript
import { DataSource, EntityManager } from 'typeorm';
|
|
|
|
import { ObjectMetadataEntity } from 'src/metadata/object-metadata/object-metadata.entity';
|
|
import { viewPrefillData } from 'src/workspace/workspace-manager/standard-objects-prefill-data/view';
|
|
import { companyPrefillData } from 'src/workspace/workspace-manager/standard-objects-prefill-data/company';
|
|
import { personPrefillData } from 'src/workspace/workspace-manager/standard-objects-prefill-data/person';
|
|
import { pipelineStepPrefillData } from 'src/workspace/workspace-manager/standard-objects-prefill-data/pipeline-step';
|
|
|
|
export const standardObjectsPrefillData = async (
|
|
workspaceDataSource: DataSource,
|
|
schemaName: string,
|
|
objectMetadata: ObjectMetadataEntity[],
|
|
) => {
|
|
const objectMetadataMap = objectMetadata.reduce((acc, object) => {
|
|
acc[object.nameSingular] = {
|
|
id: object.id,
|
|
fields: object.fields.reduce((acc, field) => {
|
|
acc[field.name] = field.id;
|
|
return acc;
|
|
}, {}),
|
|
};
|
|
return acc;
|
|
}, {});
|
|
|
|
workspaceDataSource.transaction(async (entityManager: EntityManager) => {
|
|
await companyPrefillData(entityManager, schemaName);
|
|
await personPrefillData(entityManager, schemaName);
|
|
await viewPrefillData(entityManager, schemaName, objectMetadataMap);
|
|
await pipelineStepPrefillData(entityManager, schemaName);
|
|
});
|
|
};
|