UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

22 lines 3.28 kB
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