@sap-ux/store
Version:
NPM module for storing persistent data
58 lines • 1.79 kB
JavaScript
;
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