From 2ab65bb375e789bbc182f9a0ad6e9bafa466f756 Mon Sep 17 00:00:00 2001 From: Nevo David Date: Sat, 9 Aug 2025 20:29:13 +0700 Subject: [PATCH] feat: fix billing --- .../src/api/routes/integrations.controller.ts | 13 +++++++++++-- .../prisma/integrations/integration.repository.ts | 11 ++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/apps/backend/src/api/routes/integrations.controller.ts b/apps/backend/src/api/routes/integrations.controller.ts index 8980ab27..7ae2136d 100644 --- a/apps/backend/src/api/routes/integrations.controller.ts +++ b/apps/backend/src/api/routes/integrations.controller.ts @@ -1,5 +1,14 @@ import { - Body, Controller, Delete, Get, HttpException, Param, Post, Put, Query, UseFilters + Body, + Controller, + Delete, + Get, + HttpException, + Param, + Post, + Put, + Query, + UseFilters, } from '@nestjs/common'; import { ioRedis } from '@gitroom/nestjs-libraries/redis/redis.service'; import { ConnectIntegrationDto } from '@gitroom/nestjs-libraries/dtos/integrations/connect.integration.dto'; @@ -483,7 +492,7 @@ export class IntegrationsController { if ( process.env.STRIPE_PUBLISHABLE_KEY && org.isTrailing && - !!(await this._integrationService.checkPreviousConnections( + (await this._integrationService.checkPreviousConnections( org.id, String(id) )) diff --git a/libraries/nestjs-libraries/src/database/prisma/integrations/integration.repository.ts b/libraries/nestjs-libraries/src/database/prisma/integrations/integration.repository.ts index 3c97e97c..db9c5f22 100644 --- a/libraries/nestjs-libraries/src/database/prisma/integrations/integration.repository.ts +++ b/libraries/nestjs-libraries/src/database/prisma/integrations/integration.repository.ts @@ -69,16 +69,17 @@ export class IntegrationRepository { } async checkPreviousConnections(org: string, id: string) { - const findIt = await this._integration.model.integration.findFirst({ + const findIt = await this._integration.model.integration.findMany({ where: { - organizationId: { - not: org, - }, rootInternalId: id.split('_').pop(), }, + select: { + organizationId: true, + id: true, + }, }); - return findIt; + return findIt.some((f) => f.organizationId === org) || findIt.length === 0; } updateProviderSettings(org: string, id: string, settings: string) {