@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
49 lines • 6.18 kB
JavaScript
import { Inject, Injectable, Optional } from '@angular/core';
import { of } from 'rxjs';
import { distinctUntilChanged, filter, map, shareReplay } from 'rxjs/operators';
import { AppStateService } from '../common';
import { gettext } from '../i18n';
import { VERSION_MODULE_CONFIG } from './version.model';
import * as i0 from "@angular/core";
import * as i1 from "../common";
/**
* Will provide the backend versions of the tenant.
* The system option 'system' -> 'version' is used for this.
*/
export class BackendVersionFactory {
constructor(config, appState) {
this.config = config;
this.appState = appState;
this.backendVersion$ = of([]);
if (this.config?.disableBackendVersionFactory) {
return;
}
this.backendVersion$ = this.appState.state$.pipe(map(state => state?.versions?.backend), filter(backendVersion => !!backendVersion), distinctUntilChanged(), map(backendVersion => this.buildBackendVersion(backendVersion)), shareReplay(1));
}
get() {
return this.backendVersion$;
}
buildBackendVersion(backendVersion) {
return {
label: gettext('Backend'),
version: backendVersion,
priority: 20,
type: 'SYSTEM',
hidden: true
};
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BackendVersionFactory, deps: [{ token: VERSION_MODULE_CONFIG, optional: true }, { token: i1.AppStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BackendVersionFactory, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BackendVersionFactory, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: () => [{ type: undefined, decorators: [{
type: Optional
}, {
type: Inject,
args: [VERSION_MODULE_CONFIG]
}] }, { type: i1.AppStateService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC12ZXJzaW9uLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3ZlcnNpb24vYmFja2VuZC12ZXJzaW9uLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxXQUFXLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQWdDLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUV0Rjs7O0dBR0c7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQ3FELE1BQTJCLEVBQ3RFLFFBQXlCO1FBRGtCLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQ3RFLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBSG5DLG9CQUFlLEdBQW9DLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUt4RCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQztZQUM5QyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUM5QyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUN0QyxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQzFDLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUMvRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxjQUFzQjtRQUNoRCxPQUFPO1lBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDekIsT0FBTyxFQUFFLGNBQWM7WUFDdkIsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsUUFBUTtZQUNkLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQztJQUNKLENBQUM7K0dBOUJVLHFCQUFxQixrQkFHVixxQkFBcUI7bUhBSGhDLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlLCBFeHRlbnNpb25GYWN0b3J5IH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICcuLi9pMThuJztcbmltcG9ydCB7IFZlcnNpb24sIFZlcnNpb25Nb2R1bGVDb25maWcsIFZFUlNJT05fTU9EVUxFX0NPTkZJRyB9IGZyb20gJy4vdmVyc2lvbi5tb2RlbCc7XG5cbi8qKlxuICogV2lsbCBwcm92aWRlIHRoZSBiYWNrZW5kIHZlcnNpb25zIG9mIHRoZSB0ZW5hbnQuXG4gKiBUaGUgc3lzdGVtIG9wdGlvbiAnc3lzdGVtJyAtPiAndmVyc2lvbicgaXMgdXNlZCBmb3IgdGhpcy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQmFja2VuZFZlcnNpb25GYWN0b3J5IGltcGxlbWVudHMgRXh0ZW5zaW9uRmFjdG9yeTxWZXJzaW9uPiB7XG4gIGJhY2tlbmRWZXJzaW9uJDogT2JzZXJ2YWJsZTxWZXJzaW9uIHwgVmVyc2lvbltdPiA9IG9mKFtdKTtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChWRVJTSU9OX01PRFVMRV9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBWZXJzaW9uTW9kdWxlQ29uZmlnLFxuICAgIHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZVxuICApIHtcbiAgICBpZiAodGhpcy5jb25maWc/LmRpc2FibGVCYWNrZW5kVmVyc2lvbkZhY3RvcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5iYWNrZW5kVmVyc2lvbiQgPSB0aGlzLmFwcFN0YXRlLnN0YXRlJC5waXBlKFxuICAgICAgbWFwKHN0YXRlID0+IHN0YXRlPy52ZXJzaW9ucz8uYmFja2VuZCksXG4gICAgICBmaWx0ZXIoYmFja2VuZFZlcnNpb24gPT4gISFiYWNrZW5kVmVyc2lvbiksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgbWFwKGJhY2tlbmRWZXJzaW9uID0+IHRoaXMuYnVpbGRCYWNrZW5kVmVyc2lvbihiYWNrZW5kVmVyc2lvbikpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8VmVyc2lvbiB8IFZlcnNpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRWZXJzaW9uJDtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRCYWNrZW5kVmVyc2lvbihiYWNrZW5kVmVyc2lvbjogc3RyaW5nKTogVmVyc2lvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsOiBnZXR0ZXh0KCdCYWNrZW5kJyksXG4gICAgICB2ZXJzaW9uOiBiYWNrZW5kVmVyc2lvbixcbiAgICAgIHByaW9yaXR5OiAyMCxcbiAgICAgIHR5cGU6ICdTWVNURU0nLFxuICAgICAgaGlkZGVuOiB0cnVlXG4gICAgfTtcbiAgfVxufVxuIl19