training_data/apps/server/src/minio/minio.service.ts

27 lines
940 B
TypeScript

import { Injectable, Logger } from '@nestjs/common';
import * as Minio from 'minio';
@Injectable()
export class MinioService {
private readonly logger = new Logger(MinioService.name)
private readonly minioClient: Minio.Client;
constructor() {
this.minioClient = new Minio.Client({
endPoint: 'localhost',
port: 9000,
useSSL: false,
accessKey: process.env.MINIO_ACCESS_KEY || 'minioadmin',
secretKey: process.env.MINIO_SECRET_KEY || 'minioadmin'
});
}
async createBucket(bucketName: string): Promise<void> {
const exists = await this.minioClient.bucketExists(bucketName);
if (!exists) {
await this.minioClient.makeBucket(bucketName, '');
this.logger.log(`Bucket ${bucketName} created successfully.`);
} else {
this.logger.log(`Bucket ${bucketName} already exists.`);
}
}
}