From 979b8d29cc33110188f5cb7be3d964071b488227 Mon Sep 17 00:00:00 2001 From: Weiko Date: Wed, 17 Apr 2024 17:04:48 +0200 Subject: [PATCH] UpdateSubscriptionJob should not be enqueued if billing is not enabled (#5007) ## Context Adding this check to avoid enqueuing this job and following return-early good practice ## Test Without IS_BILLING_ENABLED env set Screenshot 2024-04-17 at 15 31 12 With IS_BILLING_ENABLED env set Screenshot 2024-04-17 at 15 32 28 --- .../billing/listeners/billing-workspace-member.listener.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/twenty-server/src/engine/core-modules/billing/listeners/billing-workspace-member.listener.ts b/packages/twenty-server/src/engine/core-modules/billing/listeners/billing-workspace-member.listener.ts index e31a7b592..caad58c7e 100644 --- a/packages/twenty-server/src/engine/core-modules/billing/listeners/billing-workspace-member.listener.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/listeners/billing-workspace-member.listener.ts @@ -9,12 +9,14 @@ import { UpdateSubscriptionJob, UpdateSubscriptionJobData, } from 'src/engine/core-modules/billing/jobs/update-subscription.job'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; @Injectable() export class BillingWorkspaceMemberListener { constructor( @Inject(MessageQueue.billingQueue) private readonly messageQueueService: MessageQueueService, + private readonly environmentService: EnvironmentService, ) {} @OnEvent('workspaceMember.created') @@ -22,6 +24,10 @@ export class BillingWorkspaceMemberListener { async handleCreateOrDeleteEvent( payload: ObjectRecordCreateEvent, ) { + if (!this.environmentService.get('IS_BILLING_ENABLED')) { + return; + } + await this.messageQueueService.add( UpdateSubscriptionJob.name, { workspaceId: payload.workspaceId },