Ajout d'une partie mise à jour automatique : plus besoin de docker pull en ligne de commande ; on peut passer par l'interface Refactoring partie Java pour respecter d'avantage le DDD : plus de jackson dans la partie domain Passage version 0.6.6
37 lines
1022 B
TypeScript
37 lines
1022 B
TypeScript
import { Injectable } from '@angular/core';
|
|
import { HttpClient } from '@angular/common/http';
|
|
import { firstValueFrom } from 'rxjs';
|
|
|
|
/**
|
|
* Configuration publique chargee une seule fois au demarrage via APP_INITIALIZER.
|
|
* Le flag demoMode bascule l'UI en mode vitrine (Settings/Export masques).
|
|
*/
|
|
export interface PublicConfig {
|
|
demoMode: boolean;
|
|
updateCheckEnabled: boolean;
|
|
}
|
|
|
|
@Injectable({ providedIn: 'root' })
|
|
export class ConfigService {
|
|
private config: PublicConfig = { demoMode: false, updateCheckEnabled: false };
|
|
|
|
constructor(private http: HttpClient) {}
|
|
|
|
async load(): Promise<void> {
|
|
try {
|
|
this.config = await firstValueFrom(this.http.get<PublicConfig>('/api/config'));
|
|
} catch {
|
|
// Si l'endpoint n'est pas joignable au boot, on reste sur le default
|
|
// (demoMode=false) pour ne pas bloquer l'app en dev.
|
|
}
|
|
}
|
|
|
|
get demoMode(): boolean {
|
|
return this.config.demoMode;
|
|
}
|
|
|
|
get updateCheckEnabled(): boolean {
|
|
return this.config.updateCheckEnabled;
|
|
}
|
|
}
|