44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import * as plugins from './smartbucket.plugins';
|
|
import { SmartBucket } from './smartbucket.classes.smartbucket';
|
|
|
|
export class Bucket {
|
|
public static async getBucketByName(smartbucketRef: SmartBucket, bucketNameArg: string) {
|
|
const buckets = await smartbucketRef.minioClient.listBuckets();
|
|
const foundBucket = buckets.find(bucket => {
|
|
return bucket.name === bucketNameArg;
|
|
});
|
|
|
|
if (foundBucket) {
|
|
console.log(`bucket with name ${bucketNameArg} exists.`)
|
|
console.log(`Taking this as base for new Bucket instance`);
|
|
return new this(smartbucketRef, bucketNameArg);
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public static async createBucketByName(smartbucketRef: SmartBucket, bucketName: string) {
|
|
await smartbucketRef.minioClient.makeBucket(bucketName, 'ams3').catch(e => console.log(e));
|
|
return new Bucket(smartbucketRef, bucketName);
|
|
}
|
|
|
|
public static async removeBucketByName(smartbucketRef: SmartBucket, bucketName: string) {
|
|
await smartbucketRef.minioClient.removeBucket(bucketName).catch(e => console.log(e));
|
|
}
|
|
|
|
public smartbucketRef: SmartBucket;
|
|
public name: string;
|
|
|
|
constructor(smartbucketRef: SmartBucket, bucketName: string) {
|
|
this.smartbucketRef = smartbucketRef;
|
|
this.name = bucketName;
|
|
}
|
|
|
|
/**
|
|
* store file
|
|
*/
|
|
public store(fileName:) {
|
|
|
|
}
|
|
}
|