@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
24 lines • 3.2 kB
JavaScript
export class UserPreferencesStorageInventory {
constructor(inventory) {
this.inventory = inventory;
this.TYPE = 'c8y_UserPreference';
}
async get(key) {
const { data } = await this.inventory.list({ fragmentType: key });
return data.length ? data[0][key] : undefined;
}
async set(key, value) {
const { data } = await this.inventory.list({ fragmentType: key });
const updateMo = { [key]: value, type: this.TYPE };
let out;
if (data.length) {
updateMo.id = data[0].id;
out = this.inventory.update(updateMo);
}
else {
out = this.inventory.create(updateMo);
}
return out;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlcy1zdG9yZS1pbnZlbnRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi91c2VyLXByZWZlcmVuY2VzL3VzZXItcHJlZmVyZW5jZXMtc3RvcmUtaW52ZW50b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywrQkFBK0I7SUFHMUMsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFGL0MsU0FBSSxHQUFHLG9CQUFvQixDQUFDO0lBRXNCLENBQUM7SUFFbkQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHO1FBQ1gsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hELENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLO1FBQ2xCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbEUsTUFBTSxRQUFRLEdBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hELElBQUksR0FBRyxDQUFDO1FBRVIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsUUFBUSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pCLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZlbnRvcnlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuXG5leHBvcnQgY2xhc3MgVXNlclByZWZlcmVuY2VzU3RvcmFnZUludmVudG9yeSB7XG4gIFRZUEUgPSAnYzh5X1VzZXJQcmVmZXJlbmNlJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGludmVudG9yeTogSW52ZW50b3J5U2VydmljZSkge31cblxuICBhc3luYyBnZXQoa2V5KSB7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLmludmVudG9yeS5saXN0KHsgZnJhZ21lbnRUeXBlOiBrZXkgfSk7XG4gICAgcmV0dXJuIGRhdGEubGVuZ3RoID8gZGF0YVswXVtrZXldIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgYXN5bmMgc2V0KGtleSwgdmFsdWUpIHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMuaW52ZW50b3J5Lmxpc3QoeyBmcmFnbWVudFR5cGU6IGtleSB9KTtcbiAgICBjb25zdCB1cGRhdGVNbzogYW55ID0geyBba2V5XTogdmFsdWUsIHR5cGU6IHRoaXMuVFlQRSB9O1xuICAgIGxldCBvdXQ7XG5cbiAgICBpZiAoZGF0YS5sZW5ndGgpIHtcbiAgICAgIHVwZGF0ZU1vLmlkID0gZGF0YVswXS5pZDtcbiAgICAgIG91dCA9IHRoaXMuaW52ZW50b3J5LnVwZGF0ZSh1cGRhdGVNbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCA9IHRoaXMuaW52ZW50b3J5LmNyZWF0ZSh1cGRhdGVNbyk7XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG4gIH1cbn1cbiJdfQ==