pigallery2/src/frontend/app/ui/settings/settings.service.ts
Patrik J. Braun 4208fe7f1f refactoring config file
fixing task setting issue
2019-12-10 16:17:35 +01:00

31 lines
965 B
TypeScript

import {Injectable} from '@angular/core';
import {BehaviorSubject} from 'rxjs';
import {NetworkService} from '../../model/network/network.service';
import {IPrivateConfig} from '../../../../common/config/private/IPrivateConfig';
import {PrivateConfigDefaultsClass} from '../../../../common/config/private/PrivateConfigDefaultsClass';
@Injectable()
export class SettingsService {
public settings: BehaviorSubject<IPrivateConfig>;
private fetchingSettings = false;
constructor(private _networkService: NetworkService) {
this.settings = new BehaviorSubject<IPrivateConfig>(new PrivateConfigDefaultsClass());
}
public async getSettings(): Promise<void> {
if (this.fetchingSettings === true) {
return;
}
this.fetchingSettings = true;
try {
this.settings.next(await this._networkService.getJson<Promise<IPrivateConfig>>('/settings'));
} catch (e) {
console.error(e);
}
this.fetchingSettings = false;
}
}