From 499022a3283bcaf5ca1ef61b937441bd78d7ed80 Mon Sep 17 00:00:00 2001 From: Douglas Camargo Date: Mon, 23 Jun 2025 22:35:40 -0300 Subject: [PATCH] feat: add database name in database backup notification --- packages/server/src/utils/backups/compose.ts | 2 ++ packages/server/src/utils/backups/mariadb.ts | 2 ++ packages/server/src/utils/backups/mongo.ts | 2 ++ packages/server/src/utils/backups/mysql.ts | 2 ++ packages/server/src/utils/backups/postgres.ts | 2 ++ .../src/utils/notifications/database-backup.ts | 14 +++++++++++++- 6 files changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/server/src/utils/backups/compose.ts b/packages/server/src/utils/backups/compose.ts index 82fb8828..039b765d 100644 --- a/packages/server/src/utils/backups/compose.ts +++ b/packages/server/src/utils/backups/compose.ts @@ -49,6 +49,7 @@ export const runComposeBackup = async ( databaseType: "mongodb", type: "success", organizationId: project.organizationId, + databaseName: backup.database }); await updateDeploymentStatus(deployment.deploymentId, "done"); @@ -62,6 +63,7 @@ export const runComposeBackup = async ( // @ts-ignore errorMessage: error?.message || "Error message not provided", organizationId: project.organizationId, + databaseName: backup.database }); await updateDeploymentStatus(deployment.deploymentId, "error"); diff --git a/packages/server/src/utils/backups/mariadb.ts b/packages/server/src/utils/backups/mariadb.ts index 70bad169..bca65bfd 100644 --- a/packages/server/src/utils/backups/mariadb.ts +++ b/packages/server/src/utils/backups/mariadb.ts @@ -48,6 +48,7 @@ export const runMariadbBackup = async ( databaseType: "mariadb", type: "success", organizationId: project.organizationId, + databaseName: backup.database }); await updateDeploymentStatus(deployment.deploymentId, "done"); } catch (error) { @@ -60,6 +61,7 @@ export const runMariadbBackup = async ( // @ts-ignore errorMessage: error?.message || "Error message not provided", organizationId: project.organizationId, + databaseName: backup.database }); await updateDeploymentStatus(deployment.deploymentId, "error"); throw error; diff --git a/packages/server/src/utils/backups/mongo.ts b/packages/server/src/utils/backups/mongo.ts index 806fd5c0..9ef147a5 100644 --- a/packages/server/src/utils/backups/mongo.ts +++ b/packages/server/src/utils/backups/mongo.ts @@ -46,6 +46,7 @@ export const runMongoBackup = async (mongo: Mongo, backup: BackupSchedule) => { databaseType: "mongodb", type: "success", organizationId: project.organizationId, + databaseName: backup.database }); await updateDeploymentStatus(deployment.deploymentId, "done"); } catch (error) { @@ -58,6 +59,7 @@ export const runMongoBackup = async (mongo: Mongo, backup: BackupSchedule) => { // @ts-ignore errorMessage: error?.message || "Error message not provided", organizationId: project.organizationId, + databaseName: backup.database }); await updateDeploymentStatus(deployment.deploymentId, "error"); throw error; diff --git a/packages/server/src/utils/backups/mysql.ts b/packages/server/src/utils/backups/mysql.ts index 2ba8a0e1..1397c835 100644 --- a/packages/server/src/utils/backups/mysql.ts +++ b/packages/server/src/utils/backups/mysql.ts @@ -47,6 +47,7 @@ export const runMySqlBackup = async (mysql: MySql, backup: BackupSchedule) => { databaseType: "mysql", type: "success", organizationId: project.organizationId, + databaseName: backup.database }); await updateDeploymentStatus(deployment.deploymentId, "done"); } catch (error) { @@ -59,6 +60,7 @@ export const runMySqlBackup = async (mysql: MySql, backup: BackupSchedule) => { // @ts-ignore errorMessage: error?.message || "Error message not provided", organizationId: project.organizationId, + databaseName: backup.database }); await updateDeploymentStatus(deployment.deploymentId, "error"); throw error; diff --git a/packages/server/src/utils/backups/postgres.ts b/packages/server/src/utils/backups/postgres.ts index 9ce2025a..c02bae96 100644 --- a/packages/server/src/utils/backups/postgres.ts +++ b/packages/server/src/utils/backups/postgres.ts @@ -50,6 +50,7 @@ export const runPostgresBackup = async ( databaseType: "postgres", type: "success", organizationId: project.organizationId, + databaseName: backup.database }); await updateDeploymentStatus(deployment.deploymentId, "done"); @@ -62,6 +63,7 @@ export const runPostgresBackup = async ( // @ts-ignore errorMessage: error?.message || "Error message not provided", organizationId: project.organizationId, + databaseName: backup.database }); await updateDeploymentStatus(deployment.deploymentId, "error"); diff --git a/packages/server/src/utils/notifications/database-backup.ts b/packages/server/src/utils/notifications/database-backup.ts index 37a4a1ff..21279a3b 100644 --- a/packages/server/src/utils/notifications/database-backup.ts +++ b/packages/server/src/utils/notifications/database-backup.ts @@ -19,6 +19,7 @@ export const sendDatabaseBackupNotifications = async ({ type, errorMessage, organizationId, + databaseName }: { projectName: string; applicationName: string; @@ -26,6 +27,7 @@ export const sendDatabaseBackupNotifications = async ({ type: "error" | "success"; organizationId: string; errorMessage?: string; + databaseName: string; }) => { const date = new Date(); const unixDate = ~~(Number(date) / 1000); @@ -90,6 +92,11 @@ export const sendDatabaseBackupNotifications = async ({ value: databaseType, inline: true, }, + { + name: decorate("`📂`", "Database Name"), + value: databaseName, + inline: true, + }, { name: decorate("`📅`", "Date"), value: ``, @@ -136,6 +143,7 @@ export const sendDatabaseBackupNotifications = async ({ `${decorate("🛠️", `Project: ${projectName}`)}` + `${decorate("⚙️", `Application: ${applicationName}`)}` + `${decorate("❔", `Type: ${databaseType}`)}` + + `${decorate("📂", `Database Name: ${databaseName}`)}` + `${decorate("🕒", `Date: ${date.toLocaleString()}`)}` + `${type === "error" && errorMessage ? decorate("❌", `Error:\n${errorMessage}`) : ""}`, ); @@ -150,7 +158,7 @@ export const sendDatabaseBackupNotifications = async ({ ? `\n\nError:\n
${errorMessage}
` : ""; - const messageText = `${statusEmoji} Database Backup ${typeStatus}\n\nProject: ${projectName}\nApplication: ${applicationName}\nType: ${databaseType}\nDate: ${format(date, "PP")}\nTime: ${format(date, "pp")}${isError ? errorMsg : ""}`; + const messageText = `${statusEmoji} Database Backup ${typeStatus}\n\nProject: ${projectName}\nApplication: ${applicationName}\nType: ${databaseType}\nDatabase Name: ${databaseName}\nDate: ${format(date, "PP")}\nTime: ${format(date, "pp")}${isError ? errorMsg : ""}`; await sendTelegramNotification(telegram, messageText); } @@ -191,6 +199,10 @@ export const sendDatabaseBackupNotifications = async ({ value: databaseType, short: true, }, + { + title: "Database Name", + value: databaseName + }, { title: "Time", value: date.toLocaleString(),