smartbucket/ts/classes.smartbucket.ts

36 lines
1023 B
TypeScript
Raw Normal View History

2024-05-20 23:22:21 +00:00
import * as plugins from './plugins.js';
import { Bucket } from './classes.bucket.js';
2018-09-14 16:07:20 +00:00
export class SmartBucket {
2024-02-10 03:36:34 +00:00
public config: plugins.tsclass.storage.IS3Descriptor;
2019-10-14 18:55:07 +00:00
2019-10-15 12:16:28 +00:00
public minioClient: plugins.minio.Client;
2019-10-14 21:53:41 +00:00
2018-09-14 16:07:20 +00:00
/**
* the constructor of SmartBucket
*/
2024-02-10 03:36:34 +00:00
constructor(configArg: plugins.tsclass.storage.IS3Descriptor) {
2018-09-14 16:07:20 +00:00
this.config = configArg;
2019-10-15 12:16:28 +00:00
this.minioClient = new plugins.minio.Client({
endPoint: this.config.endpoint,
2021-12-18 00:00:07 +00:00
port: configArg.port || 443,
2021-12-18 00:28:22 +00:00
useSSL: configArg.useSsl !== undefined ? configArg.useSsl : true,
2019-10-15 12:16:28 +00:00
accessKey: this.config.accessKey,
2020-10-12 00:37:50 +00:00
secretKey: this.config.accessSecret,
2019-10-15 12:16:28 +00:00
});
2018-09-14 16:07:20 +00:00
}
2019-10-15 17:23:06 +00:00
public async createBucket(bucketNameArg: string) {
const bucket = await Bucket.createBucketByName(this, bucketNameArg);
return bucket;
2019-10-15 12:16:28 +00:00
}
public async removeBucket(bucketName: string) {
2019-10-15 17:23:06 +00:00
await Bucket.removeBucketByName(this, bucketName);
2019-10-15 12:16:28 +00:00
}
2019-10-14 21:53:41 +00:00
2019-10-15 17:23:06 +00:00
public async getBucketByName(bucketName: string) {
return Bucket.getBucketByName(this, bucketName);
2019-10-14 21:53:41 +00:00
}
2018-09-14 16:07:20 +00:00
}