diff --git a/packages/backend-core/src/environment.ts b/packages/backend-core/src/environment.ts index 2da2a77d67..964bb1c299 100644 --- a/packages/backend-core/src/environment.ts +++ b/packages/backend-core/src/environment.ts @@ -29,6 +29,7 @@ const DefaultBucketName = { TEMPLATES: "templates", GLOBAL: "global", PLUGINS: "plugins", + TEMP: "tmp-file-attachments", } const selfHosted = !!parseInt(process.env.SELF_HOSTED || "") @@ -146,6 +147,7 @@ const environment = { process.env.GLOBAL_BUCKET_NAME || DefaultBucketName.GLOBAL, PLUGIN_BUCKET_NAME: process.env.PLUGIN_BUCKET_NAME || DefaultBucketName.PLUGINS, + TEMP_BUCKET_NAME: process.env.TEMP_BUCKET_NAME || DefaultBucketName.TEMP, USE_COUCH: process.env.USE_COUCH || true, MOCK_REDIS: process.env.MOCK_REDIS, DEFAULT_LICENSE: process.env.DEFAULT_LICENSE, diff --git a/packages/backend-core/src/objectStore/utils.ts b/packages/backend-core/src/objectStore/utils.ts index 4c3a84ba91..285fe6b429 100644 --- a/packages/backend-core/src/objectStore/utils.ts +++ b/packages/backend-core/src/objectStore/utils.ts @@ -15,6 +15,7 @@ export const ObjectStoreBuckets = { TEMPLATES: env.TEMPLATES_BUCKET_NAME, GLOBAL: env.GLOBAL_BUCKET_NAME, PLUGINS: env.PLUGIN_BUCKET_NAME, + TEMP: env.TEMP_BUCKET_NAME, } const bbTmp = join(tmpdir(), ".budibase") diff --git a/packages/server/src/integrations/rest.ts b/packages/server/src/integrations/rest.ts index ae3f7fe6b0..7a9c75ecc0 100644 --- a/packages/server/src/integrations/rest.ts +++ b/packages/server/src/integrations/rest.ts @@ -146,18 +146,18 @@ class RestIntegration implements IntegrationBase { : "" const processedFileName = `${v4()}.${fileExtension}` - const key = `${context.getProdAppId()}/attachments/${processedFileName}` + const key = `${context.getProdAppId()}/${processedFileName}` + const bucket = objectStore.ObjectStoreBuckets.TEMP await objectStore.upload({ - bucket: objectStore.ObjectStoreBuckets.APPS, + bucket: bucket, filename: key, body: Buffer.from(responseBuffer), - ttl: 1800, + ttl: true, }) - presignedUrl = await objectStore.getPresignedUrl("test", key, 600) + presignedUrl = await objectStore.getPresignedUrl(bucket, key, 600) raw = Buffer.from(responseBuffer).toString() - return { data: { size: responseBuffer.byteLength,