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:
+8
@@ -18,6 +18,7 @@ import { WorkspaceEventBatch } from 'src/engine/workspace-event-emitter/types/wo
|
||||
import { UpsertTimelineActivityFromInternalEvent } from 'src/modules/timeline/jobs/upsert-timeline-activity-from-internal-event.job';
|
||||
import { CallWebhookJobsJob } from 'src/engine/core-modules/webhook/jobs/call-webhook-jobs.job';
|
||||
import { type ObjectRecordEventForWebhook } from 'src/engine/core-modules/webhook/types/object-record-event-for-webhook.type';
|
||||
import { CallDatabaseEventTriggerJobsJob } from 'src/engine/metadata-modules/trigger/jobs/call-database-event-trigger-jobs.job';
|
||||
|
||||
@Injectable()
|
||||
export class EntityEventsToDbListener {
|
||||
@@ -28,6 +29,8 @@ export class EntityEventsToDbListener {
|
||||
private readonly webhookQueueService: MessageQueueService,
|
||||
@InjectMessageQueue(MessageQueue.subscriptionsQueue)
|
||||
private readonly subscriptionsQueueService: MessageQueueService,
|
||||
@InjectMessageQueue(MessageQueue.triggerQueue)
|
||||
private readonly triggerQueueService: MessageQueueService,
|
||||
) {}
|
||||
|
||||
@OnDatabaseBatchEvent('*', DatabaseEventAction.CREATED)
|
||||
@@ -82,6 +85,11 @@ export class EntityEventsToDbListener {
|
||||
batchEvent,
|
||||
{ retryLimit: 3 },
|
||||
),
|
||||
this.triggerQueueService.add<WorkspaceEventBatch<T>>(
|
||||
CallDatabaseEventTriggerJobsJob.name,
|
||||
batchEvent,
|
||||
{ retryLimit: 3 },
|
||||
),
|
||||
this.webhookQueueService.add<
|
||||
WorkspaceEventBatch<ObjectRecordEventForWebhook>
|
||||
>(
|
||||
|
||||
Reference in New Issue
Block a user