@iotize/ionic
Version:
Iotize specific building blocks on top of @ionic/angular.
49 lines • 6.78 kB
JavaScript
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=