98 lines
2.9 KiB
TypeScript
98 lines
2.9 KiB
TypeScript
![]() |
/* eslint-disable turbo/no-undeclared-env-vars */
|
||
|
|
||
|
import * as dotenv from "dotenv";
|
||
|
import { fetchCloudAplEnvs, getMetadataManagerForEnv, verifyRequiredEnvs } from "./migration-utils";
|
||
|
|
||
|
import { AppConfigPrivateMetadataManager } from "../../src/modules/app-configuration/app-config-metadata-manager";
|
||
|
import { SendgridPrivateMetadataManagerV1 } from "../../src/modules/sendgrid/configuration/sendgrid-metadata-manager-v1";
|
||
|
import { MjmlPrivateMetadataManager } from "../../src/modules/smtp/configuration/mjml-metadata-manager";
|
||
|
import { smtpTransformV1toV2 } from "../../src/modules/smtp/configuration/migrations/smtp-transform-v1-to-v2";
|
||
|
import { sendgridTransformV1toV2 } from "../../src/modules/sendgrid/configuration/migrations/sendgrid-transform-v1-to-v2";
|
||
|
|
||
|
dotenv.config();
|
||
|
|
||
|
const runReport = async () => {
|
||
|
console.log("Starting running report");
|
||
|
|
||
|
verifyRequiredEnvs();
|
||
|
|
||
|
console.log("Envs verified, fetching envs");
|
||
|
const allEnvs = await fetchCloudAplEnvs().catch((r) => {
|
||
|
console.error(r);
|
||
|
|
||
|
process.exit(1);
|
||
|
});
|
||
|
|
||
|
const report = {
|
||
|
smtp: [] as string[],
|
||
|
sendgrid: [] as string[],
|
||
|
none: [] as string[],
|
||
|
};
|
||
|
|
||
|
for (const env of allEnvs) {
|
||
|
console.log("Working on env: ", env.saleorApiUrl);
|
||
|
let isSmtpMigrated = false;
|
||
|
let isSendgridMigrated = false;
|
||
|
|
||
|
const metadataManager = getMetadataManagerForEnv(env.saleorApiUrl, env.token, env.appId);
|
||
|
|
||
|
const sendgridMetadataManagerV1 = new SendgridPrivateMetadataManagerV1(
|
||
|
metadataManager,
|
||
|
env.saleorApiUrl
|
||
|
);
|
||
|
|
||
|
const appMetadataManager = new AppConfigPrivateMetadataManager(
|
||
|
metadataManager,
|
||
|
env.saleorApiUrl
|
||
|
);
|
||
|
|
||
|
const appConfiguration = await appMetadataManager.getConfig();
|
||
|
|
||
|
const sendgridConfigurationV1 = await sendgridMetadataManagerV1.getConfig();
|
||
|
|
||
|
if (sendgridConfigurationV1) {
|
||
|
console.log("Found old sendgrid config, migrating");
|
||
|
isSendgridMigrated = true;
|
||
|
const v2 = sendgridTransformV1toV2({
|
||
|
configV1: sendgridConfigurationV1,
|
||
|
appConfigV1: appConfiguration,
|
||
|
});
|
||
|
|
||
|
console.log("Old config", sendgridConfigurationV1);
|
||
|
console.log("New config", v2);
|
||
|
}
|
||
|
|
||
|
const mjmlMetadataManagerV1 = new MjmlPrivateMetadataManager(metadataManager, env.saleorApiUrl);
|
||
|
|
||
|
const mjmlConfiguration = await mjmlMetadataManagerV1.getConfig();
|
||
|
|
||
|
if (mjmlConfiguration) {
|
||
|
console.log("Found old mjml config, migrating");
|
||
|
isSmtpMigrated = true;
|
||
|
const v2 = smtpTransformV1toV2({
|
||
|
configV1: mjmlConfiguration,
|
||
|
appConfigV1: appConfiguration,
|
||
|
});
|
||
|
|
||
|
console.log("Old config", mjmlConfiguration);
|
||
|
console.log("New config", v2);
|
||
|
}
|
||
|
|
||
|
if (isSendgridMigrated) {
|
||
|
report.sendgrid.push(env.saleorApiUrl);
|
||
|
}
|
||
|
|
||
|
if (isSmtpMigrated) {
|
||
|
report.smtp.push(env.saleorApiUrl);
|
||
|
}
|
||
|
|
||
|
if (!isSmtpMigrated && !isSendgridMigrated) {
|
||
|
report.none.push(env.saleorApiUrl);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
console.log("Report", report);
|
||
|
};
|
||
|
|
||
|
runReport();
|