diff --git a/apps/backend/src/infrastructure/carriers/csv-loader/csv-rate-loader.adapter.ts b/apps/backend/src/infrastructure/carriers/csv-loader/csv-rate-loader.adapter.ts index 5ca7c3b..64710a0 100644 --- a/apps/backend/src/infrastructure/carriers/csv-loader/csv-rate-loader.adapter.ts +++ b/apps/backend/src/infrastructure/carriers/csv-loader/csv-rate-loader.adapter.ts @@ -237,7 +237,26 @@ export class CsvRateLoaderAdapter implements CsvRateLoaderPort { async getAvailableCsvFiles(): Promise { try { - // Ensure directory exists + // If MinIO/S3 is configured, list files from there + if (this.s3Storage && this.configService && this.csvConfigRepository) { + try { + const configs = await this.csvConfigRepository.findAll(); + const minioFiles = configs + .filter(config => config.metadata?.minioObjectKey) + .map(config => config.metadata?.minioObjectKey as string); + + if (minioFiles.length > 0) { + this.logger.log(`📂 Found ${minioFiles.length} CSV files in MinIO`); + return minioFiles; + } else { + this.logger.warn('⚠️ No CSV files configured in MinIO, falling back to local files'); + } + } catch (minioError: any) { + this.logger.warn(`⚠️ Failed to list MinIO files: ${minioError.message}. Falling back to local files.`); + } + } + + // Fallback: list from local file system try { await fs.access(this.csvDirectory); } catch {