Files
twenty_crm/packages/twenty-server/src/engine/workspace-manager/standard-objects-prefill-data/standard-objects-prefill-data.ts
martmull 4f307a24b0 Add workflow seed (#12572)
Add "Quick Lead" workflow Manually triggered on no record selected
- form -> first name / last Name / email / job title / company name /
company domainName
- create company
- create person


![quickLead1](https://github.com/user-attachments/assets/972cd025-1940-42d6-aec4-38c650f0eee0)
<img width="1512" alt="Capture d’écran 2025-06-12 à 16 31 26"
src="https://github.com/user-attachments/assets/3c598370-12b1-4bf1-8a09-13926948ffbd"
/>
<img width="1512" alt="image"
src="https://github.com/user-attachments/assets/37db685a-ab59-46da-8086-c53cd4a2bac4"
/>
2025-06-12 18:04:46 +02:00

46 lines
1.8 KiB
TypeScript

import { DataSource } from 'typeorm';
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
import { 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 { prefillWorkspaceFavorites } from 'src/engine/workspace-manager/standard-objects-prefill-data/prefill-workspace-favorites';
import { prefillWorkflows } from 'src/engine/workspace-manager/standard-objects-prefill-data/prefill-workflows';
export const standardObjectsPrefillData = async (
mainDataSource: DataSource,
schemaName: string,
objectMetadataItems: ObjectMetadataEntity[],
) => {
mainDataSource.transaction(async (entityManager: WorkspaceEntityManager) => {
await prefillCompanies(entityManager, schemaName);
await prefillPeople(entityManager, schemaName);
await prefillWorkflows(entityManager, schemaName);
const viewDefinitionsWithId = await prefillViews(
entityManager,
schemaName,
objectMetadataItems,
);
await prefillWorkspaceFavorites(
viewDefinitionsWithId
.filter(
(view) =>
view.key === 'INDEX' &&
shouldSeedWorkspaceFavorite(
view.objectMetadataId,
objectMetadataItems,
),
)
.map((view) => view.id),
entityManager,
schemaName,
);
});
};