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:
+2
-2
@@ -7,7 +7,7 @@ import { WorkflowCommonModule } from 'src/modules/workflow/common/workflow-commo
|
||||
import { AutomatedTriggerWorkspaceService } from 'src/modules/workflow/workflow-trigger/automated-trigger/automated-trigger.workspace-service';
|
||||
import { WorkflowCronTriggerCronCommand } from 'src/modules/workflow/workflow-trigger/automated-trigger/crons/commands/workflow-cron-trigger.cron.command';
|
||||
import { WorkflowCronTriggerCronJob } from 'src/modules/workflow/workflow-trigger/automated-trigger/crons/jobs/workflow-cron-trigger-cron.job';
|
||||
import { DatabaseEventTriggerListener } from 'src/modules/workflow/workflow-trigger/automated-trigger/listeners/database-event-trigger.listener';
|
||||
import { WorkflowDatabaseEventTriggerListener } from 'src/modules/workflow/workflow-trigger/automated-trigger/listeners/workflow-database-event-trigger.listener';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -17,7 +17,7 @@ import { DatabaseEventTriggerListener } from 'src/modules/workflow/workflow-trig
|
||||
],
|
||||
providers: [
|
||||
AutomatedTriggerWorkspaceService,
|
||||
DatabaseEventTriggerListener,
|
||||
WorkflowDatabaseEventTriggerListener,
|
||||
WorkflowCronTriggerCronJob,
|
||||
WorkflowCronTriggerCronCommand,
|
||||
],
|
||||
|
||||
+6
-6
@@ -4,13 +4,13 @@ import { MessageQueueService } from 'src/engine/core-modules/message-queue/servi
|
||||
import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.manager';
|
||||
import { AutomatedTriggerType } from 'src/modules/workflow/common/standard-objects/workflow-automated-trigger.workspace-entity';
|
||||
import { WorkflowCommonWorkspaceService } from 'src/modules/workflow/common/workspace-services/workflow-common.workspace-service';
|
||||
import { DatabaseEventTriggerListener } from 'src/modules/workflow/workflow-trigger/automated-trigger/listeners/database-event-trigger.listener';
|
||||
import { WorkflowDatabaseEventTriggerListener } from 'src/modules/workflow/workflow-trigger/automated-trigger/listeners/workflow-database-event-trigger.listener';
|
||||
import { WorkflowTriggerJob } from 'src/modules/workflow/workflow-trigger/jobs/workflow-trigger.job';
|
||||
import { getMockObjectMetadataEntity } from 'src/utils/__test__/get-object-metadata-entity.mock';
|
||||
import { getMockObjectMetadataItemWithFieldsMaps } from 'src/utils/__test__/get-object-metadata-item-with-fields-maps.mock';
|
||||
|
||||
describe('DatabaseEventTriggerListener', () => {
|
||||
let listener: DatabaseEventTriggerListener;
|
||||
describe('WorkflowDatabaseEventTriggerListener', () => {
|
||||
let listener: WorkflowDatabaseEventTriggerListener;
|
||||
let twentyORMGlobalManager: jest.Mocked<TwentyORMGlobalManager>;
|
||||
let messageQueueService: jest.Mocked<MessageQueueService>;
|
||||
|
||||
@@ -29,7 +29,7 @@ describe('DatabaseEventTriggerListener', () => {
|
||||
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [
|
||||
DatabaseEventTriggerListener,
|
||||
WorkflowDatabaseEventTriggerListener,
|
||||
{
|
||||
provide: TwentyORMGlobalManager,
|
||||
useValue: twentyORMGlobalManager,
|
||||
@@ -83,8 +83,8 @@ describe('DatabaseEventTriggerListener', () => {
|
||||
],
|
||||
}).compile();
|
||||
|
||||
listener = module.get<DatabaseEventTriggerListener>(
|
||||
DatabaseEventTriggerListener,
|
||||
listener = module.get<WorkflowDatabaseEventTriggerListener>(
|
||||
WorkflowDatabaseEventTriggerListener,
|
||||
);
|
||||
});
|
||||
|
||||
+4
-2
@@ -29,8 +29,10 @@ import {
|
||||
} from 'src/modules/workflow/workflow-trigger/jobs/workflow-trigger.job';
|
||||
|
||||
@Injectable()
|
||||
export class DatabaseEventTriggerListener {
|
||||
private readonly logger = new Logger('DatabaseEventTriggerListener');
|
||||
export class WorkflowDatabaseEventTriggerListener {
|
||||
private readonly logger = new Logger(
|
||||
WorkflowDatabaseEventTriggerListener.name,
|
||||
);
|
||||
|
||||
constructor(
|
||||
private readonly twentyORMGlobalManager: TwentyORMGlobalManager,
|
||||
Reference in New Issue
Block a user