77 lines
2.1 KiB
TypeScript
77 lines
2.1 KiB
TypeScript
![]() |
/* eslint-disable turbo/no-undeclared-env-vars */
|
||
|
|
||
|
import * as dotenv from "dotenv";
|
||
|
import { fetchCloudAplEnvs, getMetadataManagerForEnv, verifyRequiredEnvs } from "./migration-utils";
|
||
|
|
||
|
import { SendgridPrivateMetadataManager } from "../../src/modules/sendgrid/configuration/sendgrid-metadata-manager";
|
||
|
import { SmtpPrivateMetadataManager } from "../../src/modules/smtp/configuration/smtp-metadata-manager";
|
||
|
|
||
|
dotenv.config();
|
||
|
|
||
|
const runMigration = async () => {
|
||
|
console.log("Starting running migration");
|
||
|
|
||
|
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) {
|
||
|
let isSmtpMigrated = false;
|
||
|
let isSendgridMigrated = false;
|
||
|
|
||
|
console.log("Working on env: ", env.saleorApiUrl);
|
||
|
|
||
|
const metadataManager = getMetadataManagerForEnv(env.saleorApiUrl, env.token, env.appId);
|
||
|
|
||
|
const sendgridMetadataManager = new SendgridPrivateMetadataManager(
|
||
|
metadataManager,
|
||
|
env.saleorApiUrl
|
||
|
);
|
||
|
|
||
|
const sendgridUpdatedSchema = await sendgridMetadataManager.getConfig();
|
||
|
|
||
|
if (sendgridUpdatedSchema) {
|
||
|
console.log("Migrated sendgrid configuration found, overriding");
|
||
|
isSendgridMigrated = true;
|
||
|
await sendgridMetadataManager.setConfig(sendgridUpdatedSchema);
|
||
|
}
|
||
|
|
||
|
const smtpMetadataManager = new SmtpPrivateMetadataManager(metadataManager, env.saleorApiUrl);
|
||
|
|
||
|
const smtpUpdatedSchema = await smtpMetadataManager.getConfig();
|
||
|
|
||
|
if (smtpUpdatedSchema) {
|
||
|
console.log("Migrated smtp configuration found, overriding");
|
||
|
isSmtpMigrated = true;
|
||
|
await smtpMetadataManager.setConfig(smtpUpdatedSchema);
|
||
|
}
|
||
|
|
||
|
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);
|
||
|
};
|
||
|
|
||
|
runMigration();
|