14064 extensibility add coretriggereventlistener table (#14138)

This Pr continues the extensibility journey
- adds a `core.databaseEventTrigger` table
- add a oneToMany relation between `core.serverlessFunction` and
`core.databaseEventTrigger`
- add a job `CallDatabaseEventTriggerJobsJob` triggered by
`EntityEventsToDbListener` triggering `serverlessFunction` based on the
`core.databaseEventTrigger.settings.eventName`
- add a new `trigger-queue` to carry this job
- renamed `DatabaseEventTriggerListener` into
`WorkflowDatabaseEventTriggerListener`
This commit is contained in:
martmull
2025-08-29 08:11:35 +02:00
committed by GitHub
parent b364acf5bb
commit 71d97c5398
13 changed files with 254 additions and 15 deletions
@@ -12,6 +12,7 @@ import {
import { InputSchema } from 'src/modules/workflow/workflow-builder/workflow-schema/types/input-schema.type';
import { CronTrigger } from 'src/engine/metadata-modules/trigger/entities/cron-trigger.entity';
import { DatabaseEventTrigger } from 'src/engine/metadata-modules/trigger/entities/database-event-trigger.entity';
const DEFAULT_SERVERLESS_TIMEOUT_SECONDS = 300; // 5 minutes
@@ -63,6 +64,15 @@ export class ServerlessFunctionEntity {
)
cronTriggers: CronTrigger[];
@OneToMany(
() => DatabaseEventTrigger,
(databaseEventTrigger) => databaseEventTrigger.serverlessFunction,
{
cascade: true,
},
)
databaseEventTriggers: DatabaseEventTrigger[];
@CreateDateColumn({ type: 'timestamptz' })
createdAt: Date;