@uploadx/gcs
Version:
Uploadx GCS module
41 lines (40 loc) • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GCSConfig = void 0;
class GCSConfig {
static bucketName = 'node-uploadx';
// Default endpoints
static defaultUploadAPI = 'https://storage.googleapis.com/upload/storage/v1/b';
static defaultStorageAPI = 'https://storage.googleapis.com/storage/v1/b';
// ENV overrides
static envUploadAPI = process.env.GCS_UPLOAD_API;
static envStorageAPI = process.env.GCS_STORAGE_API;
static authScopes = ['https://www.googleapis.com/auth/devstorage.full_control'];
static _uploadAPI;
static _storageAPI;
static get emulatorHost() {
return process.env.STORAGE_EMULATOR_HOST;
}
static get isEmulator() {
return !!this.emulatorHost;
}
static get uploadAPI() {
if (!this._uploadAPI) {
this._uploadAPI =
this.envUploadAPI ||
(this.isEmulator
? `http://${this.emulatorHost}/upload/storage/v1/b`
: this.defaultUploadAPI);
}
return this._uploadAPI;
}
static get storageAPI() {
if (!this._storageAPI) {
this._storageAPI =
this.envStorageAPI ||
(this.isEmulator ? `http://${this.emulatorHost}/storage/v1/b` : this.defaultStorageAPI);
}
return this._storageAPI;
}
}
exports.GCSConfig = GCSConfig;