create service to manage bs versions in front

This commit is contained in:
MathieuG-P
2022-05-22 22:56:42 +02:00
parent 636f9fe9a2
commit 14fd1de2e3
@@ -0,0 +1,38 @@
import { BSVersion } from "../../main/services/bs-version-manager.service";
import { BehaviorSubject } from "rxjs";
export class BSVersionManagerService {
private static instance: BSVersionManagerService;
public readonly installedVersions$: BehaviorSubject<BSVersion[]> = new BehaviorSubject([]);
public readonly availableVersions$: BehaviorSubject<BSVersion[]> = new BehaviorSubject([]);
private constructor(){
window.electron.ipcRenderer.on('bs-version.request-versions', (versions: BSVersion[]) => {
this.availableVersions$.next(versions);
console.log("ouiiii");
console.log(this.availableVersions$.value);
});
window.electron.ipcRenderer.on('bs-version.installed-versions', (versions: BSVersion[]) => {
this.installedVersions$.next(versions);
});
this.askAvailableVersions();
this.askInstalledVersions();
}
public static getInstance(){
if(!BSVersionManagerService.instance){ BSVersionManagerService.instance = new BSVersionManagerService(); }
return BSVersionManagerService.instance;
}
public askAvailableVersions(): void{
window.electron.ipcRenderer.sendMessage("bs-version.request-versions", null);
}
public askInstalledVersions(): void{
window.electron.ipcRenderer.sendMessage("bs-version.installed-versions", null);
}
}