feat(notifications): add emails and methos for each action

This commit is contained in:
Mauricio Siu
2024-07-19 01:02:48 -06:00
parent 787506fb6b
commit 2d4eaeb8b5
22 changed files with 7215 additions and 162 deletions

View File

@@ -17,7 +17,10 @@ import { TRPCError } from "@trpc/server";
import { eq } from "drizzle-orm";
import { findAdmin } from "./admin";
import { createDeployment, updateDeploymentStatus } from "./deployment";
import { sendBuildErrorNotifications } from "./notification";
import {
sendBuildErrorNotifications,
sendBuildSuccessNotifications,
} from "./notification";
import { validUniqueServerAppName } from "./project";
export type Application = typeof applications.$inferSelect;
@@ -157,13 +160,20 @@ export const deployApplication = async ({
}
await updateDeploymentStatus(deployment.deploymentId, "done");
await updateApplicationStatus(applicationId, "done");
await sendBuildSuccessNotifications({
projectName: application.project.name,
applicationName: application.name,
applicationType: "application",
buildLink: deployment.logPath,
});
} catch (error) {
console.log("Error on build", error);
await updateDeploymentStatus(deployment.deploymentId, "error");
await updateApplicationStatus(applicationId, "error");
await sendBuildErrorNotifications({
projectName: application.project.name,
applicationName: application.appName,
applicationName: application.name,
applicationType: "application",
errorMessage: error?.message || "Error to build",
buildLink: deployment.logPath,