UNPKG

@tweedegolf/sab-adapter-minio

Version:

Provides an abstraction layer for interacting with MinIO cloud storage service.

288 lines 8.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AbstractAdapter = void 0; class AbstractAdapter { constructor(config) { this._type = "abstract-adapter"; this._configError = null; this._bucketName = null; this._client = null; // eslint-disable-line } get type() { return this._type; } getType() { return this.type; } get config() { return this._config; } getConfig() { return this.config; } get configError() { return this._configError; } getConfigError() { return this.configError; } // eslint-disable-next-line get serviceClient() { return this._client; } // eslint-disable-next-line getServiceClient() { return this._client; } setSelectedBucket(bucketName) { this._bucketName = bucketName; } getSelectedBucket() { return this._bucketName; } set(bucketName) { this._bucketName = bucketName; } get bucketName() { return this._bucketName; } async addFileFromPath(params) { return await this.addFile(params); } async addFileFromBuffer(params) { return await this.addFile(params); } async addFileFromStream(params) { return await this.addFile(params); } _getFileAndBucket(arg1, arg2) { let bucketName = null; let fileName = null; if (typeof arg2 === "string") { bucketName = arg1; fileName = arg2; } else if (typeof arg2 === "undefined") { fileName = arg1; if (this._bucketName === null) { return { bucketName, fileName, error: "no bucket selected", }; } bucketName = this._bucketName; } return { bucketName, fileName, error: null, }; } // public async clearBucket(name) { if (this._configError !== null) { return { value: null, error: this.configError }; } if (typeof name === "undefined") { if (this._bucketName === null) { return { value: null, error: "no bucket selected", }; } name = this._bucketName; } return this._clearBucket(name); } async deleteBucket(name) { if (this._configError !== null) { return { value: null, error: this.configError }; } if (typeof name === "undefined") { if (this._bucketName === null) { return { value: null, error: "no bucket selected", }; } name = this._bucketName; } return this._deleteBucket(name); } async bucketExists(name) { if (this._configError !== null) { return { value: null, error: this.configError }; } if (typeof name === "undefined") { if (this._bucketName === null) { return { value: null, error: "no bucket selected", }; } name = this._bucketName; } return this._bucketExists(name); } async listFiles(arg1, arg2) { if (this._configError !== null) { return { value: null, error: this.configError }; } let bucketName; let numFiles = 10000; if (typeof arg1 === "number") { if (this._bucketName === null) { return { value: null, error: "no bucket selected", }; } bucketName = this._bucketName; numFiles = arg1; } else if (typeof arg1 === "string") { bucketName = arg1; if (typeof arg2 === "number") { numFiles = arg2; } } else { if (this._bucketName === null) { return { value: null, error: "no bucket selected", }; } bucketName = this._bucketName; } return this._listFiles(bucketName, numFiles); } async addFile(params) { if (this._configError !== null) { return { value: null, error: this.configError }; } if (typeof params.bucketName === "undefined") { if (this._bucketName === null) { return { value: null, error: "no bucket selected", }; } params.bucketName = this._bucketName; } if (typeof params.options !== "object") { params.options = {}; } return this._addFile(params); } async getFileAsStream(arg1, arg2, arg3) { if (this.configError !== null) { return { error: this.configError, value: null }; } let bucketName; let fileName; let options = {}; if (typeof arg1 === "string" && typeof arg2 === "string") { bucketName = arg1; fileName = arg2; if (typeof arg3 !== "undefined") { options = arg3; } } else if (typeof arg1 === "string" && typeof arg2 !== "string") { if (this._bucketName === null) { return { value: null, error: "no bucket selected", }; } bucketName = this._bucketName; fileName = arg1; if (typeof arg2 !== "undefined") { options = arg2; } } return this._getFileAsStream(bucketName, fileName, options); } async getFileAsURL(arg1, arg2, arg3) { if (this._configError !== null) { return { value: null, error: this.configError }; } let bucketName; let fileName; let options = {}; if (typeof arg1 === "string" && typeof arg2 === "string") { bucketName = arg1; fileName = arg2; if (typeof arg3 !== "undefined") { options = arg3; } } else if (typeof arg1 === "string" && typeof arg2 !== "string") { if (this._bucketName === null) { return { value: null, error: "no bucket selected", }; } bucketName = this._bucketName; fileName = arg1; if (typeof arg2 !== "undefined") { options = arg2; } } return this._getFileAsURL(bucketName, fileName, options); } async sizeOf(arg1, arg2) { if (this.configError !== null) { return { value: null, error: this.configError }; } const { bucketName, fileName, error } = this._getFileAndBucket(arg1, arg2); if (error !== null) { return { value: null, error }; } return this._sizeOf(bucketName, fileName); } async fileExists(arg1, arg2) { if (this.configError !== null) { return { value: null, error: this.configError }; } const { bucketName, fileName, error } = this._getFileAndBucket(arg1, arg2); if (error !== null) { return { value: null, error }; } return this._fileExists(bucketName, fileName); } async removeFile(arg1, arg2, arg3) { if (this.configError !== null) { return { value: null, error: this.configError }; } let bucketName; let fileName; let allVersions = false; if (typeof arg1 === "string" && typeof arg2 === "string") { bucketName = arg1; fileName = arg2; if (typeof arg3 === "boolean") { allVersions = arg3; } } else if (typeof arg1 === "string" && typeof arg2 !== "string") { if (this._bucketName === null) { return { value: null, error: "No bucket selected", }; } bucketName = this._bucketName; fileName = arg1; if (typeof arg2 === "boolean") { allVersions = arg2; } } return this._removeFile(bucketName, fileName, allVersions); } } exports.AbstractAdapter = AbstractAdapter; //# sourceMappingURL=AbstractAdapter.js.map