Trigger workflow on database event (#6480)

- Add global listener on database event
- Fetch event listener associated
- Trigger associated workflow

Also updated the runner so it expects the input to be in the payload
rather than the trigger
This commit is contained in:
Thomas Trompette
2024-08-01 11:57:44 +02:00
committed by GitHub
parent ae423f5e75
commit 8c8f192765
15 changed files with 271 additions and 39 deletions

View File

@ -2,7 +2,6 @@ import { WorkflowAction } from 'src/modules/workflow/common/types/workflow-actio
export enum WorkflowTriggerType {
DATABASE_EVENT = 'DATABASE_EVENT',
MANUAL = 'MANUAL',
}
type BaseTrigger = {
@ -19,10 +18,4 @@ export type WorkflowDatabaseEventTrigger = BaseTrigger & {
};
};
type WorkflowManualTrigger = BaseTrigger & {
type: WorkflowTriggerType.MANUAL;
};
export type WorkflowTrigger =
| WorkflowDatabaseEventTrigger
| WorkflowManualTrigger;
export type WorkflowTrigger = WorkflowDatabaseEventTrigger;

View File

@ -2,11 +2,11 @@ import { Injectable } from '@nestjs/common';
import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.manager';
import { WorkflowVersionWorkspaceEntity } from 'src/modules/workflow/common/standard-objects/workflow-version.workspace-entity';
import { WorkflowTrigger } from 'src/modules/workflow/common/types/workflow-trigger.type';
import {
WorkflowTriggerException,
WorkflowTriggerExceptionCode,
} from 'src/modules/workflow/workflow-trigger/workflow-trigger.exception';
import { WorkflowTrigger } from 'src/modules/workflow/common/types/workflow-trigger.type';
@Injectable()
export class WorkflowCommonService {