MCPcopy Create free account
hub / github.com/adcontextprotocol/adcp / seedDevOrganizations

Function seedDevOrganizations

server/src/dev-setup.ts:20–76  ·  view source on GitHub ↗
(orgDb: OrganizationDatabase)

Source from the content-addressed store, hash-verified

18}
19
20async function seedDevOrganizations(orgDb: OrganizationDatabase): Promise<void> {
21 const devOrgs = [
22 {
23 id: 'org_dev_company_001',
24 name: 'Dev Company (Member)',
25 is_personal: false,
26 company_type: 'brand' as const,
27 revenue_tier: '5m_50m' as const,
28 },
29 {
30 id: 'org_dev_personal_001',
31 name: 'Dev Personal Workspace',
32 is_personal: true,
33 company_type: null,
34 revenue_tier: null,
35 },
36 {
37 id: 'org_dev_builder_001',
38 name: 'Acme Ad Tech',
39 is_personal: false,
40 company_type: 'adtech' as const,
41 revenue_tier: '5m_50m' as const,
42 membership_tier: 'company_standard' as const,
43 },
44 ];
45
46 for (const devOrg of devOrgs) {
47 try {
48 const existing = await orgDb.getOrganization(devOrg.id);
49 if (!existing) {
50 await orgDb.createOrganization({
51 workos_organization_id: devOrg.id,
52 name: devOrg.name,
53 is_personal: devOrg.is_personal,
54 company_type: devOrg.company_type || undefined,
55 revenue_tier: devOrg.revenue_tier || undefined,
56 membership_tier: (devOrg as any).membership_tier || undefined,
57 });
58 logger.info({ orgId: devOrg.id, name: devOrg.name }, 'Created dev organization');
59 } else if ((devOrg as any).membership_tier) {
60 // Ensure tier and subscription status are set for paid dev orgs
61 const pool = getPool();
62 await pool.query(
63 `UPDATE organizations SET membership_tier = $1, subscription_status = 'active'
64 WHERE workos_organization_id = $2 AND (membership_tier IS DISTINCT FROM $1 OR subscription_status IS DISTINCT FROM 'active')`,
65 [(devOrg as any).membership_tier, devOrg.id]
66 );
67 }
68 } catch (error) {
69 if (error instanceof Error && error.message.includes('duplicate key')) {
70 logger.debug({ orgId: devOrg.id }, 'Dev organization already exists');
71 } else {
72 throw error;
73 }
74 }
75 }
76}
77

Callers 1

seedDevDataFunction · 0.85

Calls 4

getPoolFunction · 0.85
createOrganizationMethod · 0.80
queryMethod · 0.80
getOrganizationMethod · 0.45

Tested by

no test coverage detected