UNPKG

@iotize/ionic

Version:

Iotize specific building blocks on top of @ionic/angular.

49 lines 6.78 kB
import { Injectable } from '@angular/core'; import { sleep } from '@iotize/common/utility'; import { ADMIN_USER } from '@iotize/tap/configurator'; import { map, shareReplay } from 'rxjs/operators'; import { FACTORY_RESET_MODE_VERSION } from './config-version'; import { CurrentDeviceService } from './current-device.service'; import { TapInfo } from './tap-info/keys'; import { TapInfoCacheService } from './tap-info/tap-info-cache.service'; import * as i0 from "@angular/core"; import * as i1 from "./current-device.service"; import * as i2 from "./tap-info/tap-info-cache.service"; export class TapAdministrationService { constructor(_deviceService, tapInfoCacheService) { this._deviceService = _deviceService; this.tapInfoCacheService = tapInfoCacheService; this.isLoggedAsAdmin = this._deviceService.sessionState.pipe(map((sessionState) => { return sessionState.name === ADMIN_USER.username; })); this.factoryResetStateChange = this.tapInfoCacheService .valueChange(TapInfo.configVersion) .pipe(map((v) => { return v === FACTORY_RESET_MODE_VERSION; }), shareReplay(1)); } async factoryReset() { await this._deviceService.executeFactoryReset(); this.tapInfoCacheService.reset(); } async reboot() { await this._deviceService.reboot(); this.tapInfoCacheService.reset(); } async rebootAndReconnect() { await this._deviceService.reboot(); await sleep(5000); try { await this._deviceService.connect(); } catch (err) { console.warn('Failed to reconnect after reboot', err); } } } /** @nocollapse */ TapAdministrationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TapAdministrationService, deps: [{ token: i1.CurrentDeviceService }, { token: i2.TapInfoCacheService }], target: i0.ɵɵFactoryTarget.Injectable }); /** @nocollapse */ TapAdministrationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TapAdministrationService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TapAdministrationService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.CurrentDeviceService }, { type: i2.TapInfoCacheService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLWFkbWluaXN0cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pb3RpemUtaW9uaWMvc3JjL2xpYi90YXAtYWRtaW5pc3RyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFHeEUsTUFBTSxPQUFPLHdCQUF3QjtJQWdCbkMsWUFDVSxjQUFvQyxFQUNwQyxtQkFBd0M7UUFEeEMsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBQ3BDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFqQmxELG9CQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNyRCxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUNuQixPQUFPLFlBQVksQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsNEJBQXVCLEdBQXdCLElBQUksQ0FBQyxtQkFBbUI7YUFDcEUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7YUFDbEMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1IsT0FBTyxDQUFDLEtBQUssMEJBQTBCLENBQUM7UUFDMUMsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFLRCxDQUFDO0lBRUosS0FBSyxDQUFDLFlBQVk7UUFDaEIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTTtRQUNWLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25DLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLElBQUk7WUFDRixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDckM7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDOzt5SUF2Q1Usd0JBQXdCOzZJQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNsZWVwIH0gZnJvbSAnQGlvdGl6ZS9jb21tb24vdXRpbGl0eSc7XG5pbXBvcnQgeyBBRE1JTl9VU0VSIH0gZnJvbSAnQGlvdGl6ZS90YXAvY29uZmlndXJhdG9yJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGQUNUT1JZX1JFU0VUX01PREVfVkVSU0lPTiB9IGZyb20gJy4vY29uZmlnLXZlcnNpb24nO1xuaW1wb3J0IHsgQ3VycmVudERldmljZVNlcnZpY2UgfSBmcm9tICcuL2N1cnJlbnQtZGV2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFwSW5mbyB9IGZyb20gJy4vdGFwLWluZm8va2V5cyc7XG5pbXBvcnQgeyBUYXBJbmZvQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnLi90YXAtaW5mby90YXAtaW5mby1jYWNoZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhcEFkbWluaXN0cmF0aW9uU2VydmljZSB7XG4gIGlzTG9nZ2VkQXNBZG1pbiA9IHRoaXMuX2RldmljZVNlcnZpY2Uuc2Vzc2lvblN0YXRlLnBpcGUoXG4gICAgbWFwKChzZXNzaW9uU3RhdGUpID0+IHtcbiAgICAgIHJldHVybiBzZXNzaW9uU3RhdGUubmFtZSA9PT0gQURNSU5fVVNFUi51c2VybmFtZTtcbiAgICB9KVxuICApO1xuXG4gIGZhY3RvcnlSZXNldFN0YXRlQ2hhbmdlOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy50YXBJbmZvQ2FjaGVTZXJ2aWNlXG4gICAgLnZhbHVlQ2hhbmdlKFRhcEluZm8uY29uZmlnVmVyc2lvbilcbiAgICAucGlwZShcbiAgICAgIG1hcCgodikgPT4ge1xuICAgICAgICByZXR1cm4gdiA9PT0gRkFDVE9SWV9SRVNFVF9NT0RFX1ZFUlNJT047XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9kZXZpY2VTZXJ2aWNlOiBDdXJyZW50RGV2aWNlU2VydmljZSxcbiAgICBwcml2YXRlIHRhcEluZm9DYWNoZVNlcnZpY2U6IFRhcEluZm9DYWNoZVNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGZhY3RvcnlSZXNldCgpIHtcbiAgICBhd2FpdCB0aGlzLl9kZXZpY2VTZXJ2aWNlLmV4ZWN1dGVGYWN0b3J5UmVzZXQoKTtcbiAgICB0aGlzLnRhcEluZm9DYWNoZVNlcnZpY2UucmVzZXQoKTtcbiAgfVxuXG4gIGFzeW5jIHJlYm9vdCgpIHtcbiAgICBhd2FpdCB0aGlzLl9kZXZpY2VTZXJ2aWNlLnJlYm9vdCgpO1xuICAgIHRoaXMudGFwSW5mb0NhY2hlU2VydmljZS5yZXNldCgpO1xuICB9XG5cbiAgYXN5bmMgcmVib290QW5kUmVjb25uZWN0KCkge1xuICAgIGF3YWl0IHRoaXMuX2RldmljZVNlcnZpY2UucmVib290KCk7XG4gICAgYXdhaXQgc2xlZXAoNTAwMCk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuX2RldmljZVNlcnZpY2UuY29ubmVjdCgpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS53YXJuKCdGYWlsZWQgdG8gcmVjb25uZWN0IGFmdGVyIHJlYm9vdCcsIGVycik7XG4gICAgfVxuICB9XG59XG4iXX0=