Files
bs-manager/src/main/ipcs/bs-mods-ipcs.ts
T
frto027 57ca031e70 [feat-994] Add support for alternative mod repos (#995)
* [feat] Add support for alternative mod repos

* Fix lint errors

* Simplify code + Fix potential issues

---------

Co-authored-by: Zagrios <40181755+Zagrios@users.noreply.github.com>
2026-01-26 16:06:44 +01:00

55 lines
1.9 KiB
TypeScript

import { BsModsManagerService } from "../services/mods/bs-mods-manager.service";
import { IpcService } from "../services/ipc.service";
import { from } from "rxjs";
import { BeatModsApiService } from "main/services/mods/beat-mods-api.service";
const ipc = IpcService.getInstance();
ipc.on("bs-mods.get-available-mods", (args, reply) => {
const modsManager = BsModsManagerService.getInstance();
reply(from(modsManager.getAvailableMods(args)));
});
ipc.on("bs-mods.get-installed-mods", (args, reply) => {
const modsManager = BsModsManagerService.getInstance();
reply(from(modsManager.getInstalledMods(args)));
});
ipc.on("bs-mods.import-mods", (args, reply) => {
const modsManager = BsModsManagerService.getInstance();
reply(modsManager.importMods(args.paths, args.version));
});
ipc.on("bs-mods.install-mods", (args, reply) => {
const modsManager = BsModsManagerService.getInstance();
reply(modsManager.installMods(args.mods, args.version));
});
ipc.on("bs-mods.uninstall-mods", (args, reply) => {
const modsManager = BsModsManagerService.getInstance();
reply(modsManager.uninstallMods(args.mods, args.version));
});
ipc.on("bs-mods.uninstall-all-mods", (args, reply) => {
const modsManager = BsModsManagerService.getInstance();
reply(modsManager.uninstallAllMods(args));
});
ipc.on("bs-mods.beatmods-up", (_, reply) => {
const beatMods = BeatModsApiService.getInstance();
reply(from(beatMods.isUp()));
})
ipc.on("bs-mods.mod-repo.get-repo-list", (_, reply) => {
const beatMods = BeatModsApiService.getInstance();
reply(from(beatMods.getModRepoList()));
})
ipc.on("bs-mods.mod-repo.get-name", (_, reply) => {
const beatMods = BeatModsApiService.getInstance();
reply(from(beatMods.getSelectedModRepoAsync()));
})
ipc.on("bs-mods.mod-repo.select-name", (args, reply) => {
const beatMods = BeatModsApiService.getInstance();
reply(from(beatMods.selectModRepo(args)));
})