diff --git a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/data-seed-demo-workspace.cron.command.ts b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/start-data-seed-demo-workspace.cron.command.ts similarity index 83% rename from packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/data-seed-demo-workspace.cron.command.ts rename to packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/start-data-seed-demo-workspace.cron.command.ts index 51d8cb100d..cfc1196e26 100644 --- a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/data-seed-demo-workspace.cron.command.ts +++ b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/start-data-seed-demo-workspace.cron.command.ts @@ -8,10 +8,10 @@ import { MessageQueue } from 'src/integrations/message-queue/message-queue.const import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; @Command({ - name: 'workspace:cron:seed:demo', - description: 'Seed workspace with demo data.', + name: 'workspace-seed-demo:cron:start', + description: 'Start cron to seed workspace with demo data.', }) -export class DataSeedDemoWorkspaceCronCommand extends CommandRunner { +export class StartDataSeedDemoWorkspaceCronCommand extends CommandRunner { constructor( @Inject(MessageQueue.cronQueue) private readonly messageQueueService: MessageQueueService, diff --git a/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/stop-data-seed-demo-workspace.cron.command.ts b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/stop-data-seed-demo-workspace.cron.command.ts new file mode 100644 index 0000000000..844424a0f2 --- /dev/null +++ b/packages/twenty-server/src/database/commands/data-seed-demo-workspace/crons/stop-data-seed-demo-workspace.cron.command.ts @@ -0,0 +1,28 @@ +import { Inject } from '@nestjs/common'; + +import { Command, CommandRunner } from 'nest-commander'; + +import { dataSeedDemoWorkspaceCronPattern } from 'src/database/commands/data-seed-demo-workspace/crons/data-seed-demo-workspace-cron-pattern'; +import { DataSeedDemoWorkspaceJob } from 'src/database/commands/data-seed-demo-workspace/jobs/data-seed-demo-workspace.job'; +import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; +import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; + +@Command({ + name: 'workspace-seed-demo:cron:stop', + description: 'Stop cron to seed workspace with demo data.', +}) +export class StopDataSeedDemoWorkspaceCronCommand extends CommandRunner { + constructor( + @Inject(MessageQueue.cronQueue) + private readonly messageQueueService: MessageQueueService, + ) { + super(); + } + + async run(): Promise { + await this.messageQueueService.removeCron( + DataSeedDemoWorkspaceJob.name, + dataSeedDemoWorkspaceCronPattern, + ); + } +} diff --git a/packages/twenty-server/src/database/commands/database-command.module.ts b/packages/twenty-server/src/database/commands/database-command.module.ts index a6e2790d98..a99e511e67 100644 --- a/packages/twenty-server/src/database/commands/database-command.module.ts +++ b/packages/twenty-server/src/database/commands/database-command.module.ts @@ -6,10 +6,11 @@ import { DataSourceModule } from 'src/engine-metadata/data-source/data-source.mo import { TypeORMModule } from 'src/database/typeorm/typeorm.module'; import { WorkspaceModule } from 'src/engine/modules/workspace/workspace.module'; import { DataSeedWorkspaceCommand } from 'src/database/commands/data-seed-dev-workspace.command'; -import { DataSeedDemoWorkspaceCronCommand } from 'src/database/commands/data-seed-demo-workspace/crons/data-seed-demo-workspace.cron.command'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; import { WorkspaceSyncMetadataModule } from 'src/engine/workspace-manager/workspace-sync-metadata/workspace-sync-metadata.module'; import { ObjectMetadataModule } from 'src/engine-metadata/object-metadata/object-metadata.module'; +import { StartDataSeedDemoWorkspaceCronCommand } from 'src/database/commands/data-seed-demo-workspace/crons/start-data-seed-demo-workspace.cron.command'; +import { StopDataSeedDemoWorkspaceCronCommand } from 'src/database/commands/data-seed-demo-workspace/crons/stop-data-seed-demo-workspace.cron.command'; import { WorkspaceAddTotalCountCommand } from 'src/database/commands/workspace-add-total-count.command'; import { DataSeedDemoWorkspaceCommand } from 'src/database/commands/data-seed-demo-workspace/data-seed-demo-workspace-command'; import { DataSeedDemoWorkspaceModule } from 'src/database/commands/data-seed-demo-workspace/data-seed-demo-workspace.module'; @@ -28,9 +29,10 @@ import { DataSeedDemoWorkspaceModule } from 'src/database/commands/data-seed-dem providers: [ DataSeedWorkspaceCommand, DataSeedDemoWorkspaceCommand, - DataSeedDemoWorkspaceCronCommand, WorkspaceAddTotalCountCommand, ConfirmationQuestion, + StartDataSeedDemoWorkspaceCronCommand, + StopDataSeedDemoWorkspaceCronCommand, ], }) export class DatabaseCommandModule {}