Refactored and improved seeds (#8695)

- Added a new Seeder service to help with custom object seeds
- Added RichTextFieldInput to edit a rich text field directly on the
table, but deactivated it for now.
This commit is contained in:
Lucas Bordeau
2024-12-24 14:44:52 +01:00
committed by GitHub
parent 4f329d6005
commit e9717603f2
52 changed files with 5807 additions and 86 deletions

View File

@ -1,6 +1,6 @@
import { DEMO_SEED_WORKSPACE_MEMBER_IDS } from "src/engine/workspace-manager/demo-objects-prefill-data/workspace-member";
import { DEMO_SEED_WORKSPACE_MEMBER_IDS } from "src/engine/workspace-manager/demo-objects-prefill-data/seed-workspace-member-with-demo-data";
export const companiesDemo = [
export const COMPANIES_DEMO = [
{
name: 'Google',
domainName: 'goo.gle',

View File

@ -1,4 +1,4 @@
import { DEMO_SEED_WORKSPACE_MEMBER_IDS } from "src/engine/workspace-manager/demo-objects-prefill-data/workspace-member";
import { DEMO_SEED_WORKSPACE_MEMBER_IDS } from "src/engine/workspace-manager/demo-objects-prefill-data/seed-workspace-member-with-demo-data";
export const peopleDemo = [
{

View File

@ -1,8 +1,8 @@
import { EntityManager } from 'typeorm';
import { companiesDemo } from 'src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json';
import { COMPANIES_DEMO } from 'src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json';
export const companyPrefillDemoData = async (
export const seedCompanyWithDemoData = async (
entityManager: EntityManager,
schemaName: string,
) => {
@ -22,7 +22,7 @@ export const companyPrefillDemoData = async (
])
.orIgnore()
.values(
companiesDemo.map((company, index) => ({ ...company, position: index })),
COMPANIES_DEMO.map((company, index) => ({ ...company, position: index })),
)
.returning('*')
.execute();

View File

@ -1,4 +1,4 @@
import { DEMO_SEED_WORKSPACE_MEMBER_IDS } from 'src/engine/workspace-manager/demo-objects-prefill-data/workspace-member';
import { DEMO_SEED_WORKSPACE_MEMBER_IDS } from 'src/engine/workspace-manager/demo-objects-prefill-data/seed-workspace-member-with-demo-data';
import { EntityManager } from 'typeorm';
import { v4 } from 'uuid';
@ -32,7 +32,7 @@ const generateOpportunities = (companies) => {
}));
};
export const opportunityPrefillDemoData = async (
export const seedOpportunityWithDemoData = async (
entityManager: EntityManager,
schemaName: string,
) => {

View File

@ -2,7 +2,7 @@ import { EntityManager } from 'typeorm';
import { peopleDemo } from 'src/engine/workspace-manager/demo-objects-prefill-data/people-demo.json';
export const personPrefillDemoData = async (
export const seedPersonWithDemoData = async (
entityManager: EntityManager,
schemaName: string,
) => {

View File

@ -8,7 +8,7 @@ export const DEMO_SEED_WORKSPACE_MEMBER_IDS = {
TIM: '20202020-1553-45c6-a028-5a9064cce07e',
};
export const workspaceMemberPrefillData = async (
export const seedWorkspaceMemberWithDemoData = async (
entityManager: EntityManager,
schemaName: string,
) => {

View File

@ -3,13 +3,13 @@ import { DataSource, EntityManager } from 'typeorm';
import { seedWorkspaceFavorites } from 'src/database/typeorm-seeds/workspace/favorites';
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
import { shouldSeedWorkspaceFavorite } from 'src/engine/utils/should-seed-workspace-favorite';
import { companyPrefillDemoData } from 'src/engine/workspace-manager/demo-objects-prefill-data/company';
import { opportunityPrefillDemoData } from 'src/engine/workspace-manager/demo-objects-prefill-data/opportunity';
import { personPrefillDemoData } from 'src/engine/workspace-manager/demo-objects-prefill-data/person';
import { workspaceMemberPrefillData } from 'src/engine/workspace-manager/demo-objects-prefill-data/workspace-member';
import { viewPrefillData } from 'src/engine/workspace-manager/standard-objects-prefill-data/view';
import { seedCompanyWithDemoData } from 'src/engine/workspace-manager/demo-objects-prefill-data/seed-company-with-demo-data';
import { seedOpportunityWithDemoData } from 'src/engine/workspace-manager/demo-objects-prefill-data/seed-opportunity-with-demo-data';
import { seedPersonWithDemoData } from 'src/engine/workspace-manager/demo-objects-prefill-data/seed-person-with-demo-data';
import { seedWorkspaceMemberWithDemoData } from 'src/engine/workspace-manager/demo-objects-prefill-data/seed-workspace-member-with-demo-data';
import { seedViewWithDemoData } from 'src/engine/workspace-manager/standard-objects-prefill-data/seed-view-with-demo-data';
export const demoObjectsPrefillData = async (
export const seedWorkspaceWithDemoData = async (
workspaceDataSource: DataSource,
schemaName: string,
objectMetadata: ObjectMetadataEntity[],
@ -30,11 +30,11 @@ export const demoObjectsPrefillData = async (
await workspaceDataSource.transaction(
async (entityManager: EntityManager) => {
await companyPrefillDemoData(entityManager, schemaName);
await personPrefillDemoData(entityManager, schemaName);
await opportunityPrefillDemoData(entityManager, schemaName);
await seedCompanyWithDemoData(entityManager, schemaName);
await seedPersonWithDemoData(entityManager, schemaName);
await seedOpportunityWithDemoData(entityManager, schemaName);
const viewDefinitionsWithId = await viewPrefillData(
const viewDefinitionsWithId = await seedViewWithDemoData(
entityManager,
schemaName,
objectMetadataMap,
@ -48,7 +48,7 @@ export const demoObjectsPrefillData = async (
entityManager,
schemaName,
);
await workspaceMemberPrefillData(entityManager, schemaName);
await seedWorkspaceMemberWithDemoData(entityManager, schemaName);
},
);
};