const config = require("../config"); const { createStorage } = require("./storageFactory"); class BaseStorage { constructor(storage) { this.storage = storage; } getLayers(ids, boundingbox) { return this.storage.getLayers(ids, boundingbox); } getPublicLayers() { return this.storage.getPublicLayers(); } isPublic(url) { return this.storage.isPublic(url); } validateLayers(ids) { return this.storage.validateLayers(ids); } } class BaseStorageInstance { constructor() { if (!BaseStorageInstance.instance) { const storage = createStorage(config.storage); BaseStorageInstance.instance = new BaseStorage(storage) } } getInstance() { return BaseStorageInstance.instance; } } module.exports = BaseStorageInstance;