From fa14029fed1e63ce2e2df93abdab42042f6e5b47 Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Wed, 4 Sep 2024 11:54:55 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20(s3)=20Skip=20object=20removals?= =?UTF-8?q?=20when=20S3=20not=20configured?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #1763 --- apps/builder/src/features/typebot/api/deleteTypebot.ts | 10 ++++++---- .../src/features/workspace/api/deleteWorkspace.ts | 2 +- packages/results/archiveResults.ts | 5 +++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/apps/builder/src/features/typebot/api/deleteTypebot.ts b/apps/builder/src/features/typebot/api/deleteTypebot.ts index 8ce54e4bd..3be21ff02 100644 --- a/apps/builder/src/features/typebot/api/deleteTypebot.ts +++ b/apps/builder/src/features/typebot/api/deleteTypebot.ts @@ -6,6 +6,7 @@ import { z } from 'zod' import { isWriteTypebotForbidden } from '../helpers/isWriteTypebotForbidden' import { archiveResults } from '@typebot.io/results/archiveResults' import { removeObjectsFromTypebot } from '@typebot.io/lib/s3/removeObjectsRecursively' +import { env } from '@typebot.io/env' export const deleteTypebot = authenticatedProcedure .meta({ @@ -86,10 +87,11 @@ export const deleteTypebot = authenticatedProcedure where: { id: typebotId }, data: { isArchived: true, publicId: null, customDomain: null }, }) - await removeObjectsFromTypebot({ - workspaceId: existingTypebot.workspace.id, - typebotId, - }) + if (env.S3_BUCKET) + await removeObjectsFromTypebot({ + workspaceId: existingTypebot.workspace.id, + typebotId, + }) return { message: 'success', } diff --git a/apps/builder/src/features/workspace/api/deleteWorkspace.ts b/apps/builder/src/features/workspace/api/deleteWorkspace.ts index 53b37be9f..f5829c29f 100644 --- a/apps/builder/src/features/workspace/api/deleteWorkspace.ts +++ b/apps/builder/src/features/workspace/api/deleteWorkspace.ts @@ -45,7 +45,7 @@ export const deleteWorkspace = authenticatedProcedure where: { id: workspaceId }, }) - await removeObjectsFromWorkspace(workspaceId) + if (env.S3_BUCKET) await removeObjectsFromWorkspace(workspaceId) if (isNotEmpty(workspace.stripeId) && env.STRIPE_SECRET_KEY) { const stripe = new Stripe(env.STRIPE_SECRET_KEY, { diff --git a/packages/results/archiveResults.ts b/packages/results/archiveResults.ts index 87e5a79fc..e7f0cbed7 100644 --- a/packages/results/archiveResults.ts +++ b/packages/results/archiveResults.ts @@ -5,6 +5,7 @@ import { removeAllObjectsFromResult, removeObjectsFromResult, } from '@typebot.io/lib/s3/removeObjectsRecursively' +import { env } from '../env/env' type ArchiveResultsProps = { typebot: Pick @@ -99,7 +100,7 @@ export const archiveResults = }, }), ]) - if (!isDeletingAllResults) { + if (!isDeletingAllResults && env.S3_BUCKET) { await removeObjectsFromResult({ workspaceId: typebot.workspaceId, resultIds: resultIds, @@ -108,7 +109,7 @@ export const archiveResults = } } while (currentTotalResults >= batchSize) - if (isDeletingAllResults) { + if (isDeletingAllResults && env.S3_BUCKET) { await removeAllObjectsFromResult({ workspaceId: typebot.workspaceId, typebotId: typebot.id,