frpc-desktop/electron/controller/LaunchController.ts

44 lines
1.3 KiB
TypeScript

import BaseController from "./BaseController";
import FrpcProcessService from "../service/FrpcProcessService";
import ResponseUtils from "../utils/ResponseUtils";
import Logger from "../core/Logger";
class LaunchController extends BaseController {
private readonly _frpcProcessService: FrpcProcessService;
constructor(frpcProcessService: FrpcProcessService) {
super();
this._frpcProcessService = frpcProcessService;
}
launch(req: ControllerParam) {
this._frpcProcessService
.startFrpcProcess()
.then(r => {
req.event.reply(req.channel, ResponseUtils.success());
})
.catch((err: Error) => {
Logger.error("LaunchController.launch", err);
req.event.reply(req.channel, ResponseUtils.fail(err));
});
}
terminate(req: ControllerParam) {
this._frpcProcessService
.stopFrpcProcess()
.then(r => {
req.event.reply(req.channel, ResponseUtils.success());
})
.catch(err => {
Logger.error("LaunchController.terminate", err);
req.event.reply(req.channel, ResponseUtils.fail(err));
});
}
getStatus(req: ControllerParam) {
const running = this._frpcProcessService.isRunning();
req.event.reply(req.channel, ResponseUtils.success(running));
}
}
export default LaunchController;