UNPKG

@itwin/object-storage-google

Version:

Object storage implementation using Google Cloud Storage

43 lines 2.58 kB
"use strict"; /*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ Object.defineProperty(exports, "__esModule", { value: true }); exports.GoogleServerStorageBindings = void 0; const internal_1 = require("@itwin/cloud-agnostic-core/lib/internal"); const object_storage_core_1 = require("@itwin/object-storage-core"); const common_1 = require("../common"); const wrappers_1 = require("../server/wrappers"); const GoogleServerStorage_1 = require("./GoogleServerStorage"); const StorageControlClientWrapper_1 = require("./wrappers/StorageControlClientWrapper"); class GoogleServerStorageBindings extends object_storage_core_1.ServerStorageDependency { dependencyName = common_1.Constants.storageType; register(container, config) { if (!config.projectId) throw new internal_1.ConfigError("projectId"); if (!config.bucketName) throw new internal_1.ConfigError("bucketName"); container.registerInstance(common_1.Types.GoogleServer.config, config); container.registerFactory(wrappers_1.StorageWrapperFactory, () => { return new wrappers_1.StorageWrapperFactory(); }); container.registerFactory(wrappers_1.StorageWrapper, (c) => { const factory = c.resolve(wrappers_1.StorageWrapperFactory); const config = c.resolve(common_1.Types.GoogleServer.config); return factory.createDefaultApplication(config); }); container.registerFactory(StorageControlClientWrapper_1.StorageControlClientWrapper, (c) => { const config = c.resolve(common_1.Types.GoogleServer.config); return new StorageControlClientWrapper_1.StorageControlClientWrapper(config); }); container.registerFactory(object_storage_core_1.Types.Server.serverStorage, (c) => { const config = c.resolve(common_1.Types.GoogleServer.config); const storage = c.resolve(wrappers_1.StorageWrapper); const storageControl = c.resolve(StorageControlClientWrapper_1.StorageControlClientWrapper); return new GoogleServerStorage_1.GoogleServerStorage(storage, storageControl, config); }); } } exports.GoogleServerStorageBindings = GoogleServerStorageBindings; //# sourceMappingURL=GoogleServerStorageBindings.js.map