MCPcopy
hub / github.com/different-ai/openwork / resetDemoOrg

Function resetDemoOrg

ee/apps/den-api/scripts/seed-demo-org.ts:926–961  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

924}
925
926async function resetDemoOrg() {
927 const existing = await db.select().from(OrganizationTable).where(eq(OrganizationTable.slug, DEMO_ORG_SLUG)).limit(1)
928 if (!existing[0]) {
929 log("⊘", "no existing demo org to reset")
930 return
931 }
932 const orgId = existing[0].id
933 log("↻", `resetting demo org ${orgId}…`)
934
935 const pluginIds = (await db.select({ id: PluginTable.id }).from(PluginTable).where(eq(PluginTable.organizationId, orgId))).map((r) => r.id)
936 const marketplaceIds = (await db.select({ id: MarketplaceTable.id }).from(MarketplaceTable).where(eq(MarketplaceTable.organizationId, orgId))).map((r) => r.id)
937 const configObjectIds = (await db.select({ id: ConfigObjectTable.id }).from(ConfigObjectTable).where(eq(ConfigObjectTable.organizationId, orgId))).map((r) => r.id)
938
939 if (configObjectIds.length > 0) {
940 await db.delete(ConfigObjectVersionTable).where(inArray(ConfigObjectVersionTable.configObjectId, configObjectIds))
941 await db.delete(PluginConfigObjectTable).where(inArray(PluginConfigObjectTable.configObjectId, configObjectIds))
942 await db.delete(ConfigObjectAccessGrantTable).where(inArray(ConfigObjectAccessGrantTable.configObjectId, configObjectIds))
943 await db.delete(ConfigObjectTable).where(inArray(ConfigObjectTable.id, configObjectIds))
944 }
945 if (pluginIds.length > 0) {
946 await db.delete(MarketplacePluginTable).where(inArray(MarketplacePluginTable.pluginId, pluginIds))
947 await db.delete(PluginAccessGrantTable).where(inArray(PluginAccessGrantTable.pluginId, pluginIds))
948 await db.delete(PluginTable).where(inArray(PluginTable.id, pluginIds))
949 }
950 if (marketplaceIds.length > 0) {
951 await db.delete(MarketplaceAccessGrantTable).where(inArray(MarketplaceAccessGrantTable.marketplaceId, marketplaceIds))
952 await db.delete(MarketplaceTable).where(inArray(MarketplaceTable.id, marketplaceIds))
953 }
954 await db.delete(OrgSubscriptionTable).where(eq(OrgSubscriptionTable.organization_id, orgId))
955 await db.delete(InvitationTable).where(eq(InvitationTable.organizationId, orgId))
956 await db.delete(TeamMemberTable).where(inArray(TeamMemberTable.teamId, (await db.select({ id: TeamTable.id }).from(TeamTable).where(eq(TeamTable.organizationId, orgId))).map((r) => r.id)))
957 await db.delete(TeamTable).where(eq(TeamTable.organizationId, orgId))
958 await db.delete(MemberTable).where(eq(MemberTable.organizationId, orgId))
959 await db.delete(OrganizationTable).where(eq(OrganizationTable.id, orgId))
960 log("✓", "demo org data deleted")
961}
962
963async function seedPeopleAndTeams(organizationId: OrganizationId) {
964 const userIdsByEmail = new Map<string, UserId>()

Callers 1

mainFunction · 0.85

Calls 2

deleteMethod · 0.80
logFunction · 0.70

Tested by

no test coverage detected