diff --git a/apps/event-worker/src/workers/index.ts b/apps/event-worker/src/workers/index.ts index 5da689f8d..a2d0fe550 100644 --- a/apps/event-worker/src/workers/index.ts +++ b/apps/event-worker/src/workers/index.ts @@ -4,6 +4,7 @@ import type { Worker } from "bullmq"; import { Channel } from "@ctrlplane/events"; import { dispatchJobWorker } from "./job-dispatch/index.js"; +import { newDeploymentWorker } from "./new-deployment.js"; import { resourceScanWorker } from "./resource-scan/index.js"; type Workers = { @@ -11,7 +12,7 @@ type Workers = { }; export const workers: Workers = { - [Channel.NewDeployment]: null, + [Channel.NewDeployment]: newDeploymentWorker, [Channel.NewEnvironment]: null, [Channel.ReleaseEvaluate]: null, [Channel.DispatchJob]: dispatchJobWorker, diff --git a/packages/api/src/router/deployment.ts b/packages/api/src/router/deployment.ts index dbe033beb..a652200ff 100644 --- a/packages/api/src/router/deployment.ts +++ b/packages/api/src/router/deployment.ts @@ -13,6 +13,7 @@ import { takeFirstOrNull, } from "@ctrlplane/db"; import * as SCHEMA from "@ctrlplane/db/schema"; +import { Channel, getQueue } from "@ctrlplane/events"; import { getEventsForDeploymentRemoved, handleEvent, @@ -120,6 +121,9 @@ const hookRouter = createTRPCRouter({ .values({ hookId: h.id, runbookId: rb.id }) .returning() .then(takeFirst); + + await getQueue(Channel.NewDeployment).add(dep.id, dep); + return { ...h, runhook: rh }; }), ), diff --git a/packages/events/src/types.ts b/packages/events/src/types.ts index e96d9cfc2..5410087a6 100644 --- a/packages/events/src/types.ts +++ b/packages/events/src/types.ts @@ -22,8 +22,7 @@ export type ReleaseEvaluateJobData = { }; export type ChannelMap = { - // [Channel.UpsertRelease]: typeof schema.release.$inferInsert; - [Channel.NewDeployment]: typeof schema.deployment.$inferSelect; + [Channel.NewDeployment]: schema.Deployment; [Channel.NewEnvironment]: typeof schema.environment.$inferSelect; [Channel.ReleaseEvaluate]: ReleaseEvaluateJobData; [Channel.DispatchJob]: { jobId: string };