Files
cfw-autumn/server/tests/clearMasterOrg.ts

52 lines
1.2 KiB
TypeScript

#!/usr/bin/env bun
import { AppEnv } from "@autumn/shared";
import chalk from "chalk";
import { createTestLogger } from "./utils/testInitUtils/createTestContext.js";
import { clearOrg } from "./utils/setup/clearOrg.js";
import { setupOrg } from "./utils/setup/setupOrg.js";
export const clearMasterOrg = async ({
seedFeatures = true,
}: {
seedFeatures?: boolean;
} = {}) => {
const logger = createTestLogger();
console.log(chalk.blue("\nClearing Master Org...\n"));
try {
if (!process.env.TESTS_ORG) {
console.error(chalk.red("\nTESTS_ORG is not set\n"));
process.exit(1);
}
const databaseUrl = process.env.DATABASE_URL ?? "";
if (databaseUrl.toLowerCase().includes("fancy-duckling")) {
console.error(
chalk.red(
"\nRefusing to run clearMasterOrg against prod-like DATABASE_URL.\n",
),
);
process.exit(1);
}
const org = await clearOrg({
orgSlug: process.env.TESTS_ORG,
env: AppEnv.Sandbox,
});
logger.info("Master org cleared", { orgId: org.id });
await setupOrg({
orgId: org.id,
env: AppEnv.Sandbox,
seedFeatures,
});
console.log(chalk.green("\nMaster org setup complete.\n"));
} catch (error) {
console.error(chalk.red("\nError:"), error);
process.exit(1);
}
};