Skip to content

Commit 6dbfe19

Browse files
bigfluffycookiebigfluffycookie
andauthored
Fix seeding of opportunities table (#174)
Co-authored-by: bigfluffycookie <[email protected]>
1 parent 42c4410 commit 6dbfe19

File tree

2 files changed

+40
-3
lines changed

2 files changed

+40
-3
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { logger } from '@openops/server-shared';
2+
import { FlagEntity } from '../../flags/flag.entity';
3+
import { seedTemplateTablesService } from '../../openops-tables/template-tables/seed-tables-for-templates';
4+
import { databaseConnection } from '../database-connection';
5+
6+
const OPPORTUNITIES_TABLE_SEED = 'OPPORTUNITY_SEED';
7+
8+
const tableAlreadyCreated = async (): Promise<boolean> => {
9+
const flagRepo = databaseConnection().getRepository(FlagEntity);
10+
const tablesSeedFlag = await flagRepo.findOneBy({
11+
id: OPPORTUNITIES_TABLE_SEED,
12+
});
13+
return tablesSeedFlag?.value === true;
14+
};
15+
16+
const setTableSeedFlag = async (): Promise<void> => {
17+
const flagRepo = databaseConnection().getRepository(FlagEntity);
18+
19+
await flagRepo.save({
20+
id: OPPORTUNITIES_TABLE_SEED,
21+
value: true,
22+
});
23+
};
24+
25+
export const seedOpportunitesTemplateTable = async (): Promise<void> => {
26+
if (await tableAlreadyCreated()) {
27+
logger.info('Skip: Opportunity table already seeded', {
28+
name: 'seedOpportunityTable',
29+
});
30+
return;
31+
}
32+
33+
await seedTemplateTablesService.createOpportunityTemplateTable();
34+
35+
await setTableSeedFlag();
36+
};

packages/server/api/src/main.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { databaseConnection } from './app/database/database-connection';
1212
import { seedDevData } from './app/database/seeds/dev-seeds';
1313
import * as analytics from './app/database/seeds/openops-analytics-seed';
1414
import { updateOpportunitiesTable } from './app/database/seeds/openops-delete-and-recreate-opportunities-table';
15+
import { seedOpportunitesTemplateTable } from './app/database/seeds/openops-opportunities-table-seed';
1516
import { updateOpenopsTablesDatabase } from './app/database/seeds/openops-tables-rename-database';
1617
import { seedAdminData } from './app/database/seeds/seed-admin';
1718
import { seedEnvironmentId } from './app/database/seeds/seed-env-id';
@@ -54,12 +55,12 @@ const main = async (): Promise<void> => {
5455
await seedAdminData();
5556
// TODO: remove this when all environments are migrated
5657
await updateOpenopsTablesDatabase();
57-
await analytics.seedAnalytics();
58-
59-
await seedDevData();
6058
await updateOpportunitiesTable();
59+
await seedDevData();
6160

6261
await seedTemplateTables();
62+
await seedOpportunitesTemplateTable();
63+
await analytics.seedAnalytics();
6364

6465
initializeLock();
6566
}

0 commit comments

Comments
 (0)