@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
22 lines • 3.28 kB
JavaScript
import { firstValueFrom } from 'rxjs';
export class UserPreferencesStorageCurrentUser {
constructor(user, appState) {
this.user = user;
this.appState = appState;
}
async hasKey(key) {
const currentUser = await firstValueFrom(this.appState.currentUser);
return currentUser.customProperties?.hasOwnProperty(key);
}
async get(key) {
const currentUser = await firstValueFrom(this.appState.currentUser);
return currentUser.customProperties?.[key];
}
async set(key, value) {
const updatedCurrentUser = (await this.user.updateCurrent({
customProperties: { [key]: value }
})).data;
this.appState.currentUser.next(updatedCurrentUser);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlcy1zdG9yZS1jdXJyZW50LXVzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi91c2VyLXByZWZlcmVuY2VzL3VzZXItcHJlZmVyZW5jZXMtc3RvcmUtY3VycmVudC11c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsTUFBTSxPQUFPLGlDQUFpQztJQUM1QyxZQUNVLElBQWlCLEVBQ2pCLFFBQXlCO1FBRHpCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7SUFDaEMsQ0FBQztJQUVKLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVztRQUN0QixNQUFNLFdBQVcsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sV0FBVyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFXO1FBQ25CLE1BQU0sV0FBVyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsT0FBTyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBYztRQUNuQyxNQUFNLGtCQUFrQixHQUFHLENBQ3pCLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDNUIsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRTtTQUNuQyxDQUFDLENBQ0gsQ0FBQyxJQUFJLENBQUM7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VDdXJyZW50VXNlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdXNlcjogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBoYXNLZXkoa2V5OiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIpO1xuICAgIHJldHVybiBjdXJyZW50VXNlci5jdXN0b21Qcm9wZXJ0aWVzPy5oYXNPd25Qcm9wZXJ0eShrZXkpO1xuICB9XG5cbiAgYXN5bmMgZ2V0KGtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyKTtcbiAgICByZXR1cm4gY3VycmVudFVzZXIuY3VzdG9tUHJvcGVydGllcz8uW2tleV07XG4gIH1cblxuICBhc3luYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKSB7XG4gICAgY29uc3QgdXBkYXRlZEN1cnJlbnRVc2VyID0gKFxuICAgICAgYXdhaXQgdGhpcy51c2VyLnVwZGF0ZUN1cnJlbnQoe1xuICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzOiB7IFtrZXldOiB2YWx1ZSB9XG4gICAgICB9KVxuICAgICkuZGF0YTtcbiAgICB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLm5leHQodXBkYXRlZEN1cnJlbnRVc2VyKTtcbiAgfVxufVxuIl19