diff --git a/app/api/stores/template/route.ts b/app/api/stores/template/route.ts index 33e95996..b56ef406 100644 --- a/app/api/stores/template/route.ts +++ b/app/api/stores/template/route.ts @@ -26,10 +26,13 @@ interface TemplateFile { // Configuración de S3 const s3Client = new S3Client({ - credentials: { - accessKeyId: process.env.ACCESS_KEY_ID || '', - secretAccessKey: process.env.SECRET_ACCESS_KEY || '', - }, + ...(process.env.ACCESS_KEY_ID && + process.env.SECRET_ACCESS_KEY && { + credentials: { + accessKeyId: process.env.ACCESS_KEY_ID, + secretAccessKey: process.env.SECRET_ACCESS_KEY, + }, + }), region: outputs.auth.aws_region, }) diff --git a/lib/store-renderer/services/template-loader.ts b/lib/store-renderer/services/template-loader.ts index 086fbd67..8a607b4e 100644 --- a/lib/store-renderer/services/template-loader.ts +++ b/lib/store-renderer/services/template-loader.ts @@ -1,6 +1,7 @@ import { S3Client, GetObjectCommand, ListObjectsV2Command } from '@aws-sdk/client-s3' import type { TemplateFile, TemplateCache, TemplateError } from '../types' import { cookiesClient } from '@/utils/AmplifyServer' +import outputs from '@/amplify_outputs.json' interface S3TemplateCache { [storeId: string]: { @@ -18,18 +19,21 @@ class TemplateLoader { private readonly appEnv: string private constructor() { - this.bucketName = process.env.BUCKET_NAME || '' + this.bucketName = outputs.storage.bucket_name || '' this.cloudFrontDomain = process.env.CLOUDFRONT_DOMAIN_NAME || '' this.appEnv = process.env.APP_ENV || 'development' // Solo inicializar S3 si tenemos bucket configurado if (this.bucketName) { this.s3Client = new S3Client({ - credentials: { - accessKeyId: process.env.ACCESS_KEY_ID || '', - secretAccessKey: process.env.SECRET_ACCESS_KEY || '', - }, - region: process.env.AWS_REGION_BUCKET || 'us-east-2', + ...(process.env.ACCESS_KEY_ID && + process.env.SECRET_ACCESS_KEY && { + credentials: { + accessKeyId: process.env.ACCESS_KEY_ID, + secretAccessKey: process.env.SECRET_ACCESS_KEY, + }, + }), + region: outputs.auth.aws_region, }) } }