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;