UNPKG

@sap-ux/store

Version:

NPM module for storing persistent data

58 lines 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ApiHubSettingsService = void 0; exports.getInstance = getInstance; const secure_store_1 = require("../../secure-store"); const api_hub_1 = require("../../data-provider/api-hub"); const api_hub_2 = require("../../entities/api-hub"); const migration_1 = require("./migration"); class ApiHubSettingsService { dataProvider; logger; secureStore; migrationDone = false; key = new api_hub_2.ApiHubSettingsKey(); constructor(logger) { this.logger = logger; this.dataProvider = new api_hub_1.ApiHubSettingsProvider(this.logger); } async migrate() { if (this.migrationDone) { return; } if (!this.secureStore) { this.secureStore = (0, secure_store_1.getSecureStore)(this.logger); } await (0, migration_1.migrateToLatestVersion)({ logger: this.logger, secureStore: this.secureStore, dataProvider: this.dataProvider }); this.migrationDone = true; } async partialUpdate() { await this.migrate(); throw new Error('NOT IMPLEMENTED'); } async read() { await this.migrate(); return this.dataProvider.read(this.key); } async write(entity) { await this.migrate(); return this.dataProvider.write(entity); } async delete(entity) { await this.migrate(); return this.dataProvider.delete(entity); } async getAll() { await this.migrate(); return this.dataProvider.getAll(); } } exports.ApiHubSettingsService = ApiHubSettingsService; function getInstance(logger) { return new ApiHubSettingsService(logger); } //# sourceMappingURL=service.js.map