Remove workflow feature flag (#12732)

Removing workflows from the lab
This commit is contained in:
Thomas Trompette
2025-06-19 15:26:00 +02:00
committed by GitHub
parent cbc0d06a2f
commit f9da3735de
25 changed files with 28 additions and 186 deletions

View File

@ -1,17 +1,15 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AutomatedTriggerWorkspaceService } from 'src/modules/workflow/workflow-trigger/automated-trigger/automated-trigger.workspace-service';
import { FeatureFlagModule } from 'src/engine/core-modules/feature-flag/feature-flag.module';
import { DatabaseEventTriggerListener } from 'src/modules/workflow/workflow-trigger/automated-trigger/listeners/database-event-trigger.listener';
import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity';
import { WorkflowCommonModule } from 'src/modules/workflow/common/workflow-common.module';
import { AutomatedTriggerWorkspaceService } from 'src/modules/workflow/workflow-trigger/automated-trigger/automated-trigger.workspace-service';
import { CronTriggerCronCommand } from 'src/modules/workflow/workflow-trigger/automated-trigger/crons/commands/cron-trigger.cron.command';
import { CronTriggerCronJob } from 'src/modules/workflow/workflow-trigger/automated-trigger/crons/jobs/cron-trigger.cron.job';
import { WorkflowCommonModule } from 'src/modules/workflow/common/workflow-common.module';
import { DatabaseEventTriggerListener } from 'src/modules/workflow/workflow-trigger/automated-trigger/listeners/database-event-trigger.listener';
@Module({
imports: [
FeatureFlagModule,
TypeOrmModule.forFeature([Workspace], 'core'),
WorkflowCommonModule,
],

View File

@ -1,6 +1,5 @@
import { Test, TestingModule } from '@nestjs/testing';
import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service';
import { MessageQueueService } from 'src/engine/core-modules/message-queue/services/message-queue.service';
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';
@ -12,7 +11,6 @@ describe('DatabaseEventTriggerListener', () => {
let listener: DatabaseEventTriggerListener;
let twentyORMGlobalManager: jest.Mocked<TwentyORMGlobalManager>;
let messageQueueService: jest.Mocked<MessageQueueService>;
let featureFlagService: jest.Mocked<FeatureFlagService>;
const mockRepository = {
find: jest.fn(),
@ -27,10 +25,6 @@ describe('DatabaseEventTriggerListener', () => {
add: jest.fn(),
} as any;
featureFlagService = {
isFeatureEnabled: jest.fn().mockResolvedValue(true),
} as any;
const module: TestingModule = await Test.createTestingModule({
providers: [
DatabaseEventTriggerListener,
@ -42,10 +36,6 @@ describe('DatabaseEventTriggerListener', () => {
provide: MessageQueueService,
useValue: messageQueueService,
},
{
provide: FeatureFlagService,
useValue: featureFlagService,
},
{
provide: 'MESSAGE_QUEUE_workflow-queue',
useValue: messageQueueService,
@ -303,14 +293,6 @@ describe('DatabaseEventTriggerListener', () => {
);
});
it('should ignore events when feature flag is disabled', async () => {
featureFlagService.isFeatureEnabled.mockResolvedValueOnce(false);
await listener.handleObjectRecordUpdateEvent(mockPayload);
expect(messageQueueService.add).not.toHaveBeenCalled();
});
it('should handle multiple events in a batch', async () => {
const batchPayload = {
...mockPayload,

View File

@ -10,8 +10,6 @@ import { ObjectRecordDeleteEvent } from 'src/engine/core-modules/event-emitter/t
import { ObjectRecordDestroyEvent } from 'src/engine/core-modules/event-emitter/types/object-record-destroy.event';
import { ObjectRecordNonDestructiveEvent } from 'src/engine/core-modules/event-emitter/types/object-record-non-destructive-event';
import { ObjectRecordUpdateEvent } from 'src/engine/core-modules/event-emitter/types/object-record-update.event';
import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum';
import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service';
import { InjectMessageQueue } from 'src/engine/core-modules/message-queue/decorators/message-queue.decorator';
import { MessageQueue } from 'src/engine/core-modules/message-queue/message-queue.constants';
import { MessageQueueService } from 'src/engine/core-modules/message-queue/services/message-queue.service';
@ -36,7 +34,6 @@ export class DatabaseEventTriggerListener {
private readonly twentyORMGlobalManager: TwentyORMGlobalManager,
@InjectMessageQueue(MessageQueue.workflowQueue)
private readonly messageQueueService: MessageQueueService,
private readonly isFeatureFlagEnabledService: FeatureFlagService,
private readonly workflowCommonWorkspaceService: WorkflowCommonWorkspaceService,
) {}
@ -231,13 +228,7 @@ export class DatabaseEventTriggerListener {
return true;
}
const isWorkflowEnabled =
await this.isFeatureFlagEnabledService.isFeatureEnabled(
FeatureFlagKey.IS_WORKFLOW_ENABLED,
workspaceId,
);
return !isWorkflowEnabled;
return false;
}
private async handleEvent({